2017年武汉大学测绘遥感信息工程国家重点实验室968C语言程序设计[专业硕士]考研仿真模拟题
● 摘要
一、选择题
1. 有以下程序:
程序的运行结果是( )。
A.3
B.5
C.6
D. 结果不确定
【答案】A
【解析】( )的优先级大于*,故先将1.99强制转化为1,即浮点数1.99被强制转换成1,执行语句a=(int )1.99*3;计算得a=lX3=3。
2. 以下叙述中错误的是( )。
A. —个C 程序可以包含多个不同名的函数
B. —个C 程序只能有一个主函数
C.C 程序在书写时,有严格的缩进要求,否则不能编译通过
D.C 程序的主函数必须用main 作为函数名
【答案】C
【解析】一个C 程序有且只有一个主函数main 。一个C 程序可以包含多个不同名字的子函数。C 程序在书写时没有严格的缩进要求。
3. 若有以下程序
则程序的输出结果是( )。
A.5, 1, 2, -1
B.2, 1, 2, -1
C.2, 2, 2, 4
D.1, 2, 3, 4
【答案】A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。
题目没有答案,原题可能是
输出a ,b ,c ,d
第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。
4. 若有定义语句:则执行语句:
A.-264
B.552
C.144
D.264
【答案】A
【解析】赋值运算结合性为自右向左,
5. 有以下程序:
程序运行后的输出结果是( )。
A.8,16
B.16,32
C.8,32
D.16,16
【答案】C
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA (FNB (a ))的替换过程为:FNA (2+2)替换为2+2X2+2,计
后,a 的值是( )。 相当于
自右向左计算过程为
算结果为8。FNB (FNA (b ))的替换过程为:FNB (4*4)替换为4X4+4X4=32。程序运行后的输出结果是8,32,故C 项正确。
6. 有如下程序:
程序运行后的输出结果是( )。
A.12
B.14
C.20
D.13
【答案】C
【解析】整型常量中,十进制整常量没有前缀,输出格式控制符为%山八进制整常量以0作为前缀,输出格式控制符为十六进制整常量以0X 或Ox 作为前缀,输出格式控制符为%x 。十六进制数0x13表示成十进制数为19,以十进制格式输出x+l=19+l=20,故C 项正确。
7. 若有定义
则执行表达式后a 、b 、c 的值依次为( )。
【答案】C
【解析】根据优先级规则,II 两边都是括号,则从左至右执行括号中的表达式,将的值赋值给a ,即a 为5, 不为0, 则右边的括号不需要再执行。
8. 以下程序中函数f 的功能是:当flag 为1时,进行由小到大排序;当flag 为0时,进行由大到小排序。
相关内容
相关标签