分⽀语句和操作符

目录

一.if语句

1.if

2.else

3.分⽀中包含多条语句

4.嵌套if

5.悬空else问题

二.关系操作符 

三.条件操作符 

四.逻辑操作符:&& , || , !

1.与运算符&&

2.或运算符||

3.逻辑取反运算符 !

4.短路

五.switch 语句

1.switch

2.switch语句中的break

3.switch语句中的default

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


一.if语句

1.if

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

2.else

这里输入a,如果a>=60,则输出及格了,否则输出不及格。

3.分⽀中包含多条语句

默认在 if 和 else 语句中默认都只控制⼀条语句,像上面的那个语句一样。

if 语句只能控制⼀条语句,是独⽴存在的。那如果我们要if语句同时控制2条语句,那就要使⽤ {} 将代码括起来,else 后也可以跟上⼤括号。

4.嵌套if

在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。

else if (num>0) 就是嵌套if。

5.悬空else问题

如果有多个 if 和 else , else 总是跟最接近的 if 匹配。简单的说就是就近原则

这就是悬空 else 的问题,如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近 

的 if 匹配。 

注意 :如果我们希望else确实和第⼀个if匹配,可以这样修改代码:

二.关系操作符 

(1) > ⼤于运算符

(2) < ⼩于运算符

(3) >= ⼤于等于运算符

(4) <= ⼩于等于运算符

(5) == 相等运算符

(6) != 不相等运算符

关系表达式通常返回 0 或 1 ,表⽰真假。

注意 :相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符。

多个关系运算符不宜连⽤。要用逻辑操作符。

三.条件操作符 

条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果

exp1 为假, exp3 计算,计算的结果是整个表达式的结果。 

四.逻辑操作符:&& , || , !

1.与运算符&&

&& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。

2.或运算符||

|| 就是或运算符,也就是或者的意思, || 也是⼀个双⽬操作符,使⽤的⽅式是 a || b , ||两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。

3.逻辑取反运算符 !

如果 flag 为真, !flag 就是假,如果 flag 为假, !flag 就是真。所以上⾯的代码的意思就是 flag 为假,执⾏if语句中的代码。

4.短路

它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。 

简单的说就是:

(1)if(a >= 3 && a <= 5) ,当a >= 3(左边操作数)的结果为0的时候,右边操作数就不再执⾏。

(2) if(a == 1 || a==2 || a == 3),如果a == 1,则不⽤再判断a是否等于2或者3,整个表达式的结果也是1。 所以, || 操作符的左操作数的结果不为0时,就⽆需执⾏右操作数。

五.switch 语句

1.switch

除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。执⾏相应的 case 分⽀。如果找不到对应的值,就执⾏ default 分⽀。

注意 :

switch 后必须是整型表达式 

case 后的值必须是整形常量表达式

2.switch语句中的break

 switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语 

句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执⾏其他 case

语句中的代码,直到遇到 break 语句或者 switch 语句结束。

3.switch语句中的default

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

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

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

QAQ

谢谢大家的关注和点赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋雨QAQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值