选择题   有以下程序:
    #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
【答案解析】本题考查了switch开关语句,当表达式与某一个case后面的常量表达式相等时,就执行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。