2012年计算机等级考试二级C语言模拟练习1_第3页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2012年11月12日


   (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的值是浮点型

相关文章