在结构化程序设计中,顺序结构、分支结构、循环结构是构成程序逻辑的三大基本控制结构。所有复杂的程序逻辑,都可以通过这三种结构的嵌套、组合来实现,它们共同保证了程序逻辑清晰、可读性强。以下结合 Python 语法做详细说明并举例。
一、顺序结构
顺序结构是最基础、最默认的程序执行结构。程序会严格按照代码书写的从上到下的先后顺序逐行执行,中间没有任何判断、跳转或重复。
执行逻辑:语句1 → 语句2 → 语句3 → …… 依次执行,每一条语句只会执行一次
特点:无分支、无跳转、无重复,是所有程序的基础构成单元
示例:计算长方形的面积与周长
python
# 1. 输入长和宽
length = float(input("请输入长方形的长:"))
width = float(input("请输入长方形的宽:"))
# 2. 计算面积和周长
area = length * width
perimeter = 2 * (length + width)
# 3. 输出结果
print(f"长方形的面积为:{area}")
print(f"长方形的周长为:{perimeter}")
代码会严格按照「输入→计算→输出」的顺序逐行执行,不会跳过任何一步,也不会重复执行。
二、分支结构(选择结构)
分支结构也叫选择结构,它会根据条件表达式的布尔结果(True/False),决定执行哪一段代码,从而实现程序的逻辑判断能力。Python 中通过 if 、 else 、 elif 关键字实现。
1. 单分支结构(if)
只有一个判断条件,条件成立时执行指定代码块,条件不成立则直接跳过该代码块。
语法格式:
python
if 条件表达式:
条件成立时执行的代码块
示例:判断一个数是否为正数
python
num = int(input("请输入一个整数:"))
if num > 0:
print("这是一个正数")
print("程序结束")
只有输入的数大于0时,才会打印“这是一个正数”;否则直接执行最后一行。
2. 双分支结构(if-else)
包含两个互斥的分支,条件成立执行第一个代码块,条件不成立则执行第二个代码块,二者必然执行其中一个。
语法格式:
python
if 条件表达式:
条件成立时执行的代码块
else:
条件不成立时执行的代码块
示例:判断一个数是奇数还是偶数
python
num = int(input("请输入一个整数:"))
if num % 2 == 0:
print("这是一个偶数")
else:
print("这是一个奇数")
3. 多分支结构(if-elif-else)
包含多个判断条件,程序会从上到下依次判断每个条件;一旦某个条件成立,就执行对应代码块,后续条件不再判断;若所有条件都不成立,则执行 else 分支。
语法格式:
python
if 条件1:
条件1成立时执行的代码块
elif 条件2:
条件2成立时执行的代码块
elif 条件3:
条件3成立时执行的代码块
...
else:
所有条件都不成立时执行的代码块
示例:根据分数判断成绩等级
python
score = float(input("请输入考试分数:"))
if score >= 90:
grade = "优秀"
elif score >= 80:
grade = "良好"
elif score >= 60:
grade = "及格"
else:
grade = "不及格"
print(f"成绩等级:{grade}")
4. 嵌套分支
在一个分支的代码块内部,再包含另一个分支结构,用于处理多层逻辑判断。
示例:判断年份是否为闰年
python
year = int(input("请输入年份:"))
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
print("是闰年")
else:
print("不是闰年")
else:
print("是闰年")
else:
print("不是闰年")
三、循环结构
循环结构用于让一段代码重复执行多次,直到满足终止条件时停止,大幅简化重复逻辑的代码量。Python 中主要有 while 循环和 for 循环两种实现方式。
1. while 循环(条件循环)
先判断条件表达式,若结果为 True,则执行循环体代码;执行完后再次判断条件,直到条件为 False 时退出循环。
适合循环次数不确定、依靠条件控制结束的场景。
语法格式:
python
while 条件表达式:
循环体代码(重复执行的内容)
示例:计算 1~100 的整数累加和
python
sum_num = 0
i = 1 # 循环变量初始化
while i <= 100:
sum_num += i
i += 1 # 循环变量更新,避免死循环
print(f"1~100的和为:{sum_num}")
注意:必须在循环体内更新循环变量,否则条件永远为 True,会造成死循环。
2. for 循环(遍历循环)
用于遍历序列(字符串、列表、range 范围等)中的每一个元素,每遍历一个元素就执行一次循环体。
适合循环次数明确、或需要逐个访问容器元素的场景。
语法格式:
python
for 变量 in 序列:
循环体代码
示例1:遍历打印字符串中的每个字符
python
for char in "Python":
print(char)
示例2:用 for 循环计算 1~100 的累加和(配合 range() 函数)
python
sum_num = 0
for i in range(1, 101): # range(1,101) 生成1到100的整数序列
sum_num += i
print(f"1~100的和为:{sum_num}")
3. 循环控制语句
在循环中可以通过特殊关键字控制循环的执行流程:
- break:立即终止整个循环,直接跳出循环体,执行循环之后的代码
- continue:跳过本次循环的剩余代码,直接进入下一次循环判断
break 示例:遍历到数字5时终止循环
python
for i in range(1, 10):
if i == 5:
break
print(i, end=" ")
# 输出:1 2 3 4
continue 示例:跳过数字5,打印其他数
python
for i in range(1, 10):
if i == 5:
continue
print(i, end=" ")
# 输出:1 2 3 4 6 7 8 9
小结
- 顺序结构是基础,负责线性执行逻辑;
- 分支结构负责条件判断,实现逻辑分支;
- 循环结构负责重复执行,简化批量操作。
三者互相嵌套、组合,就能实现所有复杂的程序功能。