以下程序的输出结果是 #include <iostream.h> void main () { int a=0, i; for (i=1; i<5; i++) { s

admin2013-05-30  23

问题 以下程序的输出结果是           #include <iostream.h>           void main ()    {      int a=0, i;      for (i=1; i<5; i++)      {        switch (i)        {          case 0 :          case 3 : a+=2;          case 1 :          case 2 :  a+=3;          default : a+=5;        }      }      cout<<a<<endl;      return;    }

选项 A、31
B、13
C、10
D、20

答案A

解析 本题考核for语句和switch语句的综合运用。switch语句的执行过程是:在switch后面的表达式的值和case后面常量表达式的值吻合时,就执行后面的语句。如果在该语句的后面没有break语句,则继续执行下一个case,直到遇到break语句或switch多分支的结束。在switch语句中,break语句的作用是使流程跳出switch结构,终止switch语句的执行。因为每个case语句后面都没有break语句,所以,第1次循环(i=1)执行后,a的值为8。第2次循环(i=2)执行过后,a的值变为16。第3次循环(i=3)执行过后,a的值变为26。第4次循环执行过后,a的值变为31。然后执行i++,这时循环条件为假,结束循环。所以最后a的值为31。
转载请注明原文地址:https://kaotiyun.com/show/a9Np777K
0

最新回复(0)