流程控制
switch
前言
在编程中,switch
语句允许我们根据表达式的值,在多个备选项中执行一个代码块。虽然我们可以使用 if...else...if
语句实现相同的功能,但 switch
语句的语法更加简洁明了,易于编写和阅读。
作用
switch
语句:根据给定的表达式值,在多个可能的选项中选择并执行相应的代码块。这种结构对于处理多重分支非常有用,尤其是在需要根据单个变量的值选择不同操作的情况下。
使用场景
switch
语句通常用于处理多个离散的可能值,例如菜单选项、状态切换等。与if...else
相比,switch
更适合处理有限的、多重条件分支情况,代码结构更加简洁。
示例
示例: 简单计算器
// 简单计算器程序,支持四则运算
#include <stdio.h>
int main() {
char operation; // 存储操作符
double n1, n2; // 存储操作数
printf("输入操作符 (+, -, *, /): ");
scanf("%c", &operation);
printf("输入两个操作数: ");
scanf("%lf %lf", &n1, &n2);
// 根据操作符执行相应的计算
switch(operation)
{
case '+':
printf("%.1lf + %.1lf = %.1lf", n1, n2, n1 + n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1 - n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", n1, n2, n1 * n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf", n1, n2, n1 / n2);
break;
// 如果操作符不匹配任何已定义的选项
default:
printf("错误!操作符无效");
}
return 0;
}
输出:
输入操作符 (+, -, *, /): -
输入两个操作数: 32.5 12.4
32.5 - 12.4 = 20.1
在这个例子中,用户输入的 -
操作符存储在 operation
变量中,两个操作数分别为 32.5 和 12.4,存储在变量 n1
和 n2
中。程序根据 switch
语句中的匹配条件执行相应的减法操作,并输出结果。
结语
switch
语句提供了一种清晰的方式来根据表达式的值选择执行路径,特别适合在有多个分支的情况下使用。它可以使代码结构更加简洁,减少冗长的 if...else
链条,同时也提高了代码的可读性和维护性。