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

2018年空军工程大学装备管理与安全工程院876C语言程序设计与数据库技术之C程序设计考研仿真模拟五套题

  摘要

一、选择题

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

A. 如果根据算法需要使用无限循环(即通常所称的“死循环”),则只能使用while 语句

B. 对于“for (表达式1; 表达式2; 表达式3)循环体”首先要计算表达式2的值,以便决定是否开始循环

C. 对于“for (表达式1; 表达式2; 表达式3)循环体”,只在个别情况下才能转换成while 语句

D. 只要适当地修改代码,就可以将do-while 与while 相互转换

【答案】D

【解析】D 项正确,C 语言中do-while 语句和while 语句作用是等价的,二者可以经过适当的修改互换。A 项错误,do-while 和for 循环也能写成死循环;B 项错误,for 循环首先执行表达式1; C 项错误,for 循环体经过适当的修改都可以转换成while 语句。

2. 有以下程序:

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

A.0

B.1

C.4

D.8

【答案】C

【解析】对局部静态变量在编译时赋初值,以后每次调用函数时一直保持不变,只是保留上

次函数调用结束 时的值。在主函数中调用了两次fim0函数,所以x 的值变为

3 .有如下程

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

A.2.0

B.1.7

C.2

D.1

【答案】D 序

【解析】在类型转换过程中,如果较高类型转换成较低类型,直接忽略多余位数。在程序执行过程为:调用函数sub (3.8,2.1. , 3.8—2.1=1.7(double 类型),(int )强制转换将1.7转换成int 类型1, 然后返回1并输出,故D 选项正确。

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

#defineN100

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

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

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

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

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

【答案】D

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

5. 以下不能用于实型数据的运算符是( )。

A.%

B./

C.*

D.+

【答案】A

【解析】“%”符号两边必须是整数,因此答案为A 项。

6. 以下定义语句中正确的是( )。

\

【答案】C

【解析】C 项正确,int 转换成char 类型时,按照ASCII 码表进行转换,65表示

示等价于

转换成

应改成逗号。

7. 有以下程序:

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

A.3

B.2

C.1

D.0

【答案】D

【解析】C 语言的语法规定:else 子句总是与前面最近的不带else 的if 相结合,与书写格式无关。可以写成下面的形式:

)即判定为false ,y 值不发生变化,然后else 判定x==0,仍然为false ,不执行else 语句,y 值不发生变化。

8. 有如下定义:

若文件已正确打开,且数组x 的10个元素均已赋值,以下将数组元素写到文件中的语句错误的是( )。

66表A 项错误,b , c 都是float*类型,B 项错误,b 未定义,可改成是类型,错误,

无法把D 项错误,分号表示语句的结束,