参考答案和解析
正确答案:C
更多“有如下程序段:int x=3,do{ x-=2;cout<<x;}while(!(--x));执行这个程序段的输出结果是()。A.1B.30C ”相关问题
  • 第1题:

    有如下程序: 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。

  • 第2题:

    有以下程序段: int x=3; do {printf("%d",x-=2);) while(!(--x)); 其输出结果是( )。

    A.1

    B.3 0

    C.1 -2

    D.死循环


    正确答案:C
    本题考查do-while循环,先执行d0输出的x的值为1,接着执行while语句,此时--x的值为0,x也为0,而非0为1,循环成立,接着执行do输出X值为-2,执行--x后,表达式为-2,而!(--x)为0,退出循环。

  • 第3题:

    有以下程序段: int x =3; do { printf(“%3d”,x-=2);}while(!(--x)); 程序段的输出结果是_______。

    A.1

    B.3 0

    C.1 -2

    D.死循环


    1 -2

  • 第4题:

    有以下程序段:

    int x=3;

    do

    {printf("%d",x-=2);)

    while(!(--x));

    其输出结果是( )。

    A.1

    B.3 0

    C.1 -2

    D.死循环


    正确答案:C
    本题考查do-while循环,先执行d0输出的x的值为1,接着执行while语句,此时--x的值为0,x也为0,而非0为1,循环成立,接着执行do输出X值为-2,执行--x后,表达式为-2,而!(--x)为0,退出循环。

  • 第5题:

    有以下程序段: int x=3; do { printf("%d",x-=2); } while(!(--x)); 其输出结果是______。

    A.1

    B.3 0

    C.1-2

    D.死循环


    正确答案:C
    解析:本题中循环执行了两次,第一次,执行完printf语句后,x=1,而-x是先自减后执行语句,所以(!(-x))的值为非零,所以又执行了一次。第二次x的值为-2,--x的值为-3,求非后,值为0,跳出循环。