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

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 的花括号中填入你编写的若干语句。

试题程序: