第二部分 选择题
1 假设整型变量a2,使b的值为0的表达式是(  )
A)b=a/2     B)b=6-(--a)    C)b=a%2       D)b=a>3?0:1 
C  提示 正确答案为C
2. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为(    )。
A)2.5    B)2.75    C)3   D)9.5 A  提示 正确答案为A
3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是(   )。 
A)true    B)false    C)0    D) 1 D  提示 正确答案为D
4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为( )。
A)7   B)8    C)6     D)2 B  提示 正确答案为B
5. 设整型变量x的值为5y的值为2,则值为1的表达式是(   )
A)!(y==x/2)   B)y!=x%3    C)x>0&&y<0      D)x!=y||x>=y 
 6.已知a=12,表达式a+=a-=a*=a的值为(  )。
 A144     B)-12    C)0    D)24 C  提示 正确答案为C
6. 在下面C语言的函数说明语句中,正确的是(  )。
A) int fun(int x, int y); 
B) int fun(int x,y);
C) 关于printf函数正确的是int fun(x,y); 
D)  int fun(int x; int y); A  提示 正确答案为A
7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为(  )
A) int  B) float   C) double   D) 不能确定 C  提示 正确答案为C
 8. 若有int k=5; float x=1.2;则表达式(int(x+k)的值是(  )。
 A)5      B)6.2     C)7      D)6  提示 正确答案为D
 9. 表达式k=(12<10)?4:1?2:3的值为(  )。
A) 1    B) 2    C) 3   D) 4 B  提示 正确答案为B
 10. 下列哪组运算符的优先级相同且运算次序从左到右(  )。
 A () [ ] -> .     B++  -- +=
 C < &  |  ^    D&&  || A  提示 正确答案为A
11. 已知:int x=1, y=2, z=0; 则执行:z=x>y?10:20, z的值为(  )。
A10   B20     C1     D2 B  提示 正确答案为B
12. 若已定义xydouble类型,则表达式x=2y=x+10/4 的值是(  ) 。
A) 2   B) 4   C) 4.0   D) 4.5 C  提示 正确答案为C
13. sizeof''a''+10)的值为(  )类型。
Aint   B) float     C) double    D)char  提示 正确答案为A
14. 已知:int x=1, y=2, z; 则执行:z=x>y?++x:++y, z的值为(  )
(A) 1   (B) 2   (C) 3   (D) 4 C  提示 正确答案为C
15. C语言中,运算对象必须是整型数的运算符是( )。
A)%    B)/     C)%/  D)* A  提示 正确答案为A
16. 若已定义xydouble类型,则表达式:x=1,y=x+3/2的值是(  )
 A)1   B)2    C)2.0   D)2.5 C  提示 正确答案为C
17. tdouble类型,表达式t=1,t+5,t的值是(   ) 。
 A)1   B)6.0   C)1.0   D)6 C  提示 正确答案为C
 18. 在以下一组运算符中,优先级最高的运算符是(  )
 A)<=  B)=   C)%   D)&& C  提示 正确答案为C
19若有以下定义:
|   char a;int b;
     float c;
          double d;
则表达式a*b+d-c值的类型为(  )
  A)float  B)int  C)char  D)double D  提示 正确答案为D
20. 假设有int x=11; 则表达式 (x++*1/3) 的值是 (   )
A) 3   B) 12    C) 11    D) 0 A  提示 正确答案为A
21. 以下关于运算符优先顺序的描述中,正确的是( )。
A)关系运算符<算术运算符<赋值运算符     B)逻辑运算符<关系运算符<算术运算符
C)算术运算符<关系运算符<赋值运算符     D)赋值运算符<关系运算符<算术运算符
 D  提示 正确答案为D
22. sizeof (double)是一个(  )。
  A)整型表达式     B)实型表达式    C)不合法的表达式    D)函数
 A  提示 正确答案为A
23. 下面对变量赋初值正确的是(   )
 A)int a=b=c=1;        B)int a=1,b=c=2; 
 C)int a=1,b=1,c=1;      D)int a=b=1,c=2; C  提示 正确答案为C
24. C语言中,若以下变量均为int型,则下面程序段的输出结果是(  )。
     s=6u=6; u=s++;u++; 
     printf("%d",u); 
A)7    B)6   C)5    D)4 B  提示 正确答案为B
25. 若有定义:int x=3;double y; 则执行语句y=(double)x;后,变量x的数据类型为(  )。
 A)int   B)char   C)flaot   D)double A  提示 正确答案为A
26. 若有定义double x,y; 则表达式x=1,y=x+3/2的值为(  )。
 A)1    B)2     C)2.0    D)2.5 C  提示 正确答案为C
27. 若有定义int x,y,t; 则执行语句: x=y=3,t=++x||++y;后,y的值为(  )。
 A)不定值    B)4    C) 3     D)1 C  提示 正确答案为C
28. xijk都是int型变量,则计算下面表达式后,x的值为(  )。
x=(i=4,j=16,k=32) 
 A) 4    B) 16    C) 32   D) 52 C  提示 正确答案为C
29. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(  )。
 A7   B8   C6   D2 B  提示 正确答案为B
30. int a=1,则执行完循环While(a++<5);a的值是:
A)6       B)5       C)1        D)-264 A  提示  正确答案为A
31. 在下列for循环中,其循环次数是(  )。
for(x=1,y=0;(y!=123)&&(x<4); x++);
A)4  B)3    C)1   D)无数多次 B   提示  正确答案为B
32. xy均为int型变量,则执行下面的循环后,y的值为( )。
 for(y=1,x=1;y<=50;y++)
 {if (x>=10) break;
if (x%2==1) {x+=5;continue;}
  x-=3;
}
A)2  B)4  C)6  D)8 C  提示 正确答案为C
33. 执行下面程序段的结果是(  )。
int x=23;
  do 
  { printf("%2d",x--);
 }while (!x);
 (A)打印出321   (B)打印出23   (C)不打出任何内容   (D)陷入死循环
B  提示 正确答案为B
34. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式 (  )。
A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格   D) 输出错0信息  B  
提示 正确答案为B
35. putchar函数可以向终端输出一个(  )。
A) 整型变量表达式值    B) 实型变量值
C) 字符串         D) 字符或字符型变量值 D  
提示 正确答案为D
36. 请读程序片段:int i=65536; printf("%d\n",i);
上面程序片段的输出结果是(   )
A) 65536     B) 0     C) 有语法错0,无输出结果   D) -1 B  
提示 正确答案为B
37. 在下列程序段中:
    int x, y ;
 scanf("%3d*2d%d",&x,&y); 
若输入的数据为:12345678<CR>,则xy的值分别为(      )。
A) 123,456       B)123,678  C)12345 678  D)无法得到正确的值 B  
提示 正确答案为B
38. 有如下程序,输入数据12 345<CR>后,y的值是( )
#include  <stdio.h>
main()
      { int x;
          float y;
       scanf("%3d%f",&x,&y);        } 
(A)12.000000  (B)345.000000  (C)12345.000000  (D)0.000000 B  提示 正确答案为B
39. 有如下程序,若要求a1,a2,c1,c2的值分别为1020AB,正确的数据输入是( )。
    main()
     {int a1,a2;
     char c1,c2;