A-A+

有以下程序: #include main() {int c=0 k; fo

2022-08-05 22:13:04 问答库 阅读 172 次

问题详情

有以下程序: #include<stdio.h> main() {int c=0,k; for(k=1;k<3;k++) switch(k) {default:c+=k; case2:c++;break; case4:c+=2;break; } printf("%d\n",c); } 程序运行后的输出结果是()。
A.3
B.5
C.7
D.9请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
本题考查了switch开关语句,当表达式与某一个ease后面的常量表达式相等时,就执行case后面的语句,若没有匹配,则执行default后面的语句,各个case和default的出现次序不影响结果,执行完一个case语句,流程就转移到下一个case并继续执行。因此在case的分支后,加break语句来跳出switch语句。当k=1时,switch语句中没有相对应的case,所以执行default语句,此时C为1,没有遇到break语句,则执行case2,c++,此时c的值在下次使用前加1等于2,break跳出。继续for循环,当k=2时,执行Case2,C再次自加值为3,遇到break跳出。当k=3时,不符合循环,则输出c的结果,答案为3。

考点:程序