C - 循环:高效编程的入门
你好,有抱负的程序员们!今天,我们将踏上一段激动人心的旅程,探索C语言的循环世界。作为你友好邻邦的计算机科学老师,我很高兴能引导你了解这个基本概念,它将彻底改变你的编码体验。
循环是什么,我们为什么需要它们?
想象一下,你被要求写100次"我爱编程"。听起来很乏味,对吧?这就是循环派上用场的地方!循环允许我们重复执行一段代码,节省时间并使我们的程序更高效。
C循环语句的流程图
在我们深入研究代码之前,让我们先可视化一下循环是如何工作的:
┌─────────────┐
│ 开始循环 │
└──────┬──────┘
│
┌──────▼──────┐
│ 条件判断 │
└──────┬──────┘
│
┌───────┴───────┐
No │ │ Yes
│ ┌───────────▼─────────┐
│ │ 执行循环体 │
│ └───────────┬─────────┘
│ │
│ ┌───────────▼─────────┐
│ │ 更新计数器 │
│ └───────────┬─────────┘
│ │
┌───▼───┐ │
│ 结束 │◄──────────┘
└───────┘
这个流程图显示了循环的基本结构。我们从检查一个条件开始。如果它是真的,我们执行循环体并更新我们的计数器。然后,我们再次检查条件。这个过程会一直继续,直到条件变成假的。
C中的循环类型
C语言为我们提供了三种主要的循环类型。让我们一一探索:
1. for循环
当你确切知道你想重复多少次时,for
循环是完美的。
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
printf("迭代 %d\n", i);
}
return 0;
}
在这个例子中,我们在5次迭代中打印迭代数。让我们分解一下:
-
int i = 1
:初始化我们的计数器 -
i <= 5
:只要这个条件为真,就继续 -
i++
:每次迭代后增加我们的计数器
输出:
迭代 1
迭代 2
迭代 3
迭代 4
迭代 5
2. while循环
当你想重复某个条件为真时,while
循环是很好的选择。
#include <stdio.h>
int main() {
int count = 1;
while (count <= 5) {
printf("计数是:%d\n", count);
count++;
}
return 0;
}
在这里,我们从1数到5。循环将继续,只要count
小于或等于5。
输出:
计数是:1
计数是:2
计数是:3
计数是:4
计数是:5
3. do-while循环
do-while
循环与while
循环相似,但它保证循环体至少执行一次。
#include <stdio.h>
int main() {
int num = 1;
do {
printf("%d 的平方是 %d\n", num, num * num);
num++;
} while (num <= 5);
return 0;
}
这个程序计算并打印1到5的数的平方。
输出:
1 的平方是 1
2 的平方是 4
3 的平方是 9
4 的平方是 16
5 的平方是 25
C循环的组成部分
C语言中的每个循环都由三个主要部分组成:
- 初始化:我们设置循环变量
- 条件:决定循环是否继续的测试
- 更新:每次迭代后如何改变循环变量
C中的循环控制语句
有时,我们需要对循环有更多的控制。C语言为此提供了两个特殊语句:
1. break语句
break
语句允许我们提前退出循环。
#include <stdio.h>
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
printf("在 i = %d 时退出循环\n", i);
break;
}
printf("i = %d\n", i);
}
return 0;
}
这个循环将在i
达到6时停止。
输出:
i = 1
i = 2
i = 3
i = 4
i = 5
在 i = 6 时退出循环
2. continue语句
continue
语句跳过当前迭代的其余部分,并移动到下一个迭代。
#include <stdio.h>
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
printf("跳过迭代 %d\n", i);
continue;
}
printf("i = %d\n", i);
}
return 0;
}
这个循环将在i
为3时跳过打印。
输出:
i = 1
i = 2
跳过迭代 3
i = 4
i = 5
C中的无限循环
无限循环是永远不会结束的循环。虽然通常是不经意的,但在某些情况下我们可能需要这种行为。
#include <stdio.h>
int main() {
while (1) {
printf("这将永远打印!\n");
}
return 0;
}
小心处理无限循环!如果处理不当,它们可能会使你的程序崩溃。
结论
恭喜你!你已经迈出了进入C语言循环世界的第一步。记住,熟能生巧。尝试编写你自己的循环,尝试不同的条件,很快你就能像专业人士一样循环!
以下是我们在本文中讨论的循环类型的快速参考表:
循环类型 | 语法 | 最佳使用场景 |
---|---|---|
For | for (init; condition; update) { ... } |
你知道确切的迭代次数 |
While | while (condition) { ... } |
你想基于一个条件重复 |
Do-While | do { ... } while (condition); |
你需要至少执行一次循环 |
快乐编码,愿你的循环总是按照你的意愿终止!
Credits: Image by storyset