C switch 语句
C switch 语句
在本教程中,您将通过示例学习在 C 编程中创建 switch 语句。
switch 语句允许我们在许多备选方案中执行一个代码块。
你可以用 if...else..if
做同样的事情 梯子。但是,switch
的语法 语句更容易读写。
switch...case的语法
switch (expression)
{
case constant1:
// statements
break;
case constant2:
// statements
break;
.
.
.
default:
// default statements
}
switch 语句是如何工作的?
表达式 评估一次并与每个 case 的值进行比较 标签。
- 如果匹配,则执行匹配标签后的相应语句。例如,如果表达式的值等于 constant2 ,
case constant2:
之后的语句 执行到break
遇到了。 - 如果没有匹配,则执行默认语句。
注意事项:
- 如果我们不使用
break
语句,匹配标签之后的所有语句也会被执行。 default
switch
中的子句 声明是可选的。
switch语句流程图
<图>示例:简单计算器
// Program to create a simple calculator
#include <stdio.h>
int main() {
char operation;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operation);
printf("Enter two operands: ");
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;
// operator doesn't match any case constant +, -, *, /
default:
printf("Error! operator is not correct");
}
return 0;
}
输出
Enter an operator (+, -, *, /): - Enter two operands: 32.5 12.4 32.5 - 12.4 = 20.1
- 用户输入的操作符存储在操作中 多变的。并且,两个操作数 32.5 和 12.4 存储在变量 n1 中 和 n2 分别。
由于操作 是 -
,程序的控制跳转到
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
最后,break 语句终止 switch
声明。
C语言