2.3.5 分支结构
2.3.5 分支结构
分支结构就是指,程序运行到此处会发生分支 根据当前满足的条件,我们进入对应的分支
举个例子,如果我期末考试所有科目考了100分绩点4.0直接保研浙大计算机,那么我爹肯定会狠狠表扬我一番;但如果我所有科目考了60分绩点1.0,我爹肯定就直接被我气笑了
再通俗一点,旮旯给木(galgame)总玩过吧 你选不同的选项就会进入不同的结局
好了,下面我们介绍C语言两种实现分支结构的方法,最后再比较一下他们的优缺点
if语句
if语句的句式如下 if (条件1) { 代码1 } else if(条件2) { 代码2 } else { 代码3 }
其中,else if和else都不是必须写的,但一个if语句一定要有if✍✍✍
下面我解释一下else if和else是干什么的 else if,就是当if的条件不满足时,进而判断是否满足else if所对应的条件 else,就是if和全部else if的条件都不满足时,执行else中的代码4
一个if语句最多有一个if、一个else,但是else if可以有很多个
示例程序(根据分数输出评级)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int score;
scanf("%d", &score);
if (score >= 90)
{
printf("A");
}
else if (score >= 80 && score < 90)
{
printf("B");
}
else if (score >= 70 && score < 80)
{
printf("C");
}
else
{
printf("D");
}
return 0;
}
switch语句
switch语句的句式如下
switch(判断的对象) { case 取值情况1: { 代码1 } case 取值情况2: { 代码2 }
...
default: { 代码n } }
可能看上去有点抽象,我来解释一下什么意思 比如我们的分支是通过变量a的取值决定的,那么第一行就写switch(a) 之后我们打一个大括号,表示语句范围 接下来就是case 取值情况1: 比如我要写一个a == 5就执行的情况 那就是 case 5: { 代码 break; }
而default就是在除去我们写出的情况以外的所有情况下执行
顺带一提,我在上面写了一个break;
这个 break; 会直接跳出整个 switch 语句,不会执行下面的代码。
是的,如果不写 break; 的话,下面其他 case 的代码都会被执行的。
switch语句主要适用于结果有限且取值固定的情况
示例程序