问题 单项选择题

若有如下语句    #include<iostream.h>    void main( )    {     int x=3;     do {      x=x-2;      cout < < x;    } while(!(--X));    }  则上面程序段( )。

A. 输出的是1

B. 输出的是1和-2

C. 输出的是3和0

D. 是死循环

答案

参考答案:B

解析:do-while语句的一般格式为do循环体语句while(表达式);,先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式的值为0,结束循环。

单项选择题
解答题