有以下程序 main ( ) { int i,n=0; for (i=2 ;i<5;i++) { do { if (i%3) continue;

admin2009-01-15  21

问题 有以下程序   main ( )    {      int i,n=0;      for (i=2 ;i<5;i++)      {         do         {            if (i%3)   continue;           n++;         } while(!i);         n++;      }      print f ( "n=%d\n" , n);    }    程序执行后的输出结果是

选项 A、n=5
B、n=2
C、n=3
D、n=4

答案8

解析 本题考核的知识点是do…while结构和算术运算符%的应用。do…while的结构形式为:do  循环体  while(条件表达式),当程序执行到do后,先执行循环体一次,然后才对条件表达式进行计算、判断。若条件表达式的值为真,则重复执行一次循环体;否则退出,与while结构相比,do…while结构至少要执行一次循环体;运算符%是求模运算,即求两个数相除的余数。 continue语句的作用时结束本次循环,即跳过本次循环中余下尚未执行的语句,接着再一次进行循环的条件判定。本题中,当i=2时,执行如循环。由于 if表达式的条件为真,执行continue语句,结束本次循环,判断while循环条件为假,故退出while循环,执行n++,此时n的值为1,当i=3时,执行do循环.由于if(3%3)为假,执行下面的n++语句,此时 n的值为2,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++语句,此时n的值为3;当i=4时,执行如循环。由于if(4%3)为真,执行continue语句,结束本次循环,继续判断while循环条件为假,故退出while循环,执行n++,此时n的值为4;当i=5时,退出for循环,因此最后输出的n的值为4,所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/hOHp777K
0

随机试题
最新回复(0)