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

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时,进行由大到小排序。