第五章if语句练习题
1. .已知int x=10,y=20,z=30;以下语句执行
后x,y,z的值是____ ____ _ if(x>y) z=x;x=y;y=z;
2. 以下if语句语法正确的是________
A.if(x>0) printf(“%f”,x) else printf(“%f”,-x); B.if(x>0)
{x=x+y;printf(“%f’,x);} else printf(“%f”,-x); C.if(x>0)
{x=x+y;printf(“%f”,x);} else printf(“%f”,-x); D.if(x>0)
{x=x+y;printf(“%f,x);} else printf(“%f”,-x); 3. 请阅读以下程序:
main( )
{int a=5,b=0,c=0;
if(a=b+c)printf(“* * *\\n”); else
printf(“$ $ $\\n”);}以上程序______ A.有语法错不能通过编译 B.可以通过编译但不能通过连接
C.输出* * * D.输出$ $ $ 4. 以下程序的运行结果是______
main( ) {int m=5;
if(m++>5)printf(“%d\\n”,m); else printf(“%d\\n”,m--);} A. 4 B. 5 C. 6 D. 7
5. 当a=1,b=3,c=5,d=4时,执行完下面一段程
序后x的值是______ if(a
if(b A. 1 B. 2 C. 3 D. 6 6. 有一个函数关系见下表: x y= x<0 x-1 x=0 x x>0 x+1 下面程序段中能正确表示上面关系的是( ) A. y=x+1; if(x>=0) if(x==0)y=x; else y=x-1; B. y=x-1; if(x!=0) if(x>0)y=x+1; else y=x; C. if(x<=0) if(x<0)y=x-1; else y=x; else y=x+1; D.y=x; if(x<=0) if(x<0)y=x-1; else y=x+1; 7. 以下程序的输出结果是______ main( ) {int a=100,x=10,y=20,okl=5,ok2=0; if(x if(!ok1) a=1; else if(ok2) a=10; a=-1; printf(“%d\\n”,a);} A.1 B.0 C.-1 D.值不确定 8. 以下程序输出结果是_______ main( ) {int x=2,y=-1,z=2; if(x if(y<0) z=0; else z+=1; printf(“%d\\n”,z); A.3 B.2 C.1 D.0 9. 以下不正确的语句为______ A.if(x>y); B.if(x=y)&&(x! =0) x+=y; C,if(x! =y)scanf(“%d”,&x); else scanf(“%d”,&y); D.if(x else if((a<0.5)&&(a!=2.0))b=1.0/(a+2.0); else if(a<10.0)b=1.0/a; else b=10.0; printf(“%f\\n”,b);} 若运行时输入2.0<回车>,则上面程序的输出结果是_____ A.0.000000 B.0.500000 C.1.000000 D.0.250000 11. 若运行时输入:16<回车>,则以下程序的运 行结果是( ) #include printf(“Input you year:”); scanf(“%d”,&year); if(year>=18) printf(“you$4.5yuan/xiaoshi”); else printf(“your$3.0yuan/xiaoshi”);} 12. 若运行时输入:2<回车>,则以下程序的运行 结果是( ) #include if(class==’1’)printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”);} 13. 若运行时输入:4.4<回车>,则以下程序的运 行结果是( ) #include {float costprice,sellingprice; printf(“enter cost price $:”); scanf(“%f”,&costprice); if(costprice>=5) {sellingprice=costprice+costprice*0.25; printf(“selling price(0.25)$%6.2f”,sellingprice);} else {sellingprice=costprice+costprice*0.30; printf(“selling price(0.30)$%6.2f”,sellingprice);}} 14. 以下程序的运行结果是( ) main( ) { if(2*2= =5<2*2= =4) printf(“T”); else printf(“F”);} 15. 请阅读以下程序: main( ) {int t,h,m; scanf(“%d”,&t); h=(t/100); if(h= =0)h=12; printf(“%d:”,h); m=t0; if(m<10)printf(“0”); printf(“%d”,m); if(t<1200||t= =2400) printf(“AM”); else printf(“PM”);} 若运行时输入:1605<回车>时,程序的运行结果是( ) 16. 以下程序实现:输入圆的半径r和运行标志 m,按照运行标志进行指定计算.请在( )内填入正确的内容. 标志 运算 a 面积 c 周长 b 二者均计算 #define pi 3.14159 main( ) {char m; float r,c,a; printf(“input mark a c or b&&r\\n”); scanf(“%c%f”,&m,&r); if( ) {a=pi*r*r;printf(“area is %f”,a);} if( ) {c=2*pi*r;printf(“circle is %f”,c);} if( ) {a=pi*r*r;c=2*pi*r;printf(“area&&circle are%f%f”,a,c);}} 17. 若运行时输入:5999<回车>,则以下程序的 运行结果(保留小数后一位)是( ) main( ) {int x; float y; scanf(“%d”,&x); if(x>=0&&x<=2999)y=18+0.12*x; if(x>=3000&&x<=5999)y=36+0.6*x; if(x>=6000&&x<=10000)y=54+0.3*x; printf(“%6.1f”,y);} 18. 以下程序实现输出x,y,z三个数中的最大 者.请在( )添入正确内容. main( ) {int x=4,y=6,z=7; int ( ) if( )u=x; else u=y; if( )v=u; else v=z; printf(“v=%d”,v);} 19. 以下程序实现:输入三个整数,按从大到小 的顺序进行输出.请在( )内填入正确内容 main( ) {int x,y,z,c; scanf(“%d%d%d”,&x,&y,&z); if( ) {c=y;y=z;z=c;} if( ) {c=x;x=z;z=c;} if( ) {c=x;x=y;y=c;} printf(“%d,%d,%d”,x,y,z);} 20. 以下程序对输入的两个整数,按从大到小顺 main ( ) {char ch; scanf(“%c”,&ch); if( )ch=ch+32; else if(ch>=’a’&&ch<=’z’) else if(! b) if(! c)x=15; else x=25; printf(“%d\\n”,d);} 25. 以下程序的运行结果是( ) if(z=(y= =0)) x=5; x=4; printf(“\\t%d\\t%d\\n”,x,z); if(x=z=y)x=4; 序输出.请在( )内填正确内容. main ( ) {int x,y,z; scanf(“%d,%d,”,&x,&y); if( ) {z=x; } printf(“%d,%d”,x,y);} 21. 以下程序对输入的一个小写字母,将字母循 环后移5个位置后输出.如’a’变成’f’,’w’变成’b’.请在( )填入正确内容 #include “stdio.h” main( ) {char c; c= ; if(c>=’a’&&c<=’u’) else if(c>=’v’&&c<=’z’) putchar(c);} 22. 输入一个字符,如果它是一个大写字母,则 把它变成小写,如果是小写,则变成大写,其他字符不变,请在( )填正确内容 printf(“%c”,ch);} 23. 以下程序的运行结果是( ) main( ) {int a,b,c; int s,w,t; s=w=t=0; a=-1,b=3,c=3; if(c>0)s=a+b; if(a<=0) {if(b>0) if(c<=0)w=a-b;} else if(c>0)w=a-b; else t=c; printf(“%d%d%d”,s,w,t);} 24. 以下程序的运行结果是( ) main( ) {int a,b,c,d,x; a=c=0; b=1; d=20; if(a)d=d-10; #include printf(“\\t%d\\n”,x); if(y= =0)x=4; else x=5; printf(“\\t%d\\n”,x); x=1; if(y<0) if(y>0)x=4; else x=5; printf(“\\t%d\\n”,x);} 26. 以下程序的运行结果是( ) #include printf(“\\t%d\\t%d\\n”,x,z); printf(“\\t%d\\t%d\\n”,x,z);} 27. 阅读下面程序: main ( ) {int s,t,a,b; scanf(“%d,%d”,&a,&b); s=1; t=1; if(a>0)s=s+1; if(a>b)t=s+t; else if(a= =b)t=5; else t=2*s; printf(“s=%d,t=%d”,s,t);} 为使输出结果t=4,输入量a和b应满足的条件是( ) 28. 请阅读下面程序: main( ) {int s ,t,a,b; scanf(“%d,%d”,&a,&b); s=1; t=1; if(a>0)s=s+1;