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