C 语言中for循环的基本规则可以总结为 “1 个语法结构 + 3 个表达式 + 执行流程” ,清晰易懂:
一、语法结构
c
运行
for (表达式1; 表达式2; 表达式3) {
// 循环体(要重复执行的代码)
}
二、3 个表达式的作用
| 表达式 | 功能 | 执行时机 |
|---|---|---|
| 表达式 1 | 初始化循环变量(比如int i=0) | 仅在循环开始前执行 1 次 |
| 表达式 2 | 循环条件判断(结果为真则执行循环体,假则退出循环) | 每次执行循环体前判断 |
| 表达式 3 | 更新循环变量(比如i++) | 每次循环体执行完后执行 |
三、执行流程
-
先执行表达式 1(初始化);
-
判断表达式 2:
- 若为
真→ 执行循环体 → 执行表达式 3 → 回到步骤 2; - 若为
假→ 退出循环。
- 若为
注意事项
- 表达式可以省略,但分号
;必须保留(比如for(;;)是无限循环); - 循环体如果只有 1 条语句,
{}可以省略,但建议始终加上(增强可读性); - 循环变量的作用域:C99 及以上标准中,
for内定义的变量(如for(int i=0;...))仅在循环内有效。
示例
使用for循环,打印1~100内的偶数,每行打印一个
#include <stdio.h>
int main() {
int j;
for (j = 1; j <= 100; j+=2)
printf("%d \n" ,j);
}
结果如下:
使用for循环,计算1+2+3+4+5....+100的和
#include <stdio.h>
int main() {
int sum = 0;
for (int j = 1; j <= 100; j++) {
sum += j;
}
printf("sun=%d\n", sum);
return 0;
}
结果如下:
#include <stdio.h>
int main() {
for (int n = 1; ; n++) {
if (n % 3 == 2 && n % 5 == 3 && n % 7 == 2) {
printf("满足条件的数是:%d\n", n);
break;
}
}
return 0;
}
运行结果:
continue: 继续 跳过它之后的代码,进入下一轮循环
include <stdio.h>
/*
break: 打破。跳出循环。
continue: 继续。
跳过它之后的代码,进入下一轮循环
*/
int main(){
for(int i=1;i<=10;i++){
if(i%4==0){
continue;
}
printf("%d\n", i);
}
结果如下: