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);


本文标签: 程序 结果 语句 打印 赋值