C语言——控制语句——switch
switch语句 一般的用法就是
1 switch (表达式) 2 3 case 常量表达式1: 执行 语句 4 5 break; 6 7 case 常量表达式2: 执行 语句 8 9 break; 10 11 default : 执行语句
表达式一般是 整型, char ,int ,short 等 , 如果是浮点型就不行。 (具体原因个人猜测大概是因为浮点数本身,并不是一个具体准确的数, 因为浮点数小数位后 是不准的, 举个例子就是:
比如我 float a=1.0;
但其实实际上可能是0.999999999999998 (无限趋近,但不一定完全相等)。 因此,浮点数做 条件判断通常是不行, 比如我case 1 但其实并不是1 只是无限趋近, 那么该不该执行呢?)
Q1: 为什么default没有break呢?
A1:因为default自带break ,执行完后跳出switch;
Q2: case之后的break是什么作用呢?
A2: 跳出整个switch ,即,当我执行到这个语句执行完了就跳出
Q3:如果我全部不加break会怎么样呢?
A3: 假设我满足 常量表达式2 则会从常量表达式2之后一直执行到有break为止。(如果都没有的话就会执行到default,因为default自带break 参考Q1)
举个例子 :
//由于比较懒,只贴出主要逻辑部分,需运行的话自己补全一下头文件 以及main之类的。
1 int a=2; 2 3 switch (a) 4 5 case 1 :printf("case 1"); //当a的条件满足等于1的时候 执行 6 7 case 2: printf("case 2"); //当a的条件满足等于2的时候 执行 8 9 case 3: printf("case 3");//当a的条件满足等于3的时候 执行 10 11 default : printf ("default");//当a的条件不满足以上case的所有条件时候执行
如上图所示,执行了除case1之外的例子,具体可以自己研究一下;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)