分支结构封面背景
中职 C# 程序设计 · 专项微课
6-8 分钟

拆解分支结构
核心重难点

if...else 双分支 · if...else if 多分支 · switch 选择
让程序学会"做选择"的三种武器

同学们大家好!分支结构是C#程序设计中最重要的控制结构之一。它让程序能够根据不同的条件执行不同的代码路径。今天这节微课,我们将学习三种分支结构:if...else双分支、if...else if多分支、以及switch选择语句,并通过三个实训案例彻底掌握它们。

Contents · 本课内容

4 大模块 · 全流程覆盖

从原理到实训,让你独立看懂、理解通透、会写会改代码

01

三种分支结构 + 核心概念

if 单分支、if...else 双分支、if...else if 多分支、switch 选择

02

交互演示 · 三种结构对比

输入数据实时查看分支走向,直观理解条件判断

03

三大实训案例 · 逐行分析

判断成年人 · 成绩证书 · 奶茶付费

04

VS2010 示范操作 + 完整代码

新建项目到运行调试,手把手实操

本节课我们将逐一攻克4大模块:三种分支结构核心概念、交互演示对比、三大实训案例逐行分析、以及VS2010示范操作。循序渐进,零基础也能轻松学懂分支结构。

重点突破 · 01

分支结构
核心概念

程序根据条件"做选择",三条路走哪条?

首先我们来理解分支结构的核心概念。分支结构就是让程序根据不同的条件,选择执行不同的代码路径。就像到了十字路口,需要根据条件决定走哪条路。

核心概念 · 三种分支结构

if...else · if...else if · switch

三种分支结构各有适用场景,选对工具事半功倍

双分支

if...else

if (条件)
{
    // 条件为真执行
}
else
{
    // 条件为假执行
}

只有两条路:满足条件走 if,不满足走 else。适合"非此即彼"的判断。

多分支

if...else if

if (条件1) { ... }
else if (条件2) { ... }
else if (条件3) { ... }
else { ... }

多条路:从上到下依次判断,匹配第一个满足的条件。适合"区间判断"。

选择

switch

switch(变量)
{
    case 1: ...; break;
    case 2: ...; break;
    default: ...; break;
}

多选一:根据变量的值跳转到对应case。适合"等值匹配"场景,别忘了 break!

选哪个? 只有两个选择 → if...else;多个区间范围 → if...else if;多个离散值 → switch

这一页对比三种分支结构。if...else是双分支,只有两条路,适合非此即彼的判断。if...else if是多分支,从上到下依次判断,匹配第一个满足的条件,适合区间判断。switch是多选一,根据变量的值跳转到对应case,适合等值匹配场景,每个case后面别忘了写break。选择哪个?只有两个选择用if...else,多个区间范围用if...else if,多个离散值用switch。

交互演示 · if...else 双分支

实训2-1:判断是否成年人

输入年龄,实时查看条件判断走向

age >= 18 ?
条件判断
age >= 18 为 true
✅ 已满18岁,是成年人
age >= 18 为 false
❌ 未满18岁,是未成年人
 

要点:if...else 只有一个条件判断点。条件为真走 if 分支,为假走 else 分支。18岁是分界线,>=18 和 <18 互斥,必走其一。

这是if...else双分支的交互演示。输入年龄后,程序会判断age是否大于等于18。如果条件为真,走if分支输出"已满18岁,是成年人";如果条件为假,走else分支输出"未满18岁,是未成年人"。大家可以尝试输入不同的年龄值,看看条件判断的走向如何变化。

交互演示 · if...else if 多分支

实训2-2:成绩证书发放

输入成绩,实时查看条件链判断走向

1 if (charvalue >= 90) → 优秀证书
2 else if (charvalue >= 80) → 良好证书
3 else if (charvalue >= 60) → 合格证书
4 else → 继续努力
 

要点:if...else if 从上到下依次判断,匹配第一个满足的条件后不再继续。顺序很重要:先判断大区间(>=90),再判断小区间(>=80),最后(>=60)。

这是if...else if多分支的交互演示。输入成绩后,程序从上到下依次判断:先看是否大于等于90分,是则获得优秀证书;否则看是否大于等于80分,是则获得良好证书;否则看是否大于等于60分,是则获得合格证书;都不满足则输出还需继续努力。注意,匹配第一个满足的条件后就不再继续判断了,所以条件顺序很重要。

交互演示 · switch 选择语句

实训2-3:奶茶付费

选择杯型,实时查看 switch 匹配走向

选择
1 小杯
选择
2 中杯
选择
3 大杯
其他
默认中杯
case 1: 小杯,请付费 ¥3.0
case 2: 中杯,请付费 ¥4.0
case 3: 大杯,请付费 ¥5.0
default: 中杯,请付费 ¥4.0(默认)
 

