C语言——控制语句——switch

switch语句  一般的用法就是

  

复制代码
 1   switch  (表达式)
 2 
 3   case    常量表达式1:  执行 语句  
 4 
 5                                  break 6 
 7   case    常量表达式2:  执行 语句  
 8 
 9                                  break10 
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之外的例子,具体可以自己研究一下;

 

 

 

 

 
posted @   Put_Biscuit  阅读(199)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示