有以下程序:#include <stdio.h>main( ){ int a=1,b; for(b =1;b <=10;b++) { if(a> =8) break; if(a%2 == 1) {a + =5;continu

admin2013-02-23  63

问题 有以下程序:#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

答案2

解析 本题要注意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。
转载请注明原文地址:https://jikaoti.com/ti/Nxn0FFFM
0

最新回复(0)