控制结构
学习目标
通过本集的学习,你将能够:
- 理解顺序执行
- 掌握选择结构(if, switch)
- 掌握循环结构(while, for)
- 理解跳转语句
1. 顺序执行
1.1 什么是顺序执行?
顺序执行是最简单的控制流,语句按顺序一条接一条执行。
顺序执行示例:
x = 1
y = 2
z = x + y
print(z) // 输出 31.2 流程图
开始
↓
语句1
↓
语句2
↓
语句3
↓
结束2. 选择结构
2.1 if 语句
if 语句根据条件选择执行路径。
基本 if:
if (condition) {
statement;
}
if-else:
if (condition) {
statement1;
} else {
statement2;
}
if-elif-else:
if (cond1) {
s1;
} elif (cond2) {
s2;
} else {
s3;
}2.2 流程图(if-else)
条件?
/ \
真 假
↓ ↓
语句1 语句2
↓ ↓
\ /
汇合点2.3 switch 语句
switch 语句根据表达式的值选择分支。
switch (expression) {
case value1:
statements;
break;
case value2:
statements;
break;
default:
statements;
}3. 循环结构
3.1 while 循环
while 循环在条件为真时重复执行。
while 循环:
while (condition) {
statement;
}
示例:
i = 0
while (i < 10) {
print(i)
i = i + 1
}3.2 do-while 循环
do-while 循环至少执行一次。
do-while 循环:
do {
statement;
} while (condition);
示例:
i = 0
do {
print(i)
i = i + 1
} while (i < 10)3.3 for 循环
for 循环有初始化、条件、更新。
for 循环(C 风格):
for (init; condition; update) {
statement;
}
示例:
for (i = 0; i < 10; i++) {
print(i)
}
for 循环(Python 风格):
for i in range(10):
print(i)3.4 循环流程图
while 循环:
┌───────────┐
↓ │
条件? │
/ \ │
真 假 │
↓ ↓ │
语句 退出 │
↓ │
└──────────────┘4. 跳转语句
4.1 break
break 跳出循环或 switch。
break 示例:
for (i = 0; i < 10; i++) {
if (i == 5) {
break; // 跳出循环
}
print(i)
}
// 输出 0, 1, 2, 3, 44.2 continue
continue 跳过当前迭代,继续下一次。
continue 示例:
for (i = 0; i < 10; i++) {
if (i % 2 == 0) {
continue; // 跳过偶数
}
print(i)
}
// 输出 1, 3, 5, 7, 94.3 return
return 从函数返回。
return 示例:
def add(a, b):
return a + b
result = add(1, 2) // 35. 实用案例
5.1 案例1:计算阶乘
计算 n! = 1 * 2 * ... * n
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
print(factorial(5)) // 1205.2 案例2:FizzBuzz
打印 1 到 100:
- 3 的倍数打印 Fizz
- 5 的倍数打印 Buzz
- 两者都是打印 FizzBuzz
for i in range(1, 101):
if i % 15 == 0:
print("FizzBuzz")
elif i % 3 == 0:
print("Fizz")
elif i % 5 == 0:
print("Buzz")
else:
print(i)6. 自测问题
- 什么是顺序执行?
- if 和 switch 的区别是什么?
- while 和 do-while 的区别是什么?
- break 和 continue 的区别是什么?
- for 循环的三个部分是什么?
7. 下集预告
下一集我们将学习子程序(函数)!
参考资料
- 《程序设计语言:概念与构造》
- 《编程语言原理》