C语言 -- 分支和循环(上)


正文开始
C语言是结构化的程序设计语言,这里的结构指的是 顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。
我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构。

1. if语句

1.1 if

if 语句的语法形式如下:
在这里插入图片描述
表达式成立(为真),则语句执行,表达式不成立(为假),则语句不执行。
在C语⾔中,0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执行,表达式的结果如果是不是0,则语句执行。
例⼦:输⼊⼀个整数,判断是否为奇数
在这里插入图片描述
if 语句图示:
在这里插入图片描述

1.2 else

如果⼀个数不是奇数,那就是偶数了,如果任意⼀个整数,我们要清楚的判断是奇数还是偶数怎么表示呢?
这⾥里就需要 if…else… 语句了,语法形式如下
在这里插入图片描述
例⼦:输⼊⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。
在这里插入图片描述
练习:输⼊⼀个年龄,>=18岁就输出:成年,否则就输出:未成年
在这里插入图片描述

1.3 分支中包含多条语句

  • 默认在 if 和 else 语句中默认都只控制⼀条语句(if 后不加大括号的情况下)
  • 那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ {} 将代码括起来,else后也可以跟上⼤括号。

示例1:
在这里插入图片描述
示例2:
在这里插入图片描述

1.4 嵌套if

在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。
⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。请看如下代码:
在这里插入图片描述
上述代码也可以这样写,如下:
在这里插入图片描述再比如:输⼊⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出:负数。
在这里插入图片描述
以上就是嵌套if语句的语法,有了嵌套if语句,就可以完成更多复杂逻辑的判断
练习:
在这里插入图片描述
在这里插入图片描述

1.5 悬空else问题

如果有多个 if 和 else ,可以记住这样⼀条规则, else 总是跟最接近的 if 匹配。
我们首先从下面代码开始
在这里插入图片描述
上⾯的代码排版,让 else 和第⼀个 if 语句对⻬,让我们以为 else 是和第⼀个if匹配的,当 if
语句不成⽴的时候,⾃然想到的就是执⾏ else ⼦句,打印 haha ,但实际上 else 是和第⼆个 if进⾏匹配的,这样后边的 if…else 语句是嵌套在第⼀个 if 语句中的,如果第⼀个 if 语句就不
成⽴,嵌套 if 和 else 就没机会执⾏了,最终啥都不打印。
如果代码改成下⾯这样就更加容易理解了。
在这里插入图片描述
或者如果我们希望else确实和第⼀个if匹配,可以这样修改代码:
在这里插入图片描述

要带上适当的⼤括号,代码的逻辑就会更加的清晰,所以⼤家以后在写代码的时候要注意括号的使用,让代码的可读性更高。
下面是不合法代码:
在这里插入图片描述

2. 关系操作符

C语⾔⽤于比较的表达式,称为“关系表达式”(relational expression),里面使用的运算符就称为“关系运算符”(relational operator),主要有下面6个。
在这里插入图片描述
下面是一些例子。
在这里插入图片描述

关系表达式通常返回 0 或 1 ,表示真假。
C语⾔中, 0 表⽰假,所有⾮零值表⽰真。⽐如, 20 > 12 返回 1 , 12 > 20 返回 0 。
关系表达式常⽤于 if 或 while 结构。
例子1:
在这里插入图片描述
例子2: 在这里插入图片描述
注意相等运算符 == 与赋值运算符 = 是两个不⼀样的运算符,不要混淆。有时候,可能会不小心写出下面的代码,它可以运行,但很容易出现意料之外的结果。
在这里插入图片描述
上面示例中,原意是 a == 3 ,但是不小心写成 a = 3 。这个式⼦表⽰对变量 a 赋值 3 ,它的返回值为 3 ,所以 if 判断总是为真。
为了防止出现这种错误,有的程序员喜欢将变量写在等号的右边。
在这里插入图片描述

这样的话,如果把 == 误写成 = ,编译器就会报错。
在这里插入图片描述
另⼀个需要避免的错误是:多个关系运算符不宜连⽤。
在这里插入图片描述
上⾯式⼦中, i < j 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进行比较。如果想要判断变量 j
的值是否在 i 和 k 之间,应该使用下面的写法。
在这里插入图片描述
例子:
在这里插入图片描述
比如:我们输⼊⼀个年龄,如果年龄在18岁~36岁之间,我们输出⻘年
在这里插入图片描述

3. 条件操作符

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

练习1:
在这里插入图片描述
练习2:使⽤条件表达式实现找两个数中较⼤值。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少年没有乌托邦。

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

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

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

打赏作者

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

抵扣说明:

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

余额充值