2016年郑州轻工业学院软件学院C语言程序设计考研复试题库
● 摘要
一、选择题
1. 以下关于typedef 的叙述错误的是( )。
A. 用typedef 为类型说明一个新名,通常可以增加程序的可读性
B.typedef 只是将已存在的类型用一个新的名字来代表
C. 用typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名
D. 用typedef 可以增加新类型
答:D
【解析】用typede 只是将已存在的类型用一个新的名字来代表,并没有增加新类型。
2. 以下叙述错误的是( )。
A. 未经赋值的全局变量值不确定
B. 未经赋值的auto 变量值不确定
C. 未经赋值的register 变量值不确定
D. 未经赋值的静态局部变量值为0
答:A
【解析】C 语言中,系统将未经赋初值的全局变量默认为0, 答案为A 选项。
3. 以下叙述中正确的是( )。
A. 在C 语言程序中,main 函数必须放在其他函数的最前面
B. 每个后缀为.C 的C 语言源程序都可以单独进行编译
C. 在C 语言程序中,只有main 函数才可以单独进行编译
D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数
答:B
main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。
后缀名为.C 的C 语言源程序都可以单独进行编译。
4. 设变量x 为long int型并已正确赋值,以下表达式中能将x 的百位上的数字提取出来的是( )。
答:D
【解析】x / 100结果的个位数上的数字是原来x 的百位数上的数字,则要得到这个数字只需
要再即可。
5. 以下合法的转义字符是( )。
A. B. C. D.
答:D 【解析】表示1到2位十六进制所代表的字符,D 项正确。
6. 以下能够实现计算5! 的程序段是( )。
答:A 【解析】,执行过程为:首先执行循环语句一般形式为:do{循环体}while(表达式)
不成立退出循环,
才因循环条件不成立退出循环,实现
错误。故选择A 选项。 循环体,之后判断表达式,成立(非0. 则再一次执行循环体,不成立(0. 则退出循环。A 选项
:判断k<5,条件成立进行下一次循环,直到项:k=2
, 循环条件成立,直到k=6,实现计算5! ,A 选项正确。B 选项:fae 从0开始,做乘法一直都是0, 无法实现5! ,错误。C 选6! , 错误。D 选项:k=0
,
7. 有以下程序段
若要求使p 指向一个int 型的动态存储单元,在横线处应填入的是( )。
A.int
B. (int*)
C.int*
D. (*int)
答:B
C 语言标准规定malloc 函数返回值的类型为void*,malloc ,【解析】函数的调用形式为:(size )
size 的类型为unsignedint 。p 是指向int 型的指针,要把void*强制转换成int*。
8. 以下关于结构化程序设计的叙述中正确的是( )。
A. —个结构化程序必须同时由顺序、分支、循环三种结构组成
B. 结构化程序使用goto 语句会很便捷
C. 在C 语言中,程序的模块化是利用函数实现的
D. 由三种基本结构构成的程序只能解决小规模的问题
之后做乘法一直为0, 无法实现
答:C
【解析】A 项错误,一个结构化程序是顺序、分支、循环三种结构的结合,不是必须由此组成;B 项错误,程序虽然能够对输入数据的各种情况进行正确的处理,但由于程序中使用goto 语句进行流程的跳转,使得程序 的执行流程混乱,程序的可读性、可维护性均较差;D 项错误,C 语言能够编写非常强大的程序。
9. 若变量已正确定义为int 型,要通过语句给a 赋值1、给b 赋值2、给c 赋值3,以下输入形式中错误的是(u 代表一个空格)( )。
答:B
【解析】scanf 函数要求除格式控制符以外的字符都要原样输入。逗号是非格式符,所以需要原样输入,否则就不能正确读入数据。B 项前两个数据后面没有紧跟一个逗号,格式不匹配所以输入形式错误。
10.以下函数的功能是计算a 的n 次方作为函数值返回:
为实现上述功能,函数中下画线处应填入的是( )。
A.
B.
C.
D.
答:B
【解析】for 循环语句,i=l时,
,最后返回s 。
二、设计题
11.请编写一个函数,用来删除字符串中的所有空格。例如,输入asdafaaz67, 则输出为asdafaaz67。注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括号中填入你编写的若干语句。
试题程序: