第1个回答 2017-08-01
1、D。while中判断的时候k>0直接就返回true了,不会进行后面的n++运算
2、B。i--先判断后自减,--i先自减再执行(输出)
3、B。思路参考上面两道,模拟运算即可
追问第三题请详细解答,谢谢
追答首先理解我前面说的,i++先判断再加,++i是先加再判断。
接下来模拟运算即可:
3>0 && 10 && 20 && 30 判断条件false,不会再执行++x<5的运算,退出循环,但是z--仍然会计算,此时z=-1,x和y不变
最后打印结果:x=3,y=2,z=-1。选B
第2个回答 2017-08-01
//题1
#include <stdio.h>
int main()
{
int n=2,k=1;
while( !( k>0 || n++ ));
printf("%d %d\n",k,n); //输出 1 2
//答案是D
}
//题2
#include <stdio.h>
int main()
{
int i=6;
while( i--)
printf("%d",--i);
printf("\n");//输出420
//答案是B
}
//题3
#include <stdio.h>
int main()
{
int x=0,y=5,z=3;
while( z-- >0 && ++x <5 ) y=y-1;
printf("%d,%d,%d\n",x,y,z);//输出 3,2,-1
//答案是B
}本回答被网友采纳