D) 10,10,16
10、已知各变量的类型定义如下:
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
则以下两组表达式中不符合 C 语言语法的表达式分别是:
A)k=i++ B)(int)x+0.4 C)y+=x++ D)a=2*a=3⑴
A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)⑵
、在 语言中,合法的字符常量是
3?$@ 3?8,@ 3@ 4?5
【答案】
【解析】字符常量是用单引号括起来的一个字符,据此定义,选项 和 显然错误。 和 是转义字符。
转义字符是一种特殊的字符常量,以反斜线&?&开头,后跟一个或几个字符,它有两种写作形式,? 和?
8,其中 和 分别为八进制和十六进制的 -AA 代码。 选项’?$#,反斜线’?#之后是三位数字,
是采用的? 形式,不过 $ 作为八进制显然是错误的; 项’?8,#,采用的?8 形式,, 作为两位十六
进制数,对应 -AA 代码 ,对应的是字符’#。
、设有如下的变量定义B
6$%C%%7
*+)2+D697
*2)86%%:697
则以下符合 语言语法的表达式是
;6E66=6, 8<E,7
6=,6 :62
【答案】
【解析】 项是赋值表达式和算术表达式的结合,符合 语言语法; 项中,’<#是模运算符,要求运算符
两侧均为整数,8 为 *2),显然错误; 项是赋值表达式,要求赋值运算符的左侧是变量,,6 部分显
然错误; 项,强制类型转换运算符使用错误,应为 :6(2)
,、以下程序运行后%输出结果是
)字符 的 -AA 码值 字符 的地址 出错
F=6&)&7
;67
&<2?&%7
G
【答案】
【解析】=6&)&,声明 是一个字符串指针,并且将字符数组&)&的首地址赋值给了
,;6,即是在原来的 地址上向前推进两个字节,又因为数组是在连续空间上存储的一组数据,且一
个字符占一个字节,那么也就等价于由数组的第一个字节地址推进到第三个字符的地址,即字符 的地址。
答案为
、当 的值不为 时,在下列选项中能正确将 的值赋给变量 、 的是
H66;H6HI6H;
H6HJJ6;H66;
【答案】
【解析】赋值运算符是自右向左运算的。 项是将 的值赋给了 ,又将 的值赋给了 ,与题意不符;
项和 项都是逻辑运算,且都自左向右运算,它们的区别是:或运算是先计算左边表达式的值,若为真,
则结束运算,若为假,继续计算右边表达式%所以,如果 6 为真(只需要 K),那么 6 语句不会执
评论0
最新资源