C语言流程控制之switch语句详解是本网站总结的一篇C语言教程文章,主要介绍了switch语句的用法和注意事项。本文将通过以下几个方面详细讲解:
1. switch语句的基本格式
switch语句由一个表达式和多个case组成,如下所示:
switch(expression){
case constant-expression1:
statement1;
break;
case constant-expression2:
statement2;
break;
...
default:
statementN;
}
其中,expression是需要判断的值,只能是整型或字符型,比如一个变量或者常量;case关键字后面的常量表达式需要和expression的值进行比较;如果expression的值和某个case后面的常量表达式相等,则执行该case后面的语句,直到遇到break或switch语句的末尾;default是可选的,如果所有的case都不满足条件,则执行default之后的语句。
2. switch语句的注意事项
使用switch语句需要注意以下几点:
- 每个case之间必须使用break语句隔开,否则会出现case穿透现象,造成意想不到的结果;
- expression必须是整型或字符型,不能为浮点型或指针类型;
- case中的常量表达式必须是整型常量表达式,不能使用变量或者非常量表达式;
- default关键字是可选的,如果没有default,则当expression的值和所有case后面的常量表达式都不匹配时,switch语句将会不执行任何语句;
- switch语句的花括号不能省略,否则会编译错误。
3. switch语句的示例
示例一
下面是一个简单的根据数字输出星期几的程序,该程序使用switch语句进行判断:
#include <stdio.h>
int main(){
int day = 1;
switch(day){
case 1:
printf("Monday\n");
break;
case 2:
printf("Tuesday\n");
break;
case 3:
printf("Wednesday\n");
break;
case 4:
printf("Thursday\n");
break;
case 5:
printf("Friday\n");
break;
case 6:
printf("Saturday\n");
break;
case 7:
printf("Sunday\n");
break;
default:
printf("Invalid day\n");
}
return 0;
}
运行结果为:
Monday
示例二
下面是一个计算器程序,该程序根据用户输入的操作符进行加、减、乘、除运算:
#include <stdio.h>
int main(){
char operator;
double num1, num2, result;
printf("请输入一个运算符(+,-,*,/):");
scanf("%c", &operator);
printf("请输入两个数字:");
scanf("%lf %lf", &num1, &num2);
switch(operator){
case '+':
result = num1 + num2;
printf("%.2lf + %.2lf = %.2lf\n", num1, num2, result);
break;
case '-':
result = num1 - num2;
printf("%.2lf - %.2lf = %.2lf\n", num1, num2, result);
break;
case '*':
result = num1 * num2;
printf("%.2lf * %.2lf = %.2lf\n", num1, num2, result);
break;
case '/':
if(num2 == 0){
printf("除数不能为0\n");
break;
}
result = num1 / num2;
printf("%.2lf / %.2lf = %.2lf\n", num1, num2, result);
break;
default:
printf("无效的操作符\n");
}
return 0;
}
运行结果为:
请输入一个运算符(+,-,*,/):+
请输入两个数字:4.5 5.6
4.50 + 5.60 = 10.10
以上就是本网站为大家总结的C语言流程控制之switch语句的详细攻略,希望可以帮助到大家。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言流程控制之switch语句详解 - Python技术站