分支和循环(一)


(上一次文章的下篇过段时间补上,最近比较忙,见谅~)

一、if语句

1.if

表达式成立(为真),则语句执行,否则不执行
在这里插入图片描述
以该题为例,要求输入两个数并比较它们的大小,if语句中如果a>b,则执行输出a>b,否则不执行该输出。

2.else

表示出现除了if之外的其他情况,则执行,需要注意,else所匹配的if是距离其最近的那个if,写代码时注意分辨。
在这里插入图片描述
如上图例,当输入内容不是if中的情况,即不是age>=18时,将执行else中的语句,得到未成年。

3.分支中包含多条语句

上述中的if语句和else语句只能控制一条语句,当我们要if语句同时控制2条语句时,可用{ },else同理。
在这里插入图片描述
如图例,age>=18时,输出成年和可以随时玩王者。

4.嵌套if

在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。
在这里插入图片描述

二、关系操作符

C语⾔⽤于⽐较的表达式,称为“关系表达式”(relational expression),⾥⾯使⽤的运算符就称
为“关系运算符”(relational?operator),主要有下⾯6个。
在这里插入图片描述
下图是一个较为典型的应用例子,要求我们输入三个数字,并将其从大到小排序。
在这里插入图片描述
值得注意的是,与日常生活中我们表达a<b<c不同,在c语言中需要用a<b&&b<c来表示。

三、条件操作符

条件操作符也叫三⽬操作符,需要接受三个操作数的,形式如下:
在这里插入图片描述
条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果exp1 为假, exp3 计算,计算的结果是整个表达式的结果。
在这里插入图片描述

四、逻辑操作符

1.逻辑取反运算符

!为逻辑取反运算符,可改变单个表达式的真假
在这里插入图片描述
如图所例,若flag为真,!flag为假,若flag为假,则!flag为真,故if语句中的!flag表示flag为假,执行if中的代码。

2.与运算符

&& 就是与运算符,也是并且的意思, && 是⼀个双⽬操作符,使⽤的⽅式是 a&&b , && 两边的表达式都是真的时候,整个表达式才为真,只要有⼀个是假,则整个表达式为假。
在这里插入图片描述
如上图例中,输出1000年-2000年中的闰年年份,就用到了&&运算符,表示该年份既能整除4,又不被100整除,即可满足闰年年份的条件。

3.或运算符

|| 就是或运算符,也就是或者的意思, || ?也是⼀个双⽬操作符,使⽤的⽅式是 a || b , || 两边的表达式只要有⼀个是真,整个表达式就是真,两边的表达式都为假的时候,才为假。
例如:假设⼀年中⽉份是12⽉或者1⽉或者2⽉是冬天,如何使⽤代码体现呢?
在这里插入图片描述

4.短路

C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。
如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。
如代码“if(month>=4&&month<=7)”左代码为month>=4,右代码为month<=7,当左代码month>=4的结果为0时,即使不判断右代码,整个表达式的结果也是0。

五、switch语句

除了if语句外,C语⾔还提供了 switch 语句来实现分⽀结构。switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重的 else if 改成更易⽤、可读性更好的形式。
在这里插入图片描述
上⾯代码中,根据表达式 expression 不同的值,执⾏相应的 case 分⽀。如果找不到对应的值,就执⾏ default 分⽀。
需注意,switch 后的 expression 必须是整型表达式,case 后的值,必须是整形常量表达式。

1.if语句和switch语句的对比

if语句
在这里插入图片描述
Switch语句
在这里插入图片描述
需注意:

  1. case 和后边的数字之间必须有空格
  2. 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句,在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。
    下面比较一下有无break的用法:
    当我们回答今天星期几时,需要加上break,因为只需要输出某一天。
    在这里插入图片描述
    而当我们回答某一天是否为工作日时,可以适当去掉break,代码和输出如下图:
    在这里插入图片描述
    下期预告:循环(while循环、for循环、do-while循环)、break&continue、循环的嵌套、goto语句。
  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值