要点:switch 根据 n 的值直接跳转到匹配的 case,不像 if 那样从上到下逐个判断。每个 case 后必须写 break 跳出。default 是所有 case 都不匹配时的兜底。

这是switch选择语句的交互演示。点击选择杯型后,程序根据n的值直接跳转到匹配的case:n为1输出小杯3元,n为2输出中杯4元,n为3输出大杯5元。如果输入的不是1、2、3,则走default默认中杯4元。注意每个case后面都有break跳出,default是兜底选项。

实训案例 · 【实训2-1】

if...else
判断成年人

输入年龄,判断是否已满18周岁

现在进入第一个实训案例。实训2-1是使用if...else双分支语句,根据输入的年龄判断学生是否是成年人。18周岁通常被视为成年人。

实训2-1 · 代码逐行分析

if...else 双分支 · 判断成年人

Program.cs — 实训2-1 判断成年人
static void Main(string[] args) { Console.Write("请输入学生的年龄:"); int age = Convert.ToInt32(Console.ReadLine()); if (age >= 18) { Console.WriteLine("该生已满18岁,是成年人。"); } else { Console.WriteLine("该生未满18岁,是未成年人。"); } Console.ReadLine(); }
📥

输入:Convert.ToInt32

Convert.ToInt32(Console.ReadLine())

ReadLine读取字符串,Convert.ToInt32转为int类型。注意是ToInt32不是ToInt16。

🔀

条件:age >= 18

if (age >= 18)

判断年龄是否大于等于18。>=是比较运算符,返回true或false。

📤

输出:双分支结果

true → 成年人 · false → 未成年人

条件为真走if块,为假走else块。两条路必走其一。

运行结果
> 请输入学生的年龄:20 该生已满18岁,是成年人。 > 请输入学生的年龄:15 该生未满18岁,是未成年人。
这是实训2-1的代码。首先用Console.Write提示输入年龄,用Convert.ToInt32将用户输入的字符串转为int类型。然后用if判断age是否大于等于18,如果是输出"该生已满18岁,是成年人",否则输出"该生未满18岁,是未成年人"。注意Convert.ToInt32用于32位整数,和前面实训中用到的ToInt16不同。

实训案例 · 【实训2-2】

if...else if
成绩证书

输入成绩,根据分数发放对应证书

接下来是第二个实训案例。实训2-2是使用if...else if多分支语句,根据学生成绩判断应当发放的证书类型。

实训2-2 · 代码逐行分析

if...else if 多分支 · 成绩证书

Program.cs — 实训2-2 成绩证书
static void Main(string[] args) { Console.WriteLine("说明:"); Console.WriteLine("成绩在90分(含90分)以上的获得优秀证书。"); Console.WriteLine("成绩在80分(含80分)以上的获得良好证书。"); Console.WriteLine("成绩在60分(含60分)以上的获得合格证书。"); Console.Write("请输入学生的成绩:"); int charvalue = Convert.ToInt32(Console.ReadLine()); if (charvalue >= 90) { Console.WriteLine("恭喜获得优秀证书!"); } else if (charvalue >= 80) { Console.WriteLine("恭喜获得良好证书!"); } else if (charvalue >= 60) { Console.WriteLine("恭喜获得合格证书!"); } else { Console.WriteLine("还需继续努力!"); } Console.ReadLine(); }

条件顺序至关重要! 必须从大到小判断(>=90 → >=80 → >=60)。如果反过来先判断>=60,那90分也会匹配>=60,永远拿不到优秀证书。因为 if...else if 匹配第一个满足的条件后就停止

运行结果
> 说明: 成绩在90分(含90分)以上的获得优秀证书。 成绩在80分(含80分)以上的获得良好证书。 成绩在60分(含60分)以上的获得合格证书。 请输入学生的成绩:95 恭喜获得优秀证书! > 请输入学生的成绩:75 恭喜获得合格证书! > 请输入学生的成绩:45 还需继续努力!
这是实训2-2的代码。程序先输出说明信息,然后接收用户输入的成绩。用if...else if多分支判断:大于等于90分获得优秀证书,大于等于80分获得良好证书,大于等于60分获得合格证书,都不满足则输出还需继续努力。注意条件顺序必须从大到小,因为if...else if匹配第一个满足的条件后就停止判断。如果反过来先判断>=60,那90分也会匹配>=60,永远拿不到优秀证书。

实训案例 · 【实训2-3】

switch
奶茶付费

选择杯型,根据选择提示付费信息

最后是第三个实训案例。实训2-3是使用switch选择语句,设计一个奶茶店付费小程序。奶茶有三种规格:小杯3元、中杯4元、大杯5元,默认选择中杯。

