【正确答案】
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=1,满足while循环条件,继续循环。第四次循环:先判断if语句的条件,y=-1,!y为逻辑0,条件不成立,执行下面的else语句,输出y,然后将x的值减1,x=0,不满足while循环条件,结束循环。所以选项B正确。