一、选择题
1. 以下选项中不能作为C 语言合法常量的是( )。
答:A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形式的常量,是合法的;C 项,是字符串常量;D 项,\011是表示八进制数整型常量。A 项错误,单引号表示字符常量,不能包含字符串,若要包含字符串,需用双引号。
2. 有以下程序
程序运行后的输出结果是( )。
A.15
B.21
C.20
D.31
答:C
【解析】函数的嵌套调用,fim 函数的作用是计算两个整数的和,
则
3. 有以下程序
程序运行后的输出结果是( )。
A.5
第 2 页,共 34 页 等价于
: 然后执行等于7,
B.50
C.6
D.60
答:A
【解析】最后一句应该是
指针p 指向c ,指针s 指向c[5],s-p 就是c 的地址与c[5]的地址之差(以int 的存储空间为单,s 和p 都是int 型变量s=p+5,所以s-p=5。 位)
4. 若有定义语句:且
A. B. C. D.
答:A 则错误的赋值是( )。
【解析】二维数组名是指向指针的指针,故a 和q 都为指向指针的指针,而p 为指向int 类型的指针。A 项,将一个指向int 类型的指针指向一个指针的指针。
5. 有以下程序:
程序运行的结果是( )。
A.3 3 1
B.4 1
C.2
D.1
答:D
【解析】else 子句总是与最前面最近的不带else 的if 相结合,与书写格式无关,所以本题中的else 语句与第 二个if 语句配对,且if 和else 都在第一个if 的控制范围内。首先判断立,直接退出第一个if 语句,执行
输出结果为1。
6. 以下表达式的值与X 无关、其值恒为真的是( )。
A. B. C. D.
第 3 页,共 34 页 不成的值是x 加之前的值,所以
答:A
【解析】逻辑与只有在符号两边操作均为真时,逻辑表达式为真;逻辑或当且只当
根据优先级,为0或1,均小于5, 故恒真。 符号两边操作至少有一个为真时,逻辑表达式为真。项B 、C 、D 中,使得表达式恒为真,都跟x 的取值有关,B 、C 、D 项错误;A 项,
7. 有以下程序:
程序的运行结果是( )。
A.D
B.C
C.B
D.A
答:A
【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足条件,程序跳入else 语句判定z8. 关于C 语言中数的表示,以下叙述中正确的是( )。
A. 只有整型数在允许范围内能精确无误地表示,实型数会有误差
B. 只要在允许范围内整型和实型都能精确表示
C. 只有实型数在允许范围内能精确无误地表示,整型数会有误差
D. 只有八进制表示的数才不会有误差
答:A
【解析】实型数据在内存中存储的二进制位数是有限的,而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。在整形数允许范围之内,二进制可以表示任意一个整数。
9. 以下选项中正确的定义语句是( )。
答:C
【解析】定义同一类型的变量时,不同变量之间需要用
第 4 页,共 34 页 分隔。A 项错误,a 和b 之间缺