- 什么是循环
- 重复执行代码
- 为什么需要循环
- 循环的实现方式
- while
- do…while
- for
while语句
语法格式:
while (条件) {
循环体
……
}
需求:跑步5圈
示例代码:
#include <stdio.h>
int main() {
// 需求跑步5圈
// 1. 条件变量的定义
int i = 1;
// 2. while 控制重复的次数
while (i <= 5) {
// 3. 打印跑步第几圈
printf("跑步第 %d 圈\n", i);
// 4. 条件改变
i++;
}
return 0;
}
do…while语句
语法格式:
do {
循环体
……
} while (条件);
- do-while 循环语句是在执行循环体之后才检查 条件 表达式的值
- 所以 do-while 语句的循环体至少执行一次,do…while也被称为直到型循环
需求:跑步5圈
示例代码:
#include <stdio.h>
int main() {
// 需求跑步5圈
// 1. 条件变量的定义
int i = 1;
do {
// 2.1 打印跑步第几圈
printf("跑步第 %d 圈\n", i);
// 2.2 条件改变
i++;
} while ( i <= 5 ); // 3. 控制重复的次数
return 0;
}
for语句
语法格式:
for ( init; condition; increment ) {
循环体
}
- init会首先被执行,且只会执行一次
- 接下来,会判断 condition,如果条件condition为真
- 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句
- 条件再次被判断
需求:跑步5圈
示例代码:
#include <stdio.h>
int main() {
// 需求跑步5圈
for (int i = 1; i <= 5; i++) {
printf("跑步第 %d 圈\n", i);
}
return 0;
}
死循环
int main() { // while (1) { // printf(“根本停不下来\n”); // }
for(;;) {
printf("根本停不下来\n");
}
return 0;
}
<a name="ZViFN"></a>
# 循环案例
<a name="YLuqG"></a>
## 实现1+2+3……100所有数字的累加
```c
#include <stdio.h>
int main() {
// 需求:实现1+2+3……100所有数字的累加
// 定义条件变量初始值为1
int i = 1;
// 定义累加变量,初始值为0
int sum = 0;
// 循环控制100次
while (i <= 100) {
// 累加
sum += i;
// 条件改变
i++;
}
// 循环外面,打印最终的累加和
printf("sum = %d\n", sum);
// for循环实现
int temp = 0;
for (int i = 1; i <= 100; i++) {
temp += i;
}
printf("temp = %d\n", temp);
return 0;
}
循环嵌套
需求如下:
通过for循环嵌套打印内容:
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
说明:
1)每行有5个*,总共有5行
2)*之间有空格隔开
3)printf()1次只能打印1个*
示例代码:
#include <stdio.h>
int main() {
for (int i = 0; i <= 4; i++) {
for (int j = 0; j <= 4; j++) {
printf("* ");
}
printf("\n");
}
return 0;
}