第5章 循环结构程序设计
5.4 使用 for
语句实现循环
for
语句是 C 语言中实现循环的另一种强大工具,特别适用于循环次数已知或需要按特定步骤迭代变量的场景。
基本结构
for
语句的一般形式为:
for (初始化表达式; 循环条件表达式; 更新表达式) {
循环体语句;
}
- 初始化表达式:设置循环控制变量的初值,只在循环开始前执行一次。
- 循环条件表达式:每次循环前评估,如果为真(非0),则执行循环体。
- 更新表达式:每次循环体执行后执行,通常用于更新循环控制变量。
示例:输出1到100的整数
#include <stdio.h>
int main() {
for (int i = 1; i <= 100; i++) {
printf("%d ", i);
}
return 0;
}
功能和执行过程
for
语句首先执行初始化表达式,然后评估循环条件表达式。如果条件为真,执行循环体,随后执行更新表达式,并重复此过程,直到循环条件为假。
示例:计算1到100的累加和
#include <stdio.h>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("sum=%d\n", sum);
return 0;
}
此程序在每次迭代中累加变量 i
,直到 i
大于100,输出结果为5050。
for
语句的灵活性
for
语句提供了极高的灵活性,可适用于各种循环需求:
-
省略初始化表达式:
int i = 1; for (; i <= 100; i++) { // 循环体 }
-
省略循环条件表达式(永远为真的循环):
for (int i = 1; ; i++) { if (i > 100) break; // 循环体 }
-
省略更新表达式:
for (int i = 1; i <= 100;) { // 循环体 i++; }
-
三个表达式的灵活使用:
for (int i = 0, j = 100; i <= j; i++, j--) { // 循环体 }
for
语句由于其紧凑的结构和明确的迭代方式,非常适合处理计数和步进循环,它可以清晰地定义循环的开始、结束和步进,使代码易于理解和维护。不过,过度利用 for
语句中表达式的灵活性可能会导致代码难以阅读,尤其是在复杂的程序中。建议在编写 for
循环时,保持简洁和清晰,避免不必要的复杂性。