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

2017年江西财经大学软件与通信工程学院830C语言程序设计(教技)考研导师圈点必考题汇编

  摘要

一、选择题

1. 以下叙述中错误的是( )。

A. 在程序中凡是以“#”开始的语句行都是预处理命令行

B. 预处理命令行的最后不能以分号表示结束

C.#defineMAX是合法的宏定义命令行

D.C 程序对预处理命令行的处理是在程序执行的过程中进行的

【答案】D

,其中的末尾不得用“;【解析】在C 语言中,以“#”开头的行都称为“编译预处理命令行””

结束,区别语句的定义和说明语句。C 项,中的宏定义为不带参数的宏命令行,宏名之后可以有替换文本,也可以没有。编译预处理是在编译程序对C 源程序进行编译前执行的。

2. 关于C 语言中数的表示,以下叙述中正确的是( )。

A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差

B. 只要在允许范围内整型和实型都能精确表示

C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差

D. 只有八进制表示的数才不会有误差

【答案】A

【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以 表示任意一个整数。

3. 有以下程序:

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

【答案】A

【解析】在for 循环中,对3个结构体元素y 值转换成2进制数后向右移一位,再对此时x ,y 值依次进行

4. 有以下程序

当执行程序时,按下列方式输入数据(从第1列开始,

字符)

则输出结果是( )。

A.12

3

B.12

C.1234

D.12

34

【答案】A

【解析】回车和换行也是字符,会被scanf 函数取字符时取到。所以,a=l, b=2,

5. 若有以下程序段:

输出结果是。

A.16

B.8

C.4

D.2

【答案】C

【解析】C 语言中,右移运算符是将变量转换成二进制,然后右移相应位数,将移出的位信息舍去,并在高位补0, 将所得的结果再赋值给变量。本题十进制数8转换为二进制数为00001000, 右移一位得到00000100, 再转换成十进制数就是4。

代表回车,注意,回车也是一个d=3

6. 有以下程序

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

A.3 5 7

B.7 5 3

C.3 6 9

D.7 5 1

【答案】A

【解析】依次输出

7. 以下选项中,合法的C 语言实数是( )。

A.3.1e0.4

B..2e0

C.E13

D.7.12E

【答案】B

【解析】实型常量指数形式由十进制数加阶码标志“e ”或“E ”以及阶码(只能为整数,可以带符号)组成。.2e0为指数形式实数,B 项正确。3.1e0.4, 阶数不是整数,A 项错误。E13阶码标志前缺少十进制数,C 项错误。7.12E 缺少阶码,D 项错误。

8. 有以下程序:

若运行时输入:35〈回车>,则输出结果是( )。

A.123

B.2

C.3

D.1

【答案】D

【解析】程序执行过程为:输入35<回车>, scanf 函数从键盘读人35赋值给x=35, 对if 条件进行判断,35>10, 条件成立,输出1,不再执行下面的elseif 语句,程序结束,输出结果为1, 故D