非常好的C语言章节习题集带答案 下载本文

4.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是______。

A.'x'&&'y' B.x<=y C.x||y+z&&y-z D.!((x

5.执行以下程序段后,x的值为______。

int a=14,b=15,x; char c='A';

x=(a&&b)&&(c<'B'); A.true B.1 C.false 6.下列表达式中,______不是关系表达式。

A.x%2= =0 B.!(x%2) C.(x/2*2-x)= =0 D.x%2!=0 7.执行以下程序后,输出的结果是______。

include \main()

{ int a=2,b=-1,c=2;

if(a

A.0 B.1 C.2 D.3 8.执行以下程序后,输出的结果是______。

include \main()

{ int w=4,x=3,y=2,z=1;

printf(\

A.4 B.2 C.1 D.3 9.执行以下程序段后,输出结果是______。

int a=3,b=5,c=7; if(a>b) a=b;c=a; if(c!=a) c=b;

printf(\

A.程序段有语法错误 B.3,5,3 C.3,5,5 D.3,5,7 10.下面程序段的输出结果是______。

int a=-1,b=4,k;

17

D.0

k=(a++<=0)&&(!b--<=0); printf(\

A.0,0,3 B.0,1,2 C.1,0,3 D.1,1,2

11.若有定义:float x=1.5;int a=1,b=3,c=2; ,则正确的switch语句是______。

A.switch(x) B.switch(int(x))

{ case 1.0: printf(\

case 2.0: printf(\} }

C.switch(a+b) D.switch(a+b)

{ case 1: printf(\

case 2+1: printf(\} }

12.下面程序段的输出结果是______。

int n='c';

switch(n++) // n先用,后自增(n=’c’)。 {default: printf(\ case 'a': case 'A': case 'b':

case 'B': printf(\case 'c':

case 'C': printf(\case 'd':

case 'D': printf(\

A.passwarn B.passerror C.goodpasswarn D.pass 13.下述程序段的输出结果是_______。

int a=2,b=3,c=4,d=5; int m=2,n=2;

a=(m=a>b)&&(n=c>d)+5; printf(\

A.2,5 B.0,5 C.2,6 D.0,6 14.若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是_______。

A.0 B.1 C.2 D.不能确定 15.已知int x=10,y=20,z=30;,以下语句执行后x,y,z的值是_______。

if(x>y)

z=x; x=y; y=z;

printf(\

A.10,20,30 B.20,30,20

18

C.20,30,10 D.20,30,30

16.当a=1,b=3,c=5,d=4,x=0时,执行完下面一段程序后x的值是_______。

if(a>b) if(cc) if(b

A.7 B.2 C.3 D.6

17.设变量a、b、c、d和y都已经正确定义并赋值,则以下if语句的所表示的含义是

_______。 if(a

A.a

B.a

#inlude main()

{ int x=1,y=0,a=0,b=0; switch(x)

{ case 1: switch(y)

{ case 0: a++; break; case 1: b++;break; } case 2: a++;b++;break; case 3: a++;b++; }

printf(\

A.a=1,b=0 B.a=2,b=1 C.a=1,b=1 D.a=2,b=2

19.在执行下述程序时,若从键盘输入6和8,则输出结果是_______。

#inlude main()

{ int a,b,s;

scanf(\s=a; if(a

19

s=b; s*=s;

printf(\

A.36 B.48 C.64 D.以上都不对 20.以下程序运行时,输入的值在_______范围时才会有输出结果。

#inlude main() { int x;

scanf(\if(x<=3);else

if(x!=10) printf(\

A.不等于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 21.下列程序的输出结果是_______。

#inlude main()

{ int a=0,b=0,c=0;

if(++a>0||++b>0) ++c; //短路运算,++b未作运算。 printf(\

A.0,0,0 B.1,1, C.1,0,1 D. 0,1,1

22.有定义语句:int a=1,b=2,c=3;,则以下_______对应的表达式的值不为真。

A.a!= 'a' B.a+b-c!='0'-48 C.c-a=='C'-'A' D.c<='7'+'0' 23.下列程序的输出结果是_______。

#inlude main()

{ int i=1,j=2,k=3;

if(i++==1&&(++j= =3||k++==3)) //短路运算,k=k+3 未作运算。 printf(\

A.1 2 3 B.2 3 4 C.2 2 3 D. 2 3 3 24.当变量c的值不为2、4、6时,值也为“真”的表达式是_______。

A.(c==2)||(c==4)||(c==6)

B.(c>=2&&c<=6)||(c!=3)||(c!=5) C.(c>=2&&c<=6)&&!(c%2) D.(c>=2&&c<=6)&&(c%2!=1)

25.下列程序的输出结果是_______。 main()

{ int a=5,b=4,c=3,d=2;

if(a>b>c) printf(\

else if((c-1>=d)==1) printf(\

20