【C语言】分支语句(if和switch)

一,分支语句是什么

C语言支持三种结构:顺序结构,选择结构,循环结构。

顺序结构:顾名思义,代码从上到下执行

选择结构:通过某些条件判断是否执行代码或执行另外的代码

循环结构:部分代码只要满足条件可以重复执行

而这里的分支语句就对应其中的选择结构

二,分支语句的形式

1. if语句

1.1. if语句的形式

表达式经过计算会得到一个值:若这个值是0,则表达式为假,不会执行下面的语句;若这个值为非0,则表达式为真,执行下面的语句。

复合语句:将多条语句用{}括起来,可将多条语句看成一条语句,这条语句叫做复合语句

1.2 if 与 else

形式:

当if中表达式的值为非0时,执行语句1;当表达式的值为0时,执行else中的语句2

注意:当有多个if时,else与上面最近的那个if配对

1.3 多分支的if语句(else if)

当需要判断多种情况时,可以使用else if语句,判断顺序从上至下,一旦一个表达式为真则推出接下来的判断

if与else中的陷阱

读者可以思考这代码的输出结果是什么,是不是什么也没有,我在第一次遇见类似代码也是这种想法:else会与最上面的if配对,但实际却不是

当if内包含if且没用{}括起来,else遵循最近原则,输出没有预料的结果

2. switch语句

switch语句的形式

在switch语句中会使用case,default, break这几个关键字,下面一一介绍他们在switch中的功能

2.1 case

在switch()中的表达式必须为整型表达式

在case后面的值也必须为整形

表达式经过计算得到一个值,然后编译器会直接跳到与该值相同的case语句上继续执行代码

2.2 break

但是之后的case中的语句也会执行,要怎么使后面语句不执行,这就需要break发挥作用

当代码运行到break时,会跳出该switch语句,不会继续执行switch中的后续代码

但有时不用每一个case中都加break,可以利用这种机制

2.3 default

当我们遇到可能出现其他取值而不好一一列出,可以使用default将不按规则输入的值统一说明

3. 多组关系运算符在表达式中连续使用的注意事项

例如:a = 2, b = 5, c = 6  对于b<c<a,我们肯定认为是错误的,但计算机运算时却不一样

计算机认为这种表达是正确的,而我们就要弄清计算机时怎么计算这种表达式的

首先:会先算前面的b<c,得到结果为1;然后再用得到的结果1去运算:1<a,而这是对的,所以整个表达式结果为1,是真,进行后面的代码。对此,我们不要使用这种表达式,往往会产生意料之外的结果。

总结

感谢大家能看到最后,这是我对于C语言中if和switch的理解,其中若有不正确的地方还希望大佬能给小萌新指出,我会汲取意见并在下次写出更好的文章。码字不易,球球三连

  • 29
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值