有以下程序 #include main() { int a, b; for( a=1,b=1; a=20) break; if(b % 3==1) { b=b+3; continue; } b=b-5; } printf("%d\n",a); } 程序

admin2019-12-17  27

问题 有以下程序
#include
main()
{ int a, b;
for( a=1,b=1; a<=100; a++ )
{ if(b>=20) break;
if(b % 3==1) { b=b+3; continue; }
b=b-5;
}
printf("%d\n",a);
}
程序的输出结果是( )。

选项 A、8
B、10
C、9
D、7

答案A

解析 考查break和continue的用法。break语句用于循环体,其作用是跳出当前层循环,continue语句是跳过当前循环层余下未执行的语句,继续执行下一次循环。该程序中的for语句的循环条件是a小于等于100,当b的值大于等于20的时候就跳出循环并输出当前a的值。b值的变化逻辑是每次判定"b%3"的值若为1,则b自增3,否则,b自减5。其实该程序中,选择语句"if(b%3==1) "的判定条件一直为真,所以b的值为"1+a*3",易求得满足跳出条件的a值为8,答案选A。
转载请注明原文地址:https://kaotiyun.com/show/aQCp777K
0

最新回复(0)