c语言while循环语句用法举例(5个)

c语言while循环语句用法举例(5个)

在C语言中,while 是一种常用且灵活的循环结构,用于重复执行特定的代码块,直到给定的条件不再满足。接下来,让我们深入探讨 while 循环的用法,并通过一系列示例来加深理解。

while 循环的基本语法如下:

while (条件) {

// 循环体

// 当条件为真时重复执行的代码

}

循环开始时,程序会评估括号中的条件,如果条件为真(非零值),则执行循环体中的代码。执行完毕后,程序会再次检查条件。这个过程会一直重复,直到条件变为假(零值)。

让我们通过一些实际的例子来探索 while 循环的不同应用场景。

1. 基本计数器

我们先从一个简单的计数器开始,这个例子将打印出 1 到 5 的数字:

#include

int main() {

int count = 1;

while (count <= 5) {

printf("%d ", count);

count++;

}

return 0;

}

输出结果:

1 2 3 4 5

在这个例子中,我们初始化一个计数器 count 为 1。while 循环的条件是 count <= 5,意味着只要 count 小于或等于 5,循环就会继续执行。在每次循环中,我们打印当前的 count 值,然后将其递增。这个过程会一直持续到 count 变为 6,此时条件不再满足,循环结束。

2. 用户输入验证

while 循环常用于验证用户输入。下面的例子要求用户输入一个 1 到 10 之间的数字,如果输入无效,程序会一直提示重新输入:

#include

int main() {

int number;

printf("请输入一个 1 到 10 之间的数字:");

scanf("%d", &number);

while (number < 1 || number > 10) {

printf("无效输入。请重新输入一个 1 到 10 之间的数字:");

scanf("%d", &number);

}

printf("你输入的有效数字是:%d\n", number);

return 0;

}

在这个例子中,while 循环会一直执行,直到用户输入一个有效的数字(1 到 10 之间)。这种方式确保了程序只接受符合要求的输入。

3. 计算阶乘

while 循环也可以用于执行数学计算,下面的例子计算一个给定数字的阶乘:

#include

int main() {

int number, factorial = 1;

int temp;

printf("请输入一个正整数:");

scanf("%d", &number);

temp = number;

while (temp > 0) {

factorial *= temp;

temp--;

}

printf("%d 的阶乘是 %d\n", number, factorial);

return 0;

}

在这个例子中,我们使用 while 循环来计算阶乘。循环从输入的数字开始,每次迭代都将当前数字与累积的阶乘相乘,然后将数字减 1。这个过程一直持续到数字变为 0。

4. 菜单驱动的程序

while 循环可以用来创建一个简单的菜单驱动程序,允许用户多次选择操作:

#include

int main() {

int choice;

while (1) { // 无限循环

printf("\n菜单:\n");

printf("1. 打印 'Hello'\n");

printf("2. 打印 'World'\n");

printf("3. 退出\n");

printf("请选择(1-3):");

scanf("%d", &choice);

switch (choice) {

case 1:

printf("Hello\n");

break;

case 2:

printf("World\n");

break;

case 3:

printf("再见!\n");

return 0;

default:

printf("无效选择,请重试。\n");

}

}

return 0;

}

这个例子使用了一个无限 while 循环(条件始终为真)来反复显示菜单并处理用户的选择。只有当用户选择退出选项时,程序才会终止。

5. 文件处理

while 循环在文件处理中也非常有用,特别是当我们需要逐行读取文件内容时:

#include

int main() {

FILE *file;

char line[100];

file = fopen("example.txt", "r");

if (file == NULL) {

printf("无法打开文件\n");

return 1;

}

while (fgets(line, sizeof(line), file) != NULL) {

printf("%s", line);

}

fclose(file);

return 0;

}

在这个例子中,while 循环会一直读取文件的每一行,直到达到文件末尾(fgets 返回 NULL)。这种方法可以有效地处理不知道具体行数的文件。

通过这些多样化的例子,我们可以看到 while 循环在C语言中的灵活性和多样性,它可以用于简单的计数、用户输入验证、复杂的数学计算、程序流程控制,甚至文件操作。

最后请记住,while 循环的关键在于正确设置循环条件,以及确保循环体中有适当的更新语句,以避免陷入无限循环。

相关推荐

中华道藏(道人家)
约彩365ios下载

中华道藏(道人家)

📅 06-28 👁️ 3944
塔塔信息技术工资福利待遇怎么样?从9方面为你解读
日博365备用网址

塔塔信息技术工资福利待遇怎么样?从9方面为你解读

📅 10-23 👁️ 9198
当贝市场乐视超3 X43和PPTV 43P哪个好?
日博365备用网址

当贝市场乐视超3 X43和PPTV 43P哪个好?

📅 09-06 👁️ 7594
不灭之握
日博365备用网址

不灭之握

📅 09-05 👁️ 6300
边境 (游戏)
365娱乐官网官方网站

边境 (游戏)

📅 07-20 👁️ 5415
GPS怎么打开?手机开启定位服务的详细步骤指南
日博365备用网址

GPS怎么打开?手机开启定位服务的详细步骤指南

📅 07-18 👁️ 1702