问题 单项选择题

有以下程序:
#include <stdio.h>
main( )
int a=1,b;
for(b =1;b <=10;b++)
if(a> =8) break;
if(a%2 == 1) a + =5;continue;
a- =3;
printf( "% d \n" ,b);程序运行后的输出结果( )。

A.3

B.4

C.5

D.6

答案

参考答案:B

解析: 本题要注意break和continue的区别。continue语句只结束本次循环,继续下一次循环;而break语句则是结束整个循环。本题执行过程如下:
a=1,b=1:a>=8不成立,a%2==1成立,执行a+=5,则a=6,继续执行下一次循环;
a=6,b=2:a>=8不成立,a%2==1不成立,执行a-=3,则a=3,继续执行下一次循环;
a=3,b=3:a>=8不成立,a%2==1成立,执行a+=5,则a=8,继续执行下一次循环;
a=8,b=4:a>=8成立,结束整个循环,输出b的值4。

单项选择题
单项选择题