数据类型、运算符和表达式复习题
一.选择题
1. 以下不合法的用户标识符是:( )
  a)  f2_G3      b)  If      c)  4d      d)  _8
2. 以下选项中合法的用户标识符是:( )
  a)  long    b)  _2Test    c)  3Dmax    d)  A。dat
3. 以下可用作用户标识符的是:( )
  a)  12_a    b)  signed    c)  t-o      d)  _if
4。 以下不是关键字的标识符是:( )
  a)  continue    b)  char    c)  If      d)  default
5. C语言提供的合法的关键字是:( )
  a)  swicth    b)  cher    c)  Case      d)  void
6. 以下选项中不合法的int整型常数是( )
  a)  32768    b)  —56    c)  03        d)  0xAF
7。 以下合法的长整型常量是( )
  a)  2L    b)  49627    c)  34566666  d)  213&
8. 以下正确的实型常量是( )
  a)  1.2E    b)  。579899    c)  1.2e0.6  d)  8
9。 以下选项中合法的实型常数是( )
  a)  5E2。0    b)  E—3    c)  。2E0    d)  1。3E
10。 以下合法的八进制数是( )
  a)  0135    b)  068    c)  013。54    d)  o7
11。 以下合法的十六进制数是( )
  a)  0x    b)  0x4de    c)  0x1h    d)  ox77
12. 以下选项中非法的数值常量是( )
  a)  019    b)  0L    c)  0xff    d)  1e1
13。 若变量已正确定义,以下合法的赋值表达式是( )
  a)  a=1/b=2              b)  ++(a+b) 
c)  a=a/(b=5)            d)  y=int(a)+b
14。 若变量已正确定义,以下非法的表达式是( )
  a)  a/=b+c                b)  a%(4。0) 
c)  a=1/2*(x=y=20,x*3)      d)  a=b=c
15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:
整型常量合法要求
  a)  3      b)  4      c)  11    d)  12
16.设a,b均为double型,且a=5。5;b=2.5;则表达式
  (int)a+b/b的值是( )
  a)  6.500000    b)  6    c)  5.500000  d)  6。000000
17.若a为int型,且其值为3,则执行完表达式:
  a+=a-=a*a后,a的值是( )
  a)  —3      b)  9      c)  —12      d)  6 
18.设k和x均为int型变量,且 k=7; x=12;则能使
值为3的表达式是( )
a)  x%=(k%=5)            b)  x%=(k—k%5) 
c)  x%=k—k%5            d)  (x%=k)—(k%=5)
19. 若a,b,c均被定义成整型并已赋大于1的值,能正确表示代数式的C语言表达式是( )
a)  1/(float)a*b*c            b)  1/(a*b*c) 
c)  1.0/a/b/c                d)  1/a/b/(float)c
20. 以下变量x,y,z均为double型且已正确赋值,不能正确表示代数式的C语言表达式是( )
a)  x/y*z                  b)  x*(1/(y*z)) 
c)  x/y*1/z                d)  x/y/z
21. 不能正确表示代数式的C语言表达式是( )
  a)  a/(c*d)*b              b)  a*b/c/d 
c)  a*b/c*d                d)  a*b/(c*d)
22.若题中变量已正确定义并赋值,下面符合C语法的表达式是( )
  a)  a%=7.6                b)  a++,a=7+b+c 
c)  int(12。3)%4            d)  a=c+d=a+7
23. 若t已定义为double型,则表达式:t=1,t++,t+5的值为( )
  a)  7      b) 7。0      c)  2。0      d)  1。0
24. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )
  a)  a=1,b=2,  b)  y=(x%2)/10;  c)  x*=y+8;  d)  a+b=x;
25. 有以下程序:
main()
{  int y=1111;
  printf(y=%6d\n",y);
  printf(y=%+06d\n,y);
}
程序运行的结果是:( )
  a)  y=  1111  b)  y=  1111  c)  y=1111    d)  y=  1111
      y=001111    y=+01111      y=+01111      y=1111 
26。 有以下程序:
main()
{  int y=456;
  printf(*y=%7o*\n",y);
  printf(*y=%—7o*\n,y);
  printf(*y=%07o*\n,y);
}
程序运行的结果是:( )
  a)  *y=    710*            b)  *y=    456*