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

2017年郑州轻工业学院C语言程序设计复试实战预测五套卷

  摘要

一、选择题

1. 有以下程序:

程序的运行结果是( )。

A.8

B.11

C.15

D.4

【答案】C

【解析】static 变量又称为静态变量,编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元,即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值是上一次函数调用结束时的值。程序执行过程为:执行for 循环,

量i=l,for 循环实现返回2,

主函数中,调,定义静态存储类别的局部变量t=l,此变量的作用域为函数fun 中,定义局部变用函数fun (2),静态存调用函数fun (3)

返回12

,储类别的局部变量上次调用后结果t=2, 局部变量i=l,for 循环实现

最后输出t 为15,故C 项正确。

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

A. 当在程序的开头包含头文件

B. 函数可以返回地址值

C. 改变函数形参的值,不会改变对应实参的值

D. 可以给指针变量赋一个整数作为地址值

【答案】D

【解析】D 项错误,不能将一个整数直接赋给指针变量作为地址。A 项正确,NULL 是在头文件中定义的符号常量;B 项正确,函数的返回值可以是地址,即指针;C 项正确,函数调用中形参值的变化不会传递给实参。

第 2 页,共 26 页 时,可以给指针变量赋NULL

3. 有以下程序:

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

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 项正确。

4. 若有以下程序段:

输出结果是( )。

A.16

B.8

C.4

D.2

【答案】C

【解析】c 语言中是对二进制的右移运算符,右移相当于将原数做除二操作,它将原数右移相应位数,并将移出的位信息舍去,在高位补0, 将所得的结果再赋值给变量。本题中8的二进制为00001000, 右移一位得 到00000100,所以是4。

5. 有以下程序:

第 3 页,共 26 页

程序的执行结果是( )。

A. 输出321

B. 输出23

C. 不输出任何内容

D. 陷入无限循环

【答案】B 【解析】表示输出的整型变量占2列。程序执行过程为:输出x 为23, 之后x

自减得

,while 条件不成立,退出循环。 为假(0)

6. 有以下程序段:

若文件已存在,则以下叙述正确的是( )。

中的原有内容将全部消失 A. 程序运行后,文件

C. 对文件

D. 对文件

【答案】A

【解析】fopen 函数以一定方式打开指定文件,返回一个指向文件的文件指针,如果不能实现打开指定文件的操作,则返回一个空指针NULL 。如果指定文件不存在,则创建一个文件名为指定文件名的新文件,然后打开它。在指定文件有错误或者指定文件不存在却不能创建新文件的情况下,打开文件操作错误,返回空指针。本题程序中,

文件已存在,程序运行后,

文件

中的原有内容将全部消失,A 选项正确。文件原本就存在,不会导致程序出错,会按照指定的方式打开文件,B 选项错误。对文件进行写操作,只能对指针指向的位置内容进行写操作,不能随机读写,C 选项错误。对文件

件尾部,D 选项错误。

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

A. 书写风格良好的程序执行效率尚

B. 书写风格良好的程序易读性好

C.C 程序可以在一行上写多条语句

D.C 程序允许将一条语句分写在多行上

【答案】A

第 4 页,共 26 页

B. 程序运行时,会因文件存在而出错 进行写操作后,可以随机进行读取 写入的内容总是被添加到文件尾部 写入的内容写到指针所指向的位置,而不是添加在文