问题
单项选择题
有以下程序
#include<stdio.h>
main()
int i=5;
do
if(i%3==1)
if(i%5==2)
(printf("%d",i);break;
i++;
while(i!=0);
printf("\n"1);
程序的运行结果是______。
A.*7
B.*3*5
C.*5 D.*2*6
答案
参考答案:A
解析: 本题考查的是break语句。do…while循环是“先执行,后判断”,所以无论条件如何,它都至少会执行一遍。程序首先初始化变量i为5,然后进入do…while循环体,首先判断(i%3==1),因为5%3=2,所以if条件不满足,跳过下面的if语句,执行i++,i变为6。第1遍循环结束,判断(i!=0)为真,继续循环。现在i%3=6%3=0,所以if语句还是不被执行,继续i++,i变为7,仍然满足(i!=0),继续循环。第3遍循环i%3=7%3=1,满足条件(i%3==1),继续判断条件i%5==2 成立,即输出*7,然后执行break语句跳出循环。