GESP C++ 真题 · 逐题精解
首页C++一级真题 › 2023年12月 › 第13题

GESP 2023年12月 C++一级 单选题 第13题

C++一级单选题2023年12月第13题

所属知识点:break / continue 难度要求:掌握 考频:高频

下图所示 C++ 代码对大写字母 'A' 到 'Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?( )
char c;
while(1){
    cin >> c;
    if(c=='q') break;
    switch(c){
        case 'A': cout << "1 "; break;
        case 'B': cout << "3 ";
        case 'C': cout << "3 ";
        case 'D': cout << "5 "; break;
        case 'E': cout << "5 "; break;
        default: cout << "9 ";
    }
    cout << endl;
}

正确答案:B

题目解析
switch 有穿透:没写 break 会继续往下。输入 C 命中 case 'C' 输出「3 」,没 break 继续 case 'D' 输出「5 」,遇 break 停,输出 3 5,选 B。 💡 高频坑:switch 的 case 没 break 会「穿透」继续执行下一个 case。漏写 break 是常见 bug。

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习