分支语句(if else和 switch)

1. if  else 语句

 在C语言们用if语句实现分支结构。

1.1 if  else

       在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果不是0,则语句执⾏。

1.2 语法形式

 if语句的语法形式如下:

(1)

      if(表达式){

           语句1;

      }else{

         语句2;

     }

  (2)

      if(表达式)

          语句1;

     else

         语句2;

     (2)中的if 和else只能控制一条语句,当语句1中有多条语句时if只能控制语句1中的第一条语句,而其他语句不会受if 语句影响依旧会执行。

例如:

1.3 分⽀中包含多条语句

    if语句想要包含多条语句就必须将语句用大括号括起来。

例如:

     

1.4 if else的嵌套

      如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。

例如:

让 else 和第⼀个 if 语句对⻬,让我们以为 else 是和第⼀个if匹配的,当 if语句不成⽴的时候,⾃然想到的就是执⾏ else ⼦句,打印 haha ,但实际上 else 是和第⼆个 if进⾏匹配的,这样后边的 if...else 语句是嵌套在第⼀个 if 语句中的,如果第⼀个 if 语句就不成⽴,嵌套 if 和 else 就没机会执⾏了,最终啥都不打印。

上例等同于下例:

if else语句带上适当的⼤括号,代码的逻辑就会更加的清晰,所以⼤家以后在写代码的时候要注意括号的使⽤,让代码的可读性更⾼。

2.switch 语句

2.1语法形式

switch(表达式)
{
case 常量1:

       语句1;
       break;
case 常量2:

       语句2;
       break;
case 常量3:

       语句3;
       break;

    default:

       语句4;
}

注意事项:

1.case 和后边的数字之间必须有空格。

2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。

3.表达式的结果和常量必须为整型或字符型。

5.2 break语句

     在 switch 语句中使⽤ break 才能跳出 switch 语句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执⾏其他 case语句中的代码,直到遇到 break 语句或者 switch 语句结束。

例如:

5.3 default

     在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹
配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊default ⼦句。

5.4 switch语句中的case和default的顺序问题

在 switch 语句中 case 语句和 default 语句是没有顺序要求的,只要你的顺序是满⾜实
际需求的就可以。不过我们通常是把 default ⼦句放在最后处理的。

  

  • 25
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
回答: 前端中,if-else和switch-case都是用来进行条件判断的语句。根据引用\[1\]的结论,当条件是连续数字或相隔不大时,编译器会使用表结构做优化,此时switch-case的性能优于if-else。而在其他情况下,switch-case其实就是逐个分支判断,性能与if-else无异。所以,如果条件是不连续的数字,如1、2、3、456、987,使用switch-case可能会浪费内存,因为每个case都需要占用内存空间。因此,在这种情况下,使用if-else可能更合适。引用\[2\]中也提到了这一点。然而,最终选择使用if-else还是switch-case并不仅仅取决于性能,而是根据具体情况和代码的可读性来决定。很多优秀的项目和代码选择了if-else语句,这可能是因为if-else更灵活,适用范围更广,更容易理解和维护。所以,在前端开发中,我们需要根据具体情况来选择使用if-else还是switch-case语句。 #### 引用[.reference_title] - *1* *2* [if-else 和 switch-case 哪个效率更高?](https://blog.csdn.net/lt_xiaodou/article/details/126966636)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [优秀的代码最终选择if else,还是switch case](https://blog.csdn.net/xingyu_qie/article/details/128810177)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值