问题 单项选择题

有如下程序: int x=3;do { x-=2; cout<<x;} while(!(--x)); 执行这个程序的输出结果是

A.1

B.30

C.1-2

D.死循环

答案

参考答案:C

解析: 本题考查的是do-while循环。题目首先让x=3,然后进入do-while循环体, x被减去2,接下来的语句输出x的值1。下面计算do-while循环的条件表达式!(--x),由于--运算符为前缀形式,所以--X的值为0,而!0的结果为“真”,此时x的值变为0,开始第二次执行循环体。x又被减2,输出x的值-2,此时--x的值为-3,!(-3)的值为“假”,所以循环结束。最后程序的输出结果是1-2,故应该选择C。

单项选择题 B型题
单项选择题