C 核心知识点汇总第三日——分支结构if / switch / 三元运算符2026最新版 · 零基础到进阶全覆盖今天我们进入C程序控制流的核心篇——分支结构。掌握分支结构后你就能写出真正的“会判断、会选择”的程序这是所有复杂逻辑的基础。一、分支结构总览思维导图程序流程控制 ├── 顺序结构默认 ├── 分支结构今天 │ ├── if 单分支 │ ├── if-else 双分支 │ ├── if-else if-else 多分支 │ ├── switch 多分支整数/字符 │ └── 三元运算符表达式级分支 └── 循环结构明天二、if 语句最常用1. 单分支 if#includeiostreamusingnamespacestd;intmain(){intscore;cout输入成绩: ;cinscore;if(score60){cout及格endl;}return0;}2. 双分支 if-elseif(score60){cout及格endl;}else{cout不及格endl;}3. 多分支 if-else if-else推荐写法if(score90){cout优秀endl;}elseif(score80){cout良好endl;}elseif(score70){cout中等endl;}elseif(score60){cout及格endl;}else{cout不及格endl;}重要规则条件必须是布尔表达式结果为 true/false多个else if时从上到下依次判断满足一个就不再往下走建议每个分支都用大括号{}防止悬挂 else 问题三、switch 语句多分支神器intlevel;cout输入等级(1-5): ;cinlevel;switch(level){case1:cout新手endl;break;// 必须加 breakcase2:cout入门endl;break;case3:cout熟练endl;break;case4:case5:// 多个case共用同一段代码cout高手endl;break;default:cout无效等级endl;}switch 使用要点重点背诵项目规则说明表达式类型只能是整数int、char、enumcase 值必须是常量不能是变量break必须手动加否则穿透执行default可省略建议加上2026 新特性C17 后 switch 支持[[fallthrough]]明确声明有意穿透。四、三元运算符表达式级 ifinta10,b20;intmax(ab)?a:b;// 经典写法// 嵌套三元不推荐太深string result(score90)?优秀:(score60?及格:不及格);什么时候用三元赋值语句中需要根据条件选值简单判断返回不同结果复杂逻辑请用 if-else可读性更好五、实战综合案例学生成绩评级系统#includeiostreamusingnamespacestd;intmain(){doublescore;cout请输入成绩0-100: ;cinscore;if(score0||score100){cout成绩输入错误endl;return0;}chargrade;switch(static_castint(score/10)){// 90~100 → 9 或 10case10:case9:gradeA;break;case8:gradeB;break;case7:gradeC;break;case6:gradeD;break;default:gradeF;}cout成绩等级: gradeendl;return0;}六、易错点 面试高频题悬挂 else经典陷阱if(x0)if(y0)coutA;elsecoutB;// 实际属于内层 if解决永远加大括号{}。switch 忘记 break→ 穿透执行面试常考if 条件写成赋值if (a 5)永远为 true浮点数不能直接用 switch必须转 int七、今日作业建议立刻动手写一个程序输入月份1-12输出对应季节春夏秋冬写一个成绩转换器输入百分制输出 A/B/C/D/F 评语用三元运算符实现输入两个数输出较大值和较小值提交方式把代码贴在评论区我会逐个点评明天预告第四日《C 核心知识点汇总 —— 循环结构for / while / do-while》今天的内容你掌握了吗有任何不明白的地方if-else if 逻辑、switch 穿透、三元嵌套等直接在评论区提问我立刻解答把这篇文章收藏 转发给正在学C的小伙伴一起打好编程基础本文所有代码均在 VS2022 GCC 14.2 环境下实测通过符合 C17/20 标准