问题:
[单选] 有以下程序:main()
{ int k=5,n一0;
do
{ switch(k)
{ case l:
case 3:11+=1;k--;break;
defalut: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
参考答案:B
参考解析:
B。【解析】本题考查分支语句用法。因为变量的初始值分别为k一5、n=0,所以程序第l次进入循环时,执行default语句,输出0,k减1;这时n=0、k=4,程序进行第2次循环,执行case4:这个分支,结果是rl=2、k=3,打印出2;这时n=2、k=3,break跳出,程序进行第3次循环,执行CaNe3:这个分支,结果是n=3、k=2,打印出3;这时n=3、k
一2,break跳出,程序然后进行第4次循环,执行case2:case4:这个分支,结果是n=5、k=1,打印出5,break跳出,这时因为n=5不满足n<5的循环条件,因此循环结束。