一.选择题
1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是(   )。
A .-3  B.9  C.-12   D.6
2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为(   )。
A .1.4  B.1  C.2.0  D.2
3、有如下程序:
void main()
{
 int i,sum;
 for(i=1;i<=3;sum++)
  sum+=i;
 printf("%d\n",sum);
}
该程序的执行结果是(   )。
A .6  B.3  C.死循环  D.0
4、下列关于表达式的描述中,错误的是( )。
A . 常量和变量都是表达式。    B. 运算符类型对应表达式的类型。
C. 每一个表达式都有自己的值。  D. 表达式必须以分号结尾。
5、C语言中,合法的长整型常数是(   )。
A . '\t'   B.” A”  C.65  D.a
6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。
A .1  B.2  C.2.00000   D.2.50000
7、表达式:10!=9的值是(   )。
A . true  B. 非零值  C.0  D.1
8、以下程序的输出结果是(   )。
#include<stdio.h>
void main()
{
 printf("%d\n", NULL);
}
A . 不确定的  B.0   C.-1  D.1
9、请选出合法的C语言赋值语句。(  )
A . a=b=58  B.i++;  C. a=58,b=58  D. k=int(a+b);
10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是(   )。
A .0   B.2  C.4  D.8
11、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B. printf()括号中的内容为函数的参数。 
C. printf()括号中的内容会全部输出到控制台上。  
D. \n表示换行操作。
12、下列选项中,哪一项不是C语言中的位运算符()。
A .&  B.|| C.~  D.^
13、以下程序的输出结果是(   )。
void main()
{printf输出格式 d
 char c='z';
 printf("%c", c-25);
}
A .a  B.Z  C.z-25  D.y
14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(   )。
A . a<>0  B. !a  C. a=0  D. a
15、以下循环体的执行次数是(   )。
void main()
{
 int i,j;
 for (i=0,j=1; i<=j+1; i+=2,j--)
  printf("%d\n",i);
}
A .3  B.2  C.1   D.0
16、下列运算符中优先级最高的是(   )。
A .||  B.&&  C.+   D.=
17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A'); 那么输出结果是(   )。
A .2,M  B.3,E   C.2,E  D. 输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1; 那么执行后,c3中的值是(   )。
A .0   B.0.5  C.1  D.2
19、若变量a是int类型,并执行了语句:a='A'+1.6; 则下列描述中,正确的是(   )。
A . a的值是字符’C'  B. a的值是浮点型
C. 不允许字符型和浮点型相加  D. a的值是字符’A’的ASCII值加上1
20、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是(  )
A . 最多执行10次 B. 最多执行9次  C. 是无限循环  D. 循环体一次也不执行
21、假定有以下变量定义: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)
22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是(   )。
void main()
{
 int x;
 scanf("%d",&x);
 if (x++ > 5)
  printf("%d",x);
 else
  printf("%d\n",x--);
}
A . 7和5  B. 6和3  C. 7和4  D. 6和4
23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2 的值是(   )。
A . 1  B. 2  C. 2.0   D. 2.5
24、执行下面程序片段的结果是(   )。
int x=23;
do
{
 printf("%2d",x--);
} while (!x);
A . 打印出321  B. 打印出23   C. 不打印任何内容  D. 陷入死循环
25、以下选项中合法的字符常量是(   )。
A . "B"  B. '\010'   C. 68  D. D
26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。
A . 101  B. 1  C. 11  D. 5
27、下列说法中正确的是(   )。
A . 在switch语句中一定要使用break语句
B. 在switch语句中不一定要使用break语句
C. break语句是switch语句的一部分 
D. break只能用于switch语句中
28、假设有如下的变量定义:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是(   )。
A . a+=a-=(b=4)*(a=3)   B. x%(-3)
C. a=a*3=2    D. y=float(i)
29、若a为int型变量,则下列C语言表达中,不能表达数学关系式10<a<15的是()。
A . 10<a<15
B. a==11||a==12||a==13||a==14
C. a>10&&a<15 
D. !(a<=10)&&!(a>=15)
30、表示关系x<=y<=z的C语言表达式为(   )。
A . (X<=Y)&&(Y<=Z)
B. (X<=Y)AND(Y<=Z)
C. (X<=Y<=Z)
D. (X<=Y)&(Y<=Z)
二.判断题
1、C语言属于机器语言。( ×
2、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。(
3、在C语言中转义字符有特殊的含义,它以反斜杠\开头,后面接特定的字符。(
4、机器语言是由二进制数0和1组成的一串指令。(
5、continue只能用于循环语句。( ×
6、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。(
7、将浮点型数据转换为整型数据时,小数点后的数会进行四舍五入。( ×
8、字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的双引号(  )引起来。(×  )
9、通常将不可改变的数值称为常量。(
10、变量虽有不同的数据类型,但它们所占内存的大小是一样的。( ×
11、位运算符“<<”就是将操作数所有二进制位向左移动一位。运算时,右边的空位补0。左边移走的部分舍去。(  )
12、十进制数10转换为二进制为1010。(
13、计算机使用特定的整数编码来表示对应的字符,我们通常使用的英文字符编码是ASCII。( 
14、逻辑运算符用于判断数据的真假,其结果为“真”或“假”。(
15、十进制转换成二进制可以采用除2取余的方式。(    )
16、变量的值保存在内存单元上,是可以被改变的。(    )
17、十进制和二进制只是针对数字的不同表示方式,无论采用哪种方式表示一个数,它的值都是一样的。(
18、位运算符是针对二进制数的每一位进行运算的符号,是专门针对数字0和1进行操作的。(
19、sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数。(
20、两个二进制数进行“|”运算,如果二进制位上只有一个值为1,则该位的运行结果为0。( ×
三.填空题
1、在C语言中根据运算符进行运算需根据变量的个数可以将运算符分为单目运算符、双目运算符和( 三目  )运算符。
2、定义变量int x = 1.20,则%d格式输出x的结果为(  )。
3、运算符“||”表示或操作,当且仅当运算符两边的表达式结果都为假时,其结果为(    )。
4、运算符“&&”表示与操作,当且仅当运算符两边的表达式结果都为真时,其结果才为(    )
,否则结果为假。
5、若有定义int x = 7;则表达式x/=3;的值为(  2 )    。
6、计算机语言可分为三大类,即机器语言、汇编语言和 (  高级语言 )。
7、在进行取模运算时,运算结果的正负取决( 被模数 )的符号,与模数的符号无关。
8、在进行除法运算时,当除数和被除数都为整数时,得到的结果也是一个(  整数 )。
9、C语言中的数据类型可分为4种,分别是( 基本类型 )、构造类型、指针类型、空类型。
10、注释有两种类型,分为(    单行注释   )和多行注释。
11、整型变量是用来存储整型数据,(  实型    )变量用来存储小数类型。
12、实型常量也称为浮点数常量,可以分为单精度浮点数和( 双精度   )两种类型。