问题
单项选择题
有以下程序
main()
int i=0,s=0;
for(;;)
if(i==3‖i==5) continue;
if(i==6) break;
i++;
s+=i
;
printf("%d\n",s)
程序运行后的输出结果是
A.10
B.13
C.21
D.程序进入死循环
答案
参考答案:D
解析: 本题考核的知识点是 for循环,continue语句和break语句的运用。程序中 for循环中省略了判断退出循环的表达式,for循环将由里面的break语句控制是否结束循环,第一次循环,第一条if语句后面括号里的表达式的值为假,所以该if语句不被执行,执行下面的第二条语句,此时该if语句表达式的值为假,所以该if语句也不执行,执行下面的语句,i++、s+=i,执行完毕后i的值为1,s的值为1,如此循环,直到第三次之后 i,s的值都为3,继续第四次循环,显然这时满足第一条if语句的,执行后面的continue;该次循环结束从头开始下次循环,而i的值为3一直没有改变,所以第一条语句始终要执行,因此for循环将一直循环下去,所以,4个选项中选项D符合题意。