跳转至

if 语句进阶

switch 多路分支

switch(表达式) {
    case 常量1:
        // 表达式 == 常量1
        break;
    case 常量2:
        // 表达式 == 常量2
        break;
    default:
        // 都不匹配
}

完整示例:成绩等级

#include <stdio.h>
int main()
{
    int score, t;
    printf("请输入你的分数:");
    scanf("%d", &score);
    t = score / 10;
    switch(t) {
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
            printf("你的等级为E级\n");
            break;
        case 6:
            printf("你的等级为D级\n");
            break;
        case 7:
            printf("你的等级为C级\n");
            break;
        case 8:
            printf("你的等级为B级\n");
            break;
        case 9:
        case 10:
            printf("你的等级为A级\n");
            break;
        default:
            printf("你的等级为F级\n");
    }
    return 0;
}

🔑 switch 注意事项: - case 后面必须是整数常量 - 每个 case 后面要加 break;,否则会"穿透"到下一个 case - default 处理所有未匹配的情况

条件运算符(三目运算)

// 格式:条件 ? 值1 : 值2
// 条件为真 → 值1,条件为假 → 值2

int max = (a > b) ? a : b;   // 取 a 和 b 中较大的