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
相关内容
相关标签