(12)变量a已被定义为整型,下列表达式不正确的是
A)a='A'+20
B)a-='a'
C)a=c+【答案】D
D)a='c'+'d'
【答案】C
【解析】在C语言中,字符变量可参与任何整数运算。本题中只有C有错,因为C选项中c、d如果是字符常量,应有单引号,如果是变量,应该提前定义。
(13)下面程序的输出结果是
#include <stdio.h>
main()
{int i=010,j=10;
printf("%d,%d",++i,j--);
}
A)11,10
B)9,10
C)010,9
D)10,9
【答案】B
【解析】程序中i的值用八进制表示(十进制为8),++i是在变量使用前自身先加1,而j--是在变量使用后自身减1。
(14)下面可以作为C语言用户标识符的一组是
A)void define WOR【答案】D
B)a3_b3 _123 IF
C)for --abc case
D)2a D0 sizeof
【答案】B
【解析】在C语言中,合法的标识符可以由字母、数字和下划线组成,其中关键字不能作为用户的标识符,且开头的第一个字符必须为字母或下划线。选项A中void为关键字;选项C中for和case为关键字;选项D中sizeof为关键字。
(15)下面哪一个不是正确的赋值语句?
A)a++;
B)a==b;
C)a+=b;
D)a=1,b=1;
【答案】B
【解析】C语言中赋值语句是由赋值表达式加“;”构成的。赋值表达式的形式为:变量=表达式;。选项A中a++相当于a+1,是赋值语句;选项C和选项D也是赋值语句。只有选项B不是,因为选项B中“==”符号是等于的意思,并不是赋值运算符。
(16)若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为
A)1.4
B)1
C)2.0
D)2
【答案】B
【解析】在表达式中根据运算的结合性和运算符的优先级,首先计算的是a/b(8/5=1),再将1+0.4赋值给c,由于c为整型变量所以要将1.4转换为整型,即舍弃小数位(c的值变为1)。
(17)若变量a是int类型,并执行了语句:a='A'+1.6;则正确的叙述是
A)a的值是字符C
B)a的值是浮点型