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 项错误,分号表示语句的结束,
相关内容
相关标签