之前 我们讲了 if 和 嵌套的if分支语句
但其实 多分支语句 我们还可以用 switch
有时 switch 语句可以简化逻辑代码
switch语句也称之为开关语句,其像多路开关一样,使程序控制流程形成多个分支,根据一个表达式的不同取值,选择其中的一个或多个分支执行。
我们先来看一个案例
要求
用户从键盘输入一个数字(范围是1~12),输出对应的月份的英文名称。
我们用 if 多分支语句 思路如下图
不得不说 还是相当麻烦的
switch 语句如下
switch语句 由3部分组成
1 控制表达式: switch后的用圆括号括起来的整数表达式,只能是整值类型(包括char),不能用浮点数和字符串。
2 情况标号:每个分支的开头都有一个情况标号,格式为:“case 常量表达式:”,常量表达式的值必须是整数或者字符。
3 语句:每个分支情况标号的后边是一个语句序列,可以包含任意数量的语句,不需要用花括号括起来,每组语句的最后一条通常是break语句,当然,如果没有break语句,编译也不会出错,但是含义会有所改变,后面会详细讲解它们的区别。
switch 语句流程图如下
多分支代码如下
#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {int n;scanf("%d", &n);switch (n) {case 1:printf("输入的1!");break;case 2:printf("输入的2!");break;default:printf("输入的不是1 也不是2");break;}return 0;
}
这里 我们定义一个 n 整数类型
用户输入 赋值给n
然后 switch 逻辑根据n的值进行
如果是1 输出 输入的1!
2 输出 输入的2!
否则输出 输入的不是1 也不是2
我们运行代码
刚进来 它会要求我们输入内容
我们输入 1
输入2
除了 1 和 2 我们这样输入
来个 25
走进了 否则 default