更多“ 在下列选项中,没有构成死循环的是( )。 ”相关问题
  • 第1题:

    在下列选项中,没有构成死循环的是

    A.int i=100; while(1) { i=i%100+1; if(i>100)break; }

    B.for(;;);

    C.int k=10000; do{k++;}while(k>10000);

    D.int s=36; while(s)--s;


    正确答案:D
    解析: 选项A)的循环表达式的条件永久为1,并且小于100的数与100取余不超过99,所以在循环体内表达式i%100+1的值永远不大于100,break语句永远不会执行,所以是死循环;选项B)的括号内没有能使循环停下来的变量增量,是死循环;选项C)中先执行k++,使k=10001,从而使循环陷入死循环。

  • 第2题:

    在下列选项中,构成死循环的程序段是

    A.int i=100;

    B.for(;;);

    C.int k=1000;

    D.int s=36;


    C

  • 第3题:

    在下列选项中,会构成死循环的是()。

    A.for(;;);

    B.int i=100;

    C.int k=10000;

    D.int s=36;


    C

  • 第4题:

    在下列选项中,没有构成死循环的程序段是( )


    正确答案:C

  • 第5题:

    在下列选项中,没有构成死循环的语句段是:

    A.int i=100;while(1){i=i%100;if(i>=100)break;}

    B.for(;;);

    C.int k=1000;do{k;}while(k>1000);

    D.int s=3;while(s);--s;


    D 本题是考查死循环的含义。在编程中,一个无法靠自身的控制终止的循环称为“死循环”。选项A给出的函数主体是while语句,该语句的循环结束条件是i>100,初始i=100,执行完i=i%100+1语句后,i的值变为1,由于不满足循环结束条件,循环执行while,执行完第二次i=i%100+1语句后,i的值变为2,一直循环执行下去,i的值最大只能达到100,永远不会达到结束条件,故选项A是死循环。选项B是一个for循环,它的一般形式为:for(;;)语句;for循环中的“初始化”、“条件表达式”和“增量”都是选择项,即可以缺省,但“;”不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其他处理时便成为死循环。省略了增量,则不对循环控制变量进行操作。选项C是一个do-while语句,先执行do语句,然后用while后面的语句进行判断。初始时,k=10000,执行完do语句后,k=10001,满足while里的判断语句k>10000,继续执行do-while,因为k的值一直是增大的,故该循环将一直运行下去。D选项是一个while循环,该循环结束的条件是s<=0,该循环初始时s的值为36,每执行一次while循环,将执行--s操作,当s=0时,循环结束。