实训2-3 · 代码逐行分析

switch 选择语句 · 奶茶付费

Program.cs — 实训2-3 奶茶付费
static void Main(string[] args) { Console.WriteLine("奶茶有三种规格: "); Console.WriteLine(" 1=(小杯, ¥3.0) 2=(中杯, ¥4.0) 3=(大杯, ¥5.0) "); Console.Write("您的选择是: "); string s = Console.ReadLine(); int n = int.Parse(s); switch( n ) { case 1: Console.WriteLine("小杯,请付费¥3.0。"); break; case 2: Console.WriteLine("中杯,请付费¥4.0。"); break; case 3: Console.WriteLine("大杯,请付费¥5.0。"); break; default: Console.WriteLine("中杯,请付费¥4.0。"); break; } Console.WriteLine("谢谢品尝,欢迎再次光临!"); Console.ReadLine(); }
🔑

switch(n)

switch(n) { case 1: ... }

n是选择变量。switch将n的值与每个case后面的值比较,匹配则执行对应代码。

⏹️

break 跳出

case 1: ...; break;

每个case后面必须写break跳出switch。不写会继续执行下一个case(case穿透)。

🎯

default 默认

default: ...; break;

所有case都不匹配时执行default。这里是默认中杯¥4.0。

运行结果
> 奶茶有三种规格: 1=(小杯, ¥3.0) 2=(中杯, ¥4.0) 3=(大杯, ¥5.0) 您的选择是: 1 小杯,请付费¥3.0。 谢谢品尝,欢迎再次光临! > 您的选择是: 5 中杯,请付费¥4.0。 谢谢品尝,欢迎再次光临! ← 走default
这是实训2-3的代码。程序先输出奶茶的三种规格供用户选择,然后用int.Parse将用户输入转为整数。switch根据n的值匹配对应的case:1输出小杯3元,2输出中杯4元,3输出大杯5元,都不匹配走default输出默认中杯4元。注意每个case后面都有break跳出,default是兜底选项。最后输出谢谢品尝。

示范操作 · VS2010 新建项目

从零开始:新建项目到运行调试

三个实训通用步骤,手把手实操

运行 Visual Studio 2010

双击桌面图标或从开始菜单启动 Microsoft Visual Studio 2010。启动

新建项目

选择菜单项"文件" → "新建" → "项目",打开"新建项目"对话框。文件 → 新建 → 项目

选择项目类型

在左侧选择"Visual C#" → "Windows",在模板列表中选择"控制台应用程序"。在下方"名称"框中输入项目名(如 Test2_1),点击"确定"。控制台应用程序

编写代码

系统自动生成代码框架,在 static void Main(string[] args) 代码段中输入相应代码。Main 方法

运行调试

F5 或点击工具栏绿色▶按钮运行程序。在控制台窗口中输入测试数据,查看运行结果。F5 运行

这是VS2010的示范操作步骤,三个实训通用。第一步运行Visual Studio 2010。第二步选择文件、新建、项目。第三步在新建项目对话框中选择Visual C#下的Windows,模板选择控制台应用程序,输入项目名后确定。第四步在Main方法中编写代码。第五步按F5运行调试,在控制台窗口输入测试数据查看结果。

Summary · 核心要点总结

五大要点,一次吃透分支结构

从原理到实训,截图保存随时复习

1

三种分支结构

if...else 双分支(非此即彼)、if...else if 多分支(区间判断)、switch 选择(等值匹配)

2

条件顺序

if...else if 从上到下依次判断,匹配第一个满足的条件后停止。区间判断必须从大到小排列

3

switch 三要素

case 匹配值 → break 跳出 → default 兜底。忘记 break 会导致 case 穿透

4

类型转换

Convert.ToInt32(Console.ReadLine()) 或 int.Parse(s) 将字符串转为整数用于条件判断

5

选哪个?

两个选择 → if...else · 多个区间范围 → if...else if · 多个离散值 → switch。选对工具事半功倍!

总结五大要点:第一,三种分支结构各有适用场景。第二,if...else if条件顺序很重要,从大到小排列,匹配第一个满足的条件后停止。第三,switch三要素:case匹配值、break跳出、default兜底。第四,类型转换用Convert.ToInt32或int.Parse。第五,选哪个结构?两个选择用if...else,多个区间范围用if...else if,多个离散值用switch。

感谢学习

谢谢!

从判断成年人到奶茶付费,分支结构的三种武器你已全部掌握

这节微课就到这里。我们从三种分支结构的概念、交互演示,到三个实训案例的代码分析,全面拆解了分支结构的所有重点和难点。希望大家课后多加练习,熟练掌握if...else、if...else if和switch三种分支结构。