以下程序的输出结果是 main() { int a=0,i; for(i=1;i<5 i++) { switch(i) { case 0: case 3:a+=2; case

admin2009-01-15  35

问题 以下程序的输出结果是   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;        }      printf("%d\n",A) ;    }

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

答案1

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

最新回复(0)