c语言习题册及答案 下载本文

.

A)缩排位置相同的if B)其之前最近的if C)其之后最近的if D)同一行上的if

14.有定义语句:int a =1 ,b =2,c =3,x;,则以下选项中各程序段执行后,x的值不等于3的是( )。

A)if(c

else if(b

{ int a =5,b =4,c= 3,d= 2; if (a> b> c)

printf(\);

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

printf(\);} 执行后输出结果是( )。

A)2 B)3 C)4 D)编译时有错,无结果

1 x >0

16.有一函数:y = 0 x =0 ,以下程序段中不能根据x值正确计算出y值的是( )-1 x <0

A)if(x >0) y =1; B)y =0;

else if(x = =0) y =0; if(x >0) y =1;

else y = -1; else if (x <0) y = -1; C)y=0; D)if(x > =0)

if(x > =0) if(x >0) y =1; if(x >0) y =1; else y =0;

else y =-1; else y = -1; 17.与y=(x >0?1:x <0? -1:0);的功能相同的if语句是( )。 A)if(x >0) y =1; B)if(x)

else if(x<0) y = -1; if(x >0) y=1;

else y =0; else if(x <0) y = -1; else y =0;

C)y = -1; D)y =0;

if(x) if(x > =0)

.

.

if (x >0)y =1; if(x >0) y =1;

else if(x = =0) y =0; else y = -1; else y = -1;

18.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为( )。 if (a

if (c

if(b < d) x = 2; else x = 3; else x = 6; else x = 7;

A)1 B)2 C)3 D)6

19.为了使输出结果为:t=4,则给a和b输入的值应满足的条件是( )。 A)a>b B)a a>b void main() { int s,t,a,b;

scanf (\); s =1;t =1; if(a>0) s=s+1; if (a>b) t=s+1;

else if(a==b) t=5; else t=2*s;

printf(\);} 20.对下述程序,( )是正确的判断 #include void main() {int x,y;

scanf(“%d,%d”,&x,&y); if(x>y) x=y;y=x; else

x++;y++;

printf(“%d,%d”,x,y);}

A)语法错误,不能通过编译 B)输入数据3和4,则输入4和5

.

.

C)输入数据4和3,则输入3和4 D)输入数据4和3,则输出4和4 二、填空题

1.表示“整数x的绝对值大于5”时值为“真”的c语言表达式是 x>5 || x<-5 。 2.以下程序的输出结果是 0 。 #include void main( )

{ int a =5,b =4,c=3,d; d= (a>b>c);

printf(\);}

3.20

{ case 9:i+=1; case 10:i+=1; case 11:i+=1;

default:i+=1; }

5.以下程序的输出结果是 2 。 #include void main( )

{ int x=2,y= -1,z =2; if(x

if(y <0)z =0; else z + =1;

printf(\); }

6.若运行时输入12,则以下程序的结果 0 。 #include void main( ) { int x,y;

scanf(\);

y =x >12? x +10:x -12; printf(\);}

7.设x、y、z均为int型变量,请写出描述“x或y中至少有一个小于z” 的表达式 x

8.已知A =7.5,B =2,C =3.6,表达式A > B&&C >A||A B的值是 0 。 三、读程序写结果

1.以下程序运行结果是( yes )。 void main( )

{ int a =1,b =3,c =5;

.

.

if(c =a +b) printf(\); else printf(\);} 2.以下程序运行结果是( 503 )。 void main( )

{ int a =4,b =3,c =5,t =0; if (a

printf(\,b,c); } 3.以下程序运行结果是( 20,0 )。 void main( )

{ int x=10,y=20,t=0; if(x==y)

t=x;x=y;y=t;

printf(\); } 4.以下程序运行结果是( 1 3 2 )。 void main( )

{ int i,m =0,n =0,k =0; for(i =9;i < =11;i + +) switch(i)

{ case 0:m + +;n + +;break; case 10:n + +;break; default: k + +;n + +; }

printf(\); }

四、阅读下列程序,在【】处填入适当内容,使程序完整。 1.输入x、y两个整数,按先大后小的顺序输出x、y。 #include void main( )

{ int x,y, 【1】 ; t scanf(“%d %d”,&x,&y); if(x

{ 【2】t=x ; 【3】x=y ; 【4】y=t ; } printf(“x=%d,y=%d\\n”,x,y); } 2.输入一个三位数,按逆序输出各个位数 #include void main( )

{ int x,a,b,c,y; scanf(“%d”,&x); a= 【5】 ; x

.