admin 管理员组文章数量: 1184232
2024年4月26日发(作者:直方图如何绘制)
switch函数和if语句的相关练习题
1. 以下程序的执行结果是 (-1)
main()
{ int x=100,a=10,b=20,v1=5,v2=0;
if(a
if(b!=15)
if(!v1)/*得0所以x=1不执行*/
x=1;
else
if(v2)/* 得0所以x=10不执行,所以x在if语句中没有赋值*/
x=10;
x=-1;
printf(“%d”,x); }
2. 以下程序的输出结果是 8,8,10
main()
{ int x=10,y=9;
int a,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时,输出结果是 34
main()
{ int k;scanf(“%d”,&k);
switch(k)
{ case 1:printf(“%d”,k++);
case 2:printf(“%d”,k++);
case 3:printf(“%d”,k++);/*输出本身的值3,但是k已经变成4*/
case 4:printf(“%d”,k++); break; /*输出本身的值4,但是k已经变成5*/
default :printf(“FULL!”); }
printf(“n”); }
4. 以下程序的执行结果是 10
main( )
{ int a=-1,b=1,k;
if((++a<0)&&!(b--<=0))
/*if(++a<0)为假, 后面短路,与运算前面为假,则这个表达式就为假,且a=0,b因为短路
了没有赋值,所以b还是它本身的值*/
printf(“%d%dn”,a,b);
else
printf(“%d%dn”,b,a); }
5. 以下程序的运行结果是__1,1______。
main()
{int x,y,z;
x=1;y=2;z=3;
(x=y--<=x)||(x=y!=z);
/* (x=y--<=x): 2 在语句 (x=y--<=x)中,x=1,y=1,后面因为短路没有赋值 */ printf(“%d,%d”,x,y); } 6. 以下程序的运行结果是__1,0________。 main() { int x,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==5<2*2==4)/*4==5<4==4*/ printf(“T”); else printf(“F”);} 8,输入一个整数,判别它是否能被3整除,若能整除,打印YES;不能打印NO。找出 程序中的错误。 main { flaot n; printf(“please input n: ”); scanf(“%d”, n); if(n%3!=0) printf (“n=%d YESn”,n) ; else ; printf (“n=%d NOn”,n) ; } 正确的程序如下: #include<> main() { int n; printf("please input n: "); scanf("%d", &n);
版权声明:本文标题:switch函数和if语句的相关练习题及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1714077857a664462.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论