有定义语句"int a=1,b=2,c=3,x;"以下各程序段执行后,x的值不为3的是 C语言求助!!!
一共有两道题1下列程序段的输出结果是intmain(void){intm,k=0,s=0;for(m=1;m<=4;m++){switch(m%4){case0:case...
一共有两道题
1
下列程序段的输出结果是
int main(void)
{ int m,k=0,s=0;
for(m=1;m<=4;m++){
switch(m%4){
case 0:
case 1:s+=m;break;
case 2:
case 3:s-=m;break; }
k+=s;
}
printf("%d",k);
return 0;}
A.10 B.-2 C.-4 D.-12
2
有定义语句"int a=1,b=2,c=3,x;"以下各程序段执行后,x的值不为3的是
A.if(c<a)x=1;
else if(b<a)x=2;
else x=3;
B.if(a<3)x=3;
else if(a<2)x=2;
else x=1;
C.if(a<3)x=3;
if(a<2)x=2;
if(a<1)x=1;
D.if(a<b)x=b;
if(b<c)x=c;
if(c<a)x=a;
希望两道题都有详解,真的是太谢谢各位了! 展开
1
下列程序段的输出结果是
int main(void)
{ int m,k=0,s=0;
for(m=1;m<=4;m++){
switch(m%4){
case 0:
case 1:s+=m;break;
case 2:
case 3:s-=m;break; }
k+=s;
}
printf("%d",k);
return 0;}
A.10 B.-2 C.-4 D.-12
2
有定义语句"int a=1,b=2,c=3,x;"以下各程序段执行后,x的值不为3的是
A.if(c<a)x=1;
else if(b<a)x=2;
else x=3;
B.if(a<3)x=3;
else if(a<2)x=2;
else x=1;
C.if(a<3)x=3;
if(a<2)x=2;
if(a<1)x=1;
D.if(a<b)x=b;
if(b<c)x=c;
if(c<a)x=a;
希望两道题都有详解,真的是太谢谢各位了! 展开
展开全部
第一题(c)
m=1;m%4=1所以s=s+m=0+1=1 k=1
m=2;m%4=2; s=-1 k=0
m=3;s=-4 k=-4
m=4;s=0 k=-4
第二题(c)
A.前两个条件不成立,所以x=3;
B.第一个条件成立,跳过之后条件,x=3;
C.第一个成立,x=3,第二个成立x=2,第三个不成立,所以最终x=2
D.第一个成立,x=2,第二个成立x=3,第三个不成立,所以x=3
更多追问追答
追问
第一题
M=1的我看懂了
但是M=2时,M%4=2,带入case2里面,但是后面不是没式子吗?S=-1是怎么来的呢?
还有M=4的也没明白,麻烦你再给我讲讲吧
谢谢了
追答
C语言规定 CASE 找到之后 如果没有BREAK(就是跳出程序),那么会执行之后所有的CASE里面代码 直到BREAK,这个书上应该有写啊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询