您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > switch函数和if语句的相关练习题及答案
switch函数和if语句的相关练习题1.以下程序的执行结果是(-1)main(){intx=100,a=10,b=20,v1=5,v2=0;if(ab)if(b!=15)if(!v1)/*得0所以x=1不执行*/x=1;elseif(v2)/*得0所以x=10不执行,所以x在if语句中没有赋值*/x=10;x=-1;printf(“%d”,x);}2.以下程序的输出结果是8,8,10main(){intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;/*a=x=8,y=10*/b=x++;/*b=x=8,x=9*/c=y;/*b=8,c=10*/printf(“%d,%d,%d”,a,b,c);}3.以下程序输入3时,输出结果是34main(){intk;scanf(“%d”,&k);switch(k){case1:printf(“%d”,k++);case2:printf(“%d”,k++);case3:printf(“%d”,k++);/*输出本身的值3,但是k已经变成4*/case4:printf(“%d”,k++);break;/*输出本身的值4,但是k已经变成5*/default:printf(“FULL!”);}printf(“\n”);}4.以下程序的执行结果是10main(){inta=-1,b=1,k;if((++a0)&&!(b--=0))/*if(++a0)为假,后面短路,与运算前面为假,则这个表达式就为假,且a=0,b因为短路了没有赋值,所以b还是它本身的值*/printf(“%d%d\n”,a,b);elseprintf(“%d%d\n”,b,a);}5.以下程序的运行结果是__1,1______。main(){intx,y,z;x=1;y=2;z=3;(x=y--=x)||(x=y!=z);/*(x=y--=x):2x为真1x=1为真,后面短路,或运算前面为真,则这个表达式就为真,在语句(x=y--=x)中,x=1,y=1,后面因为短路没有赋值*/printf(“%d,%d”,x,y);}6.以下程序的运行结果是__1,0________。main(){intx,y,z;x=1;y=1;z=0;x=x||y&&z;/*x为1,后面短路,x=1*/printf(“%d,%d”,x,x&&!y||z);/*!y为0,x为1,所以x&&!y为0,00为0*/}7.以下程序的运行结果是_F___。main(){if(2*2==52*2==4)/*4==54==4*/printf(“T”);elseprintf(“F”);}8,输入一个整数,判别它是否能被3整除,若能整除,打印YES;不能打印NO。找出程序中的错误。main{flaotn;printf(“pleaseinputn:”);scanf(“%d”,n);if(n%3!=0)printf(“n=%dYES\n”,n);else;printf(“n=%dNO\n”,n);}正确的程序如下:#includestdio.hmain(){intn;printf(pleaseinputn:);scanf(%d,&n);if(n%3==0)printf(YES\n);elseprintf(NO\n);}9,以下程序是求3个数中的最大值,改正错误。intmain{intx,y,z,maxscanf(“%d,%d”,&x,&y,&z);max=x;if(maxy)max=y;if(maxz)max=z;printf(“最大值是:%d”max);}正确的程序如下:#includestdio.hmain(){intx,y,z,max;scanf(%d,%d,%d,&x,&y,&z);max=x;if(maxy)max=y;if(maxz)max=z;printf(最大值是:%d,max);}10,找出以下程序中的错误intmain{intg;printf(“Enteramark:”,g);scanf(“%d”,g);switch(g/10);case10:case9:printf(“A\n”);break;case8:printf(“B\n”);break;case7:printf(“C\n”);break;case6:printf(“D\n”);break;default:printf(“E\n”);}}正确的程序如下:#includestdio.hmain(){intg;printf(Enteramark:);scanf(%d,&g);switch(g/10){case10:case9:printf(A\n);break;case8:printf(B\n);break;case7:printf(C\n);break;case6:printf(D\n);break;default:printf(E\n);}}11,编程:分别用switch和if语句编程实现:-1(x0)y=0(x=0)1(X0)Switch语句:#includestdio.hmain(){intx,y;printf(Enterx:);scanf(%d,&x);switch(x){case0:y=0;break;default:switch(x0){case0:y=-1;break;case1:y=1;}}printf(“%d”,y);}If语句:#includestdio.hmain(){intx,y;printf(Enterx:);scanf(%d,&x);if(x0)y=1;if(x==0)y=0;if(x0)y=-1;printf(%d,y);}
本文标题:switch函数和if语句的相关练习题及答案
链接地址:https://www.777doc.com/doc-5051361 .html