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

2017年东北师范大学C++程序设计考研复试核心题库

  摘要

一、选择题

1. 若有说明和语句:

A. B. C. 的地址

D. 不确定的值 【答案】A

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

第六个元素自动赋值为

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

指向字符串第六个元素。

2. 以下不属于C 语言位运算符的是( )。

A.! B. C.

D. 〜 【答案】A

【解析】c 语言常用的位运算符有:”按位求反,“<<”左移,“>>”右移,

按位与

按位异或,“”按位或。A 项“!”为逻辑运算符“非”。 3 设有如下定义

.则以下错误引用结构体成员n 的是( )。

【答案】A

【解析】可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:①结构体变量名. 成员名;②指针变量名->成员名;③(*指针变量名). 成员名。题目中a 为数组名是地址常量,不是指针变量,A 项引用错误。a[0]为变量名,B 项引用正确。p 为指针,且正确的指向结构体变量,C 项引用正确。D 项符合第三种引用方式,引用正确。

4. 有以下程序

第 2 页,共 24 页

则此时中的值为( )。

程序运行后的输出结果是( )。 A.15 B.21 C.20 D.31

【答案】C

【解析】函数的嵌套调用,fim 函数的作用是计算两个整数的和,

5. 以下定义语句中正确的是( )。

【答案】C

【解析】C 项正确,int 转换成char 类型时,按照ASCII 码表进行转换,65表示’A ’,66表示‘B ’,等价于A=‘B ’。A 项错误,b ,c 都是float*类型

,的结束,应改成逗号。

6. 有以下程序:

程序的运行结果是( )。 A.246 B.135 C.123 D.456 【答案】A

【解析】程序执行过程为:定义二维数组s 与指针数组ps , for循环实现将二维数组每一行的首地址赋值给 对应的指针数组元素,然后输出二维数组每行的第二个元素。程序的运行结果是246。

第 3 页,共 24 页

等价于

然后执行等于7,

法把float**转换成float*。B 项错误,b 未定义,可改成inta ,b ; a=b=0; D 项错误,分号表示语句

7. 下面结构体的定义语句中,错误的是。

【答案】B

【解析】C 语言中结构体变量的定义有三种方法:定义结构体类型的同时定义结构体变量;使用无名结构体类型定义结构体变量;先定义结构体类型,后定义结构体变量。

8. 有以下程序:

程序运行的结果是( )。 A.10, 1 B.20, 1 C.10,2 D.20, 2 【答案】C

【解析】题目首先定义结构体st 的同时定义结构体数组data ,可

结构体指针p 指向数组的首地址,指向

的第二个元素data[l],

然后输出

即输出

则指向数组

所以分别为10和2。

二、设计题

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

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

试题程序:

第 4 页,共 24 页