C语言while循环的用法(非常详细)
循环结构是编程中不可或缺的一部分,它允许我们重复执行某些代码块,直到满足特定条件为止。在C语言中,while 循环是一种常用的循环结构,它简单且强大,能够满足很多循环需求。
本文将深入探讨 while 循环的用法,包括常规的 while 循环和 do while 循环,帮助你全面掌握这一重要的编程概念。
while循环基础
while循环的基本语法如下:
while (条件) {
// 循环体
}
while 循环的工作原理是:在每次循环开始时,先检查条件是否为真。如果条件为真,则执行循环体中的代码;执行完毕后,再次检查条件。这个过程会一直重复,直到条件变为假。
让我们看一个简单的例子,打印 1~5 的数字:
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d ", i);
i++;
}
return 0;
}
输出结果:
1 2 3 4 5
在这个例子中,我们初始化变量i 为 1,然后在 while 循环中检查 i 是否小于或等于 5。只要条件成立,就打印 i 的值并将i增加 1。循环会一直执行,直到 i 变为 6,此时条件不再成立,循环结束。
while循环的注意事项
使用 while 循环时,有几点需要特别注意:
- 确保循环条件最终会变为假,否则会导致无限循环。
- 在循环体内需要有改变循环条件的语句,以确保循环能够正常结束。
- 如果循环条件一开始就为假,那么循环体一次都不会执行。
下面是一个计算 1~100 之和的例子,展示了如何正确使用 while 循环:
#include <stdio.h>
int main() {
int sum = 0;
int num = 1;
while (num <= 100) {
sum += num;
num++;
}
printf("1到100的和是:%d\n", sum);
return 0;
}
输出结果:
1到100的和是:5050
do while循环
do while 循环是 while 循环的一个变体,它的特点是循环体至少会执行一次,因为条件判断是在循环体执行之后进行的。
do while 循环的基本语法如下:
do {
// 循环体
} while (条件);
让我们用 do while 循环来实现一个简单的猜数字游戏:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int secretNumber, guess;
srand(time(0));
secretNumber = rand() % 100 + 1; // 生成1到100之间的随机数
do {
printf("猜一个1到100之间的数:");
scanf("%d", &guess);
if (guess > secretNumber) {
printf("太大了!再试一次。\n");
} else if (guess < secretNumber) {
printf("太小了!再试一次。\n");
} else {
printf("恭喜你,猜对了!\n");
}
} while (guess != secretNumber);
return 0;
}
可能的运行结果:
猜一个1到100之间的数:34↙
太小了!再试一次。
猜一个1到100之间的数:60↙
太小了!再试一次。
猜一个1到100之间的数:80↙
太大了!再试一次。
猜一个1到100之间的数:70↙
太小了!再试一次。
猜一个1到100之间的数:75↙
太小了!再试一次。
猜一个1到100之间的数:77↙
太小了!再试一次。
猜一个1到100之间的数:78↙
恭喜你,猜对了!
在这个例子中,无论用户的第一次猜测是否正确,程序都会至少询问一次,这就是 do while 循环的优势所在,它保证了循环体至少执行一次。
while循环与do while循环的比较
while 循环和 do while 循环的主要区别在于条件检查的时机:
- while 循环在执行循环体之前检查条件
- do while 循环在执行循环体之后检查条件
这意味着,如果条件一开始就为假,while 循环的循环体可能一次都不会执行,而 do while 循环的循环体至少会执行一次。
下图直观地展示了 while 循环和 do while 循环的执行流程:

该图清晰地展示了两种循环的执行流程。while 循环在进入循环体之前就进行条件判断,而 do while 循环则是在执行完循环体后才进行条件判断。
总结
while 循环和 do while 循环是C语言中非常实用的循环结构。while 循环适用于需要在循环开始前进行条件判断的情况,而 do while 循环则适用于至少需要执行一次循环体的场景。
在实际编程中,根据具体需求选择合适的循环结构,可以使代码更加简洁、高效。记住要注意避免无限循环,并确保循环条件最终会变为假,这样才能编写出健壮、可靠的程序。
声明:《C语言系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。