C语言 循环结构3道题 求救!加分!

来源:百度知道 编辑:UC知道 时间:2024/09/20 21:53:01
三道题 答案和分析(翻译程序和怎么做)
1.下面程序运行结果是
a=1;b=2;c=2;
while(a<b<c){t=a;a=;b=t;c--;}
printf("%d,%d",%d,a,b,c);

2下面程序运行结果是
x=y=0;
while(x<5) y++, x+=++y;
printf("%d,%d",y,x);

3下面程序运行结果是
int n=0;
while(n++<=2);printf("%d",n);

就这三题 跪求各位大虾帮助!
第一个第二句是 a=b;
第二个第二句是 while(x<15)

1.下面程序运行结果是
a=1;b=2;c=2;
while(a<b<c){t=a;a=b;b=t;c--;}
printf("%d,%d",%d,a,b,c);

答:先判断a<b,结果为真,则是1 再判断1<c 为真,则执行循环
第一次循环后a,b值对调,就是a=2,b=1; c--后,c就等于1了
再重复上面的判断方法:这次是a<b为假,则为0, 而0<c还是为真,因为c=1的,再执行循环体,执行完后:a=1,b=2,c=0;
第三次判断a<b为真,则为1,而c=0了,所以1<c条件为假了,退出循环。这时候:a=2,b=1,c=0

2下面程序运行结果是
x=y=0;
while(x<5) y++, x+=++y;
printf("%d,%d",y,x);

答:第一次判断,条件为真,循环体y++后,y=1,
后一句可以写成x=x+(++y); 先让y+1后(y=2了),再加到x上去,x也就等于2了;
第二次判断,条件还是真,循环体y++后,y=3,
后一句可以写成x=x+(++y); 先让y+1后(y=4了),再加到x上去,x也就等于6了;
第三次判断不成立了!
结果:x=6,y=4

3下面程序运行结果是
int n=0;
while(n++<=2);printf("%d",n);

这一个更简单了,你要自己学会分析。。。。
循环条件是先判断n是不是小于等于2,然后再加加的,它的循环体是一个;号,也就是空语句。
这么一来,只有n到三时才不满足条件,不过要注意,n=3时,判断后不满足条件,还得要让n++,这样就n=4了,结果知道了吧??

好了给分!你说的噢,要追加分的!哈哈!累了。。。。

1.下面程序运行结果是
a=1;b=2;c=2;
while(a<b<