先说清楚:这门课解决什么问题
很多初学者写C语言,卡在同一个坎上:能看懂printf和变量赋值,一遇到「根据情况走不同流程」就乱了。比如根据成绩输出及格还是不及格、根据用户输入执行对应菜单,这些都需要程序在运行时做判断。C语言里做判断的语法有好几套:if-else、条件运算符(问号表达式)、switch,这三者各有适用场景,但教材往往一带而过,导致你只会抄模板,不会选型。还有一个更隐蔽的坑:if后面到底要不要加大括号?不加大括号时程序行为是什么?这些细节对不上,后续学循环、学函数、写小项目时会反复踩坑。
这一章定位就是「程序的岔路口怎么走」。它把顺序结构、条件结构放在一起讲,让你明白程序默认是从上到下一条路走到底的,条件结构负责在中途开岔路。课程内容不是只教语法,而是把if的嵌套写法、花括号省略带来的所有权问题、条件表达式和if的关系、switch的case穿透等等逐一拆开。建议先把「顺序结构、条件结构、循环结构的概览」这节看一遍,建立整体地图;然后集中精力啃if相关的内容,包括基础的if-else、嵌套if、花括号问题;接着看条件运算符;最后再啃switch,因为switch的case穿透和break的搭配,很多人第一次学都会迷糊。
适合什么基础的人看
你不需要很深的C语言功底。只要会用printf输出内容,知道int变量怎么声明赋值,能看懂scanf读输入,这节课就能跟得上。如果你连变量类型和输入输出都还没过关,建议先回去补一下前面的章节,否则看if的条件表达式(比如a > 0、score >= 60)会觉得比较吃力。反过来,如果你已经会写基本的if-else,但一遇到多条件、嵌套、多个分支时就不知道用什么结构清晰,这门课同样适合你——因为它的重点之一是帮你建立「哪种分支场景用什么写法」的判断力。
资料拿到的包里应该是以视频为主的课件,没有课后练习文档的话,就自己按讲义题目手动敲。C语言是练出来的,这一章的每个知识点都值得在编辑器里跑一遍。尤其是条件运算符和switch,单独看都能看懂,合在一起容易混。建议至少敲三遍代码:第一遍照抄,第二遍只看题目写,第三遍故意写错再改。
学完能独立做什么
学完这一章,你能独立写出带分支逻辑的小程序。比如:输入一个学生成绩,输出优、良、及格、不及格;输入两个整数和运算符,用switch做个简易计算器;判断一个年份是闰年还是平年(这里会用到嵌套的if和逻辑表达式);或者根据用户菜单选择,让程序输出不同功能提示。你能流畅解释为什么「if (a > 0) if (b > 0) ... else ...」这个写法容易产生歧义,也明白怎么用大括号消除歧义。你还能清楚说出条件运算符何时代替if更简洁、何时代替反而难读。
建议看完每节视频后立刻做一个配套练习:把视频里的例子改一下条件边界,比如把「成绩大于等于60」改成「大于60」,观察行为变化;把嵌套if的层级换一下顺序,观察逻辑会不会变;把switch去掉break,观察case穿透的全过程。你甚至可以自己写一个「输入月份判断天数」的小程序,这个题目会把if、switch、边界条件全部串起来。做完这些,你的分支结构
课程目录
1 顺序结构、条件结构、循环结构的概览 (09:13)
2 基础 和 多重的if条件结构 (20:17)
3 if结构的嵌套 (15:46)
4 if条件结构的{ }问题 (13:30)
5 ?表达式与 if 结构的关系1 (12:23)
6 条件运算符与if条件结构1 (21:26)
7 条件运算符与if条件结构2 (23:56)
8 switch结构1 (21:07)
9 switch结构2 (22:01)
10 switch结构2 (18:09)
11 switch 3 (20:17)




