当前位置:问答库>考研试题

2017年北京理工大学生物医学工程C++语言程序设计(上机)考研复试核心题库

  摘要

一、选择题

1. 以下程序段中,不能实现条件“如果a

【答案】D

【解析】A 项:条件运算符?运算过程为:如果a>=b,x=—10, 否则x=10, 能实现题目中功能。B 项:如果a=b情况下有x=—10, 能实现题目中功能。如果a

2. 有以下程序:

程序的运行结果是( )。

A.nice

B.verynice

C.nicegood

D.verygood

【答案】D

【解析】通过赋值运算使一个字符指针指向一个字符串常量:这种形式只是将字符串“nice”首地址赋给指针,而不是将指针原本指向的单元元素改变成“nice”。程序执行过程为:定义字符数 组并且初始化为“verygood”常量,定义指针ps 使其指向数组,使ps 指向数组第5个元素,使指针指向字符串 “nice”,这并不影响s 数组任何元素值,故输出字符串8为“verygood”。

3. 若有说明和语句:A. B. C. 的地址

D. 不确定的值

第 2 页,共 24 页 则此时中的值为( )。

【解析】定义字符数组并为其初始化,str 数组前5个元素为Hello ,

第六个元素自动赋值为

定义指针使等于字符串首地址,

4. 有以下程序

则以下函数调用语句错误的是( )。 A. B. C. D.

【答案】A 【解析】

返回值是int ; 声明了一个函数指针,它可以指向一个函数,该函数的形参是两个int ,是把函数add 的地址赋给指针f ; 函数指针的调用有两种方式,出现编译错误。 和项指向字符串第六个元素。 错误,已经表示调用函数add , 返回15,

5. 程序运行后的输出结果是( )。

A.14.0

B.31.5

C.7.5

D. 程序有错无输出结果

【答案】D

【解析】宏定义有两种:无参数的宏定义,即#definePT3.5; 带参数的宏定义,不能用宏来计算,宏只能做简单的代替而不能做计算,故程序会报错。

6. 有以下程序:

程序运行后的输出结果是( )。

A.10,9

B.11,10

C.010,9

D.9,10

第 3 页,共 24 页

【解析】整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自増和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010=8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,故D 选项正确。

7. 以下不能正确表示代数式

【答案】D 【解析】与/优先级相同,所以采用左结合的方式。D 项若改为:

8. 设有如下函数定义:

若执行调用语句:

A.2

B.3

C.4

D.5

【答案】B

会返

即则函数fun ( )总共被调用的次数是( )。 则为正确。 的C 语言表达是( )。

【解析】函数fun 为递归函数,递归结束条件是k 为小于等于1的数。执行fun (3)语句时执

行时会返

即执

行时会返回1,所以函数fun 总共被调用3次。

二、设计题

9. 请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67, 则输出为asdafaaz67。注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。

试题程序:

第 4 页,共 24 页