A-A+
有以下程序:#includemain{ int x=4 y;do{ y=x
问题详情
有以下程序:
#include<stdio.h>
main
{ int x=4,y;
do
{ y=x;
if(!y)printf("x");
else
printf("y"):
x--;
}while(x);
}
程序的输出结果是()。
A.A.xyyx
B.yyyy
C.yyxx
D.yxyx请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
本题考查do-while语句和if…else语句。do-while语句的功能是先执行循环体再判断条件,所以,先判断if语句的条件,y=-4,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=3,条件不成立,执行下面的else语句,输出Y,然后将X的值减1,x=2,满足while循环条件,继续循环。第三次循环:先判断if语句的条件,y=2,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将X的值减1,x=l,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出Y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以B正确。