首页 慕课教程 C 语言入门教程 C 语言入门教程 19 C 语言中的分支嵌套结构

C 语言中的分支嵌套结构

要想实现一些复杂的功能,依靠简单的分支结构和多重分支结构等等是远远不够的。所以我们还需要分支嵌套结构。

1. 分支嵌套结构的语法

if (条件 1)
{
    if (条件 2)
    {
        执行语句 1
    }
    else
    {
        执行语句 2
    }
}
else
{
    if (条件 3)
    {
        执行语句 3
    }
}

执行过程

图片描述

2. 场景

当程序中需要多层条件判断的时候,会使用嵌套的分支结构,用来根据不同的条件组合,来跳转执行不同的处理语句。这在程序中是非常常见的,分支嵌套结构就如同我们日常生活中的很多计划内容。

比如,我们有这样一个场景:如果今天天气好,我们就去郊游,如果天气不好我们待在家里。打开天气预报发现今天的天气不错,诶,这个时候我们级就可以去郊游。换算到程序中也就是相当于满足了“天气好”这样一个条件,执行了“去郊游”这样的语句。我们去郊游的话肯定要带些娱乐的东西,比如说扑克牌或者围棋等等,那么到底带什么呢?我们决定如果去郊游的人数大于 2 人就带扑克牌,如果只有 2 人,那么只能带围棋了。也就是说满足“郊游人数大于 2 人”的条件就会执行“带扑克牌”语句,如果不满足的话执行“带围棋”语句。

实例

实例演示
预览 复制
复制成功!
#include <stdio.h>

int main()
{
    int x = 1, y = 2, z = 3;

    if (x > 0)
    {
        if (y > z)
        {
            printf("语句1\n");
        }
        else
        {
            printf("语句2\n");
        }
    }
    else
    {
        if (z > 1)
        {
            printf("语句3\n");
        }
    }
    return 0;
}

运行案例 点击 "运行案例" 可查看在线运行效果

运行结果

语句2

由于 x > 0 条件成立,所以会执行 if 语句后面的程序,紧接着就要下一个判断, y > z ,显然这个是不成立的,所以执行了 else 里面的语句。

大家可以尝试修改上面的程序,修改片段条件,或者增加新的分支。

3. 小结

对于 C 语言中的嵌套分支,是解决多个条件同时要成立的问题。比如既要高效,又要省钱,又要质量好。那么这三个条件的同时成立和部分成立的判断就可以使用嵌套分支。说句实话,这三点在现实生活中是没有办法同时成立的,尤其是在软件开发过程中。大家要有所权衡。