跳到主要内容

C 语言循环

在编程中,循环是一种重复执行某段代码的结构。C语言提供了三种主要的循环结构:forwhiledo-while。这些循环结构可以帮助我们简化重复性任务,使代码更加简洁和高效。

1. for 循环

for 循环是最常用的循环结构之一,适用于已知循环次数的情况。它的语法如下:

c
for (初始化; 条件; 更新) {
// 循环体
}
  • 初始化:在循环开始前执行一次,通常用于初始化循环变量。
  • 条件:每次循环开始前都会检查这个条件,如果为真,则继续执行循环体;如果为假,则退出循环。
  • 更新:每次循环结束后执行,通常用于更新循环变量。

示例

c
#include <stdio.h>

int main() {
for (int i = 1; i <= 5; i++) {
printf("Iteration %d\n", i);
}
return 0;
}

输出:

Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
提示

for 循环非常适合用于遍历数组或执行固定次数的操作。

2. while 循环

while 循环在条件为真时重复执行循环体。它的语法如下:

c
while (条件) {
// 循环体
}
  • 条件:每次循环开始前都会检查这个条件,如果为真,则继续执行循环体;如果为假,则退出循环。

示例

c
#include <stdio.h>

int main() {
int i = 1;
while (i <= 5) {
printf("Iteration %d\n", i);
i++;
}
return 0;
}

输出:

Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
警告

在使用 while 循环时,务必确保循环条件最终会变为假,否则会导致无限循环。

3. do-while 循环

do-while 循环与 while 循环类似,但它会先执行一次循环体,然后再检查条件。它的语法如下:

c
do {
// 循环体
} while (条件);
  • 条件:每次循环结束后检查这个条件,如果为真,则继续执行循环体;如果为假,则退出循环。

示例

c
#include <stdio.h>

int main() {
int i = 1;
do {
printf("Iteration %d\n", i);
i++;
} while (i <= 5);
return 0;
}

输出:

Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
备注

do-while 循环适用于至少需要执行一次循环体的情况。

4. 实际应用场景

案例1:计算1到100的和

c
#include <stdio.h>

int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) {
sum += i;
}
printf("Sum of numbers from 1 to 100 is %d\n", sum);
return 0;
}

输出:

Sum of numbers from 1 to 100 is 5050

案例2:用户输入验证

c
#include <stdio.h>

int main() {
int number;
do {
printf("Enter a positive number: ");
scanf("%d", &number);
} while (number <= 0);
printf("You entered: %d\n", number);
return 0;
}

输出:

Enter a positive number: -5
Enter a positive number: 0
Enter a positive number: 10
You entered: 10
注意

在实际应用中,循环结构常用于处理用户输入、遍历数据集合、执行重复任务等场景。

5. 总结

C语言中的循环结构是控制程序执行流程的重要工具。通过 forwhiledo-while 循环,我们可以轻松地处理重复性任务。每种循环结构都有其适用的场景,选择合适的循环结构可以使代码更加简洁和高效。

6. 附加资源与练习

练习1

编写一个程序,使用 for 循环打印出1到10的平方数。

练习2

编写一个程序,使用 while 循环计算用户输入的整数的阶乘。

练习3

编写一个程序,使用 do-while 循环让用户输入一个1到100之间的数字,直到输入正确为止。

提示

完成这些练习后,你将更加熟悉C语言中的循环结构,并能够灵活运用它们解决实际问题。