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

2016年西南民族大学工程硕士(电子与通信工程)C程序设计(同等学力加试)复试笔试仿真模拟题

  摘要

一、选择题

1. 若程序中有宏定义行:

#defineN100

则以下叙述中正确的是( )。

A. 宏定义行中定义了标识符N 的值为整数100

B. 在编译程序对C 源程序进行预处理时用100替换标识符N

C. 上述宏定义行实现将100赋给标识符N

D. 在运行时用100替换标识符N

答:D

【解析】D 项正确,预处理程序对源程序中所有使用宏名的地方进行直接替换。A 项错误,宏定义没有类型限制;B 项错误,预处理程序进行宏替换,而非编译程序;C 项错误,宏定义不是赋值操作,而是进行在预编译时进行替换。

2. 以下叙述中错误的是( )。

A. 算法正确的程序最终一定会结束

B. 算法正确的程序可以有零个输出

C. 算法正确的程序可以有零个输入

D. 算法正确的程序对于相同的输入一定有相同的结果

答:B

【解析】算法的5个特性:①有穷性;②确定性;③可行性;④有零个或多个输入;⑤有一个或多个输出。

3. 以下叙述正确的是( )。

A. 在C 语言中调用fopen 函数就可把程序中要读、写的文件与磁盘上实际的数据文件联系起来

B.fopen 函数的调用形式为:fopen (文件名)

C.fopen 函数的返回值为NULL 时,贝誠功打开指定的文件

D.fopen 函数的返回值必须赋给一个任意类型的指针变量

答:A

【解析】C 语言中打开一个文件通过系统函数fopen 实现,通过这个函数把程序中要读、写的文件与磁盘上实际的数据文件联系起来,A 项正确。B 项函数调用中缺少参数“操作方法”,错误。fopen 函数返回一个指向指定文件的文件指针,如果不能实现打开指定文件的操作,则返回

C 项错误。fopen 函数的返回值必须赋给一个文件类型的指针变量,D 项错误。 一个空指针NULL ,

4. 有以下程序:

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

A. B. C. D.

答:C

【解析】本⑨题将两个字符串常量复制给一个二维字符数组,用字符常量为字符数组赋值会在最后加上一个

休止符,故数组大小为字符的个数加1,且数组的下标从0开始计数,故p 指向第二个字符串。strlen 函 数用来计算字符串的长度,不包括休止符,因此长度为10。

5. 有以下程序

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

A.3 5 7

B.7 5 3

C.3 6 9

D.7 5 1

答:A

【解析】依次输出

6. 有以下程序:

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

A.8,16

B.16,32

C.8,32

D.16,16

答:C

【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。

7. 以下选项中正确的语句组是( )。

A. B. C. D.

答:D

【解析】字符串常量在赋值过程中给出的是这个字符串在内存中所在的一串连续存储单元的首地址。在初始 化字符串时,若选择给指针赋值字符串的方式应

三项错误,在给数组赋值

的时候应该为:

8. 有以下程序;

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

A.8

B.9

C.5

D.6

答:A

,替换过程是,用宏调用提供的实参字符串,【解析】带参数的宏的调用格式:宏名(实参表)

MUN 被置换成X2+1/2;直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。(2+1+1)

程序的运行结果是6,故D 选项正确。

或是