有以下程序 #include main() { int k=5,n=0; do { switch(k) { case 1: case 3: n+=1; k--; break; default: n=0; k--; case 2: case 4: n+=2

admin2015-07-28  25

问题 有以下程序
#include
main()
{ int k=5,n=0;
do
{ switch(k)
{ case 1: case 3: n+=1; k--; break;
default: n=0; k--;
case 2: case 4: n+=2; k--; break;
}
printf("%d",n);
}while(k>0 && n<5);
}
程序运行后的输出结果是( )。

选项 A、235
B、0235
C、02356
D、2356

答案A

解析 该程序的执行流程是:当k值大于0并且n值小于5时,进入循环的switch语句。判定k的值,若k的值为1或者3,执行"n+=1; k--; break;"跳出switch语句后输出n的值;若k的值为2或者4,执行语句"n+=2; k--; break;"跳出switch语句后输出n的值;若k的值不为1、2、3、4,则执行语句"n=0; k--;"后继续执行"case 2: case 4: n+=2; k--; break;" 跳出switch语句后输出n的值;由此,共执行3次循环,循环开始k的值分别为5、3、2,对应输出的n值为2、3、5,答案选A。
转载请注明原文地址:https://jikaoti.com/ti/xYn0FFFM
0

最新回复(0)