单选题
有以下程序:
#include<stdio.h>
main()
{ int x=4, y;
do
{ y=x;
if(! y)printf("x");
else
printf("y");
x--;
}while(x);
}
程序的输出结果是______。
【正确答案】
B
【答案解析】[解析] 本题考查do-while语句和if…else语句。do-whiIe语句的功能是先执行循环体再判断条件,所以先判断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=1,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=0,不满足whik循环条件,结束循环。所以选项B正确。