问题
单项选择题
下列各程序段中,不是死循环的是( )。
A.int j=100;
B.for(;;) while(1) {j=j%100+1; if(j>1000) break; }
C.int n=0;
D.int m=36;do{while(--m; ++n;}while(n>=0);
答案
参考答案:D
解析: 本题考查三种循环语句的结束条件。对于选项A,它的条件表达式1永远为真,故循环永远不会停止,是死循环;对于选项B,它的条件表达式为空,也是死循环;对于选项C,它的条件表达式(n>=0)总是成立,故也是死循环;对于选项D,当m减到小于0时,它的条件表达式结果为假(false),循环结束。