非常好的C语言章节习题集带答案课案
#include <stdio.h>
main()
{ int a=10;
a=(3*5,a+4);
printf("a=%d\n",a); } //考察逗号运算符
A.a=10
B.a=14
C.a=15
D.a=19
17.若变量均已正确定义并赋值,以下合法的C语言赋值语句是________。
A.x=y=5;
B.x=n%2.5;
C.x+n=i;
D.x=5=4+1;
18.设变量已经正确定义并赋值,以下正确的表达式是________。
A.x=y*5=x+z
B.int(15.8%5)
C.x=y+z*5,++y
D.x=25%5.0
19.以下不能正确表示代数式2ab/cd的C语言表达式是________。
A.2*a*b/c/d
B.a*b/c/d*2
C.a/c/d*b*2
D.2*a*b/c*d
20.设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式________。
A.a=a-a+b
B.a-a=b
C.a=a-(a+b)
D.a=-a+b
21.设有定义:int x=2;,以下表达式中,值不为6的是________。
A.x*=x+1
B.x++,2*x
C.x*=(1+x)
D.2*x,x+=2
22.表达式(int)((double)9/2)-(9)%2的值是________。
A.0
B.3
C.4
D.5
23.若有定义 int x=10;,则表达式x-=x+x的值为________。
A.-20
B.-10
C.0
D.10
24.若有定义double a=22;int i=0,k=18;,则以下有错的语句是________。
A.a=a++,i++;
B.i=(a+k)/(k-i);
C.i=a%11;
D.i=!a;
25.以下程序运行后的结果是________。
#include <stdio.h>
main()
{ int a=2,b=2,c=2; printf("%d\n",a/b%c); }
A.0
B.1
C.2
D.3
26.若有定义int a;long b; double x,y;,则以下选项中正确的表达式是________。
A.a%(int)(x-y)
B.a=b=x,y;
C.(a*y)%b
D.y=x+y=x
27.表达式a+=a-=a=9的值是________。
A.-9
B.0
C.9
D.18
28.若有定义int a=3,b=2,c=1;,以下选项中错误的赋值表达式是________。
A.a=(b=4)=3
B.a=b=c+1;
C.a=(b=4)+c;
D.a=1+(b=c=4);
29.若有定义int x=12,y=8,z;,在其后执行语句z=0.9+x/y;,则z的值为________。
A.1 (右边表达式的值为1.9,赋值给z舍弃小数)
B.1.9
C.2
D.2.4
30.以下程序运行后输出的结果是________。
#include<stdio.h>
main()
{ int a=0,b=0,c=0;
c=(a-=a-5);(a=b,b+=4);
11