C语言——控制语句(switch语句)
switch语句语法:
switch(expression){ case constant-expression : statement(s); break; /* 可选的 */ case constant-expression : statement(s); break; /* 可选的 */ /* 可以有任意数量的 case 语句 */ default : /* 其他条件,可选的 */ statement(s); }
- switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
- 在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
- case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
- 当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
- 当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
- 不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
示例代码:
#include <stdio.h> int main () { /*switch语句*/ char grade = 'B'; switch(grade) { case 'A' : printf("优\n" ); break; case 'B' : printf("良\n" ); break; case 'C' : printf("中\n" ); break; case 'D' : printf("不及格\n" ); break; default : printf("成绩无效\n" ); } printf("您的成绩是 %c\n", grade ); return 0; }
运行结果:
良
您的成绩是 B
- 无 break 语句的情况:
#include <stdio.h> int main () { /*switch语句*/ char grade = 'B'; switch(grade) { case 'A' : printf("优\n" ); break; case 'B' : printf("良\n" ); //break; case 'C' : printf("中\n" ); break; case 'D' : printf("不及格\n" ); break; default : printf("成绩无效\n" ); } printf("您的成绩是 %c\n", grade ); return 0; }
运行结果:
良
中
您的成绩是 B
例子:
#include <stdio.h> int main() { /*switch语句*/ int num; printf("请输入一个整数: "); scanf("%d",&num); switch(num) { case 1: printf("星期一\n"); break; case 2: printf("星期二\n"); break; case 3: printf("星期三\n"); break; case 4: printf("星期四\n"); break; case 5: printf("星期五\n"); break; case 6: printf("星期六\n"); break; case 7: printf("星期日\n"); break; default: printf("输入错误\n"); } }
运行结果:
请输入一个整数: 3 星期三
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战