一 分支
(1)结构化
1)分支和循环
C语言是一门'结构化'的'面向过程'的程序设计语言
生活中的'结构':
--1. 顺序-->['直男-->一根筋'];
--2. 选择-->['心机婊'];-->'有钱、帅、高富帅'
--3. 循环-->['痴情-->转圈圈']-->'想开了则跳出'
2) C语言中由';'号隔开的就是'一条语句'
备注 ; -->'空语句'-->'应用场景'
(2)C语言的分支
1. 'if'
表现形式:'单'分支;'双'分支;'多'分支
注意:'满足条件',执行'完'语句就会'停止',退出'分支判断'
2. switch case -->'后续讲解'
(3)if语句的语法结构
① 单分支
if(表达式) {
语句1;
语句2;
语句n;
}
备注: '一条'语句,可以省略'{}块' -->'可读性差'
② 双分支
//多分支
if(表达式) {
语句1;
语句2;
}
else {
语句1;
语句2;
}
备注: 主要是怕与'其它语言'搞混-->'Python'、'Shell'、'Lua'、'Java'
③ 多分支
// 了解'结构'
if(表达式1) {
语句1;
语句2;
语句n;
} else if(表达式2) {
语句1;
语句2;
语句n;
} else {
语句1;
语句2;
语句n;
}
执行多条语句必须用'{}'括起来 -->'规范'和'可读性'!!!
(4)表达式的真假
1) 在C语言中如何表示'真假'?
核心:0表示假,'非ASCII-->数字0'表示真
解释一下: 如果表达式的结果'为真',则'执行'对应的'语句块',然后跳出,不会进行判断;否则继续'判断'
(5)易错点
① 悬空else
下面代码'运行结果'是什么?
A 'haha'
B 'hehe'
C '报错'
D '正常执行,无结果'
1) 代码一定要'规范','增加'可读性
2)else是如何匹配if的?-->'匹配规则'
else和'离的最近'的'未匹配[else]'的'if'匹配
3) 适当的使用'{}'可以使'代码的逻辑'更加清楚
② if书写形式的对比
1)可读性
需求: 如果满足'condition1'则返回x,否则返回y -->'函数中'
//'代码1'
if (condition) {
return x;
}
return y;
+++++++++++++++'分割线'
//代码2
if(condition)
{
return x;
}
else
{
return y;
}
说明:两个'效果'一样,但是'最后'一个'可读性'更好
2)常量和变量的判断,常量应该放在左边
//代码1
int num = 1;
if(num == 5)
{
printf("hehe\n");
}
+++++++++++++++'分割线'+++++++++++++++
//代码2
int num = 1;
if(5 == num)
{
printf("hehe\n");
}
③ 练习题
1. 判断一个数'是否'为奇数
2. 输出1-100'之间'的奇数