有以下程序:
main()
ink k=5,n=0;
do
switch(k)
casel:
case3:n+=1;k--;break;
default:n=0;k--;
case2:
case4:n+=2;k--;break;
printf("%d",n);
while(k>0&&n<5);
程序运行后的输出结果是______。
A.235
B.0235
C.02356
D.2356
参考答案:A
解析: do-while语句的特点是先执行循环体,然后再判断循环条件是否成立,当循环条件的值为0时循环结束。本题中执行Switch语句,寻找与5匹配的case 5分支,没有寻找到则执行default后的讲句,n=0,k的值变为4,继续执行switch语句,寻找与4匹配的case 4分支,找到后开始执行其后的语句“n+=2;k--;”,n的值为2,k的值变为3,遇到break语句跳出该switch语句体。执行print语句输出2;此时n=2,k=3依旧满足dowhile循环条件,将用同样的方式再次执行switch语句,直到n=5时不再满足do-while循环条件退出所有的循环。