一.选择题
1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。 A .-3
2、若有定义:int a=8, b=5, c; 执行语句 c=a/b+; 后,c的值为( )。 A . 3、有如下程序: void main() {
int i,sum; for(i=1;i<=3;sum++) sum+=i;
printf(\}
该程序的执行结果是( )。 A .6 C.死循环
4、下列关于表达式的描述中,错误的是( )。
A . 常量和变量都是表达式。 B. 运算符类型对应表达式的类型。C. 每一个表达式都有自己的值。 D. 表达式必须以分号结尾。 5、C语言中,合法的长整型常数是( )。 A . '\\t' B.” A”
6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 A .1 、表达式:10!=9的值是( )。 A . true B. 非零值 8、以下程序的输出结果是( )。 #include<> void main() {
的值是()。 printf(\NULL); }
A . 不确定的
9、请选出合法的C语言赋值语句。( ) A . a=b=58 ++; C. a=58,b=58 D. k=int(a+b);
10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是( )。 A .0
11、关于语句printf(“hello world\\n”);,下列描述中错误的是()。 A . printf()是格式化输出函数,用于输出信息。 B. printf()括号中的内容为函数的参数。 C. printf()括号中的内容会全部输出到控制台上。 D. \\n表示换行操作。
12、下列选项中,哪一项不是C语言中的位运算符()。 A .& B.|| C.~ D.^
13、以下程序的输出结果是( )。 void main() {
char c='z'; printf(\c-25); }
A .a
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(\}
A .3
16、下列运算符中优先级最高的是( )。 A .|| B.&& C.+ D.= 17
、
若
有
以
下
定
义
和
语
句
:
char c1='b',c2='e'; printf(\那么输出结果是( )。
A .2,M ,E ,E D. 输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=c2*c1; 那么执行后,c3中的值是( )。 A .0
19、若变量a是int类型,并执行了语句:a='A'+; 则下列描述中,正确的是( )。 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(\ if (x++ > 5) printf(\ else
printf(\}
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. D.
24、执行下面程序片段的结果是( )。 int x=23; do {
printf(\} while (!x);
A . 打印出321 B. 打印出23 C. 不打印任何内容 D. 陷入死循环 25、以下选项中合法的字符常量是( )。 A . \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=,y=; 则以下符合C语言语法的表达式是( )。
A . a+=a-=(b=4)*(a=3) B. x%(-3) C. a=a*3=2 D. y=float(i)