switch case语句

本文深入讲解了switch语句的工作原理及使用方法,包括整数值分支判断、default分支、case值的作用、break语句的使用、case顺序及嵌套等关键知识点。

 switch 语句 (switch statement)
switch语句也称开光语句,它是多分支结构。
 
1.整数值分支判断
   
     switch括号中的表达式只能是整型,字符型或枚举型表达式。

     case 后面的常量表达式之类型必须与其匹配。(否则编译错误)
    
float f=4.0
switch(f){} //error statement

2.default分支
      当表达式的值与某个case后面的常量表达式相当时,就执行次case后面的语句;若所有case中的常量表达式都不匹配,就执行default语句,弱无直接退出。

3.“case:值”既标号

这里是重点
 
     标号是不能重复的名字 所以每一个case的值必须不同
  
    case 'A':cout<<"This is A"<<endl;
    case 65: cout<<"This is 65"<<endl;
这里就是重复会编译错误。
4.break跳出
      最后一个分支可省略break语句
5.case顺序随意
6.case里面的项不能缩写
 
比如VB里可以写


select case a
   case 90 to 100,104,105
end select
C只能这样写
switch(a){
  case 90:
  case 91:
  case 92:
  ....
  case 100:
  case 104:
  case 105:  break;
  }
7.还可以嵌套

总的说来,认清switch的case是语句标号,判断是否转到相应的标号的语句执行,所以只有碰到break或}才跳出
switch(){
case 1:break;
case 2:break;
default:
}

Switch case语句是一种选择结构的语句,用来代替简单的、拥有多个分枝的if else语句,其核心思想是“值匹配”,即根据变量的值跳转到相应的case分支[^1][^2]。 #### 语法格式 ```c switch (表达式) { case 常量1: // 当表达式的值等于常量1时执行的代码 break; case 常量2: // 当表达式的值等于常量2时执行的代码 break; ... default: // 当表达式的值不匹配任何case时执行的代码 } ``` #### 代码执行流程 当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句switch是“选择”语句,不是“循环”语句,虽然break一般用于跳出“循环”,但它还有跳出switch的用法[^3]。 #### break的作用 break是C语言中的一个关键字,专门用于跳出switch语句。所谓“跳出”,是指一旦遇到break,就不再执行switch中的任何语句,包括当前分支中的语句和其他分支中的语句;也就是说,整个switch执行结束了,接着会执行整个switch后面的代码[^4]。 #### 示例代码 ```c #include <stdio.h> int main() { int num = 2; switch (num) { case 1: printf("数字是1\n"); break; case 2: printf("数字是2\n"); break; case 3: printf("数字是3\n"); break; default: printf("数字不是1、2、3\n"); } return 0; } ``` 在上述代码中,由于`num`的值为2,所以会执行`case 2`后面的语句,输出“数字是2”,然后遇到`break`,跳出switch语句
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值