试题与答案

有以下程序: #include<stdio.h> main() int c=

题型:单项选择题

题目:

有以下程序:
#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开关语句,当表达式与某一个caset后面的常量表达式相等时,就执行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。

试题推荐
微信公众账号搜索答案