选择结构习题一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章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(c else if(a if(b else x=3; else x=6; else x=7; A. 1 B. 2 C. 3 D. 6 6.有一个函数关系见下表: 下面程序段中能正确表示上面关系的是( ) 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 10.阅读以下程序 #include main( ) {float a, b; scanf(“%f”,&a); if(a<0.0)b=0.0; 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 main( ) {int year; printf(“Input you year:”); scanf(“%d”,&year); if(year>=18) printf(“you$4.5yuan/xiaoshi”); else printf(“your$3.0yuan/xiaoshi”);} 12.若运行时输入:2<回车>,则以下程序的运行 结果是( ) #include main( ) {char class; scanf(“%c”,&class); if(class==’1’)printf(“1st class postage is 19p”); else printf(“2nd class postage is 14p”);} 13.若运行时输入:4.4<回车>,则以下程序的运 行结果是( ) #include main( ) {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)%12; if(h= =0)h=12; printf(“%d:”,h); m=t%100; 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( )