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