这几道C语言题目怎么解?并说明理由。谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/05 09:06:51
1.假设class的值为3,则以下程序片段执行后的结果是( )
switch(class)
{ case'1':printf("First!");
case'2':printf("Second!");
case'3':printf("Third!");break;
case'4':printf("Fourth\n");
default:printf("Error!\n");
}
A.Third B.Third C.Third D.Error
Error Foruth
Error

2.下面程序段
x=3;
do{ y=x--;
if(!y){printf("*");continue;}
printf("#");
}while(1<=x<=2);
A.将输出## B.将输出##* C.是死循环 D.含有不合法的控制表达式

3.下面程序中与while(!a)中的!a等价的是
main()
{ int a;
scanf("%d",&a);
while(!a)
{printf("O.K.\n");a=!a;}
}
A.a==0 B.a!=1 C.a!=0 D.a==1
第一题选D,题目没打错,和书上一样的啊。知道了,可能书上是用这题目误倒人的。

1 class的值为3而不是'3'回输出default项的值;
2 C.是死循环
3 A.a!=0 0对应false,非0对应true

第一题:C 题目中假设class的值为3应该 应改为 假设class的值为'3',要不燃就没有答案了,你看看是不是你打错了。

第二题:A x=3;y=x--;施行这一句以后y=3,x=2,这是因为运算符=的优先级大于运算符--的优先级。

第三题:A 在C语言中,0对应false,非0对应true

第 一道 同意楼上的
2 答案是D while(x>=1&&x<=2)
3 A同意楼上的