C语言——switch语句

switch 语句
 switch语句也是一种分支语句,常常用于多分支的情况。比如:输入1,输出星期一,输入2,输出星期二,输入三,输出星期三,输入星期四,输出星期四,,,,如果写成if   else if   else if....的形式太复杂了这时候就用到了switch语句
 
 格式:
 switch(整形表达式)
 {
        语句项;
 }
      而语句项是什么呢??
 是一些 case语句,如:
     case 整形常量表达式:
             语句;
default子句
 如果表达式的值与所有的case标签都不匹配怎么办?其实也没什么,结构就是所有的语句都被跳过了而已。程序并不会终止,也不会宝报错,因为这种情况在C语言中并不认为适合错误。但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办?你可以在default子句,把下面的标签写在任何一个case标签可以出现的位置。当Switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。所以,每个Switch语句中只能该出现一条defaul子句。但是他他可以出现在语句列表的任何位置,而且语句流回想贯穿一个case标签一样贯穿default子句。

 

 补充:Switch语句也是可以嵌套的,还有就是case语句下面一般要跟一个break(主要看你想不想让代码在这里结束了,如果在case1处加一个break,而且上图又是在case1进去的,代码就会只走一个case1,就不会下面的代码了),就是结束运行的意思,程序就不会往下面继续走了,就拿上面这个图举例,n的值是1,就在case1进入,但是case1下面没有break,所以继续走case2,一直走到程序结束或者是break。上面图不是有4个case语句嘛,如果case的值为5,但下面没有case5,就会走default,就这样。。

 

C语言中的switch语句是一种多分支语句,用于根据表达式的值选择不同的代码块进行执行。通过switch语句,可以简洁地处理多个可能的情况。使用switch语句时,需要在括号中指定一个表达式,然后根据不同的情况使用case关键字来匹配特定的值。每个case后面是一个代码块,用于处理对应的情况。 在switch语句中,如果没有使用break语句,那么程序将会继续执行下一个case语句,直到遇到break语句或者switch语句的结束大括号。这样可以实现多个情况的处理逻辑。 比如,我们可以使用switch语句来实现一个根据输入的数字输出对应的星期几的功能。通过输入的数字,程序会在相应的case语句中执行对应的代码块,输出相应的星期几。 ```c #include <stdio.h> int main() { int a; scanf("%d", &a); switch (a) { 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; } } ``` 在上面的例子中,通过输入不同的数字,程序会输出对应的星期几。如果输入1,那么程序会输出"周一";如果输入2,那么程序会输出"周二",以此类推。 需要注意的是,为了避免执行多余的代码,我们在每个case语句的末尾都加上了break语句。这样当匹配到对应的case后,程序会执行相应的代码块,并且跳出switch语句。 总结起来,C语言中的switch语句可以让我们根据表达式的值选择不同的代码块执行。通过使用case关键字,我们可以匹配特定的值,并在对应的代码块中处理相应的情况。使用break语句可以避免执行多余的代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【C语言】细品分支结构——switch语句](https://blog.youkuaiyun.com/apple_61439616/article/details/125639443)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值