C语言while循环的用法(非常详细,附带实例)

C语言while循环的用法(非常详细,附带实例)

while 是 C 语言中的一种循环控制结构,用于在特定条件为真时重复执行一段代码。

while 循环的语法如下:

while (条件表达式) {

// 循环体:条件为真时执行的代码

}

条件表达式:返回真(非 0)或假(0)的表达式,决定是否继续循环。

大括号 {}:定义循环体,若只有一行语句,可省略,但建议保留以提高可读性。

while 循环的核心是一个条件表达式,当条件为真(非 0)时,循环体内的代码会反复执行,直到条件变为假(0)。while 循环的运行流程是:

检查 条件表达式。

若为真,执行循环体,然后返回步骤 1。

若为假,退出循环,继续执行后续代码。

也就是说,while 循环的逻辑是:“只要条件成立,就继续执行。”

在 C语言中,while 循环特别适合那些循环次数不固定、依赖条件判断的场景。接下来,我们将深入探讨 while 循环的用法、使用场景以及注意事项。

【实例】简单计数。

#include

int main(void) {

int count = 0;

while (count < 5) {

printf("计数:%d\n", count);

count++;

}

return 0;

}

输出结果:

计数:0

计数:1

计数:2

计数:3

计数:4

count < 5 初始为真,循环体执行 5 次,每次 count 自增,直到 count = 5,条件为假,循环结束。

while常见使用场景

1) 已知次数的循环

虽然 while 更适合动态条件,但也可以用于固定次数的循环。

#include

int main(void) {

int i = 1;

while (i <= 10) {

printf("%d ", i);

i++;

}

printf("\n");

return 0;

}

输出结果:

1 2 3 4 5 6 7 8 9 10

2) 累加计算

用 while 实现累加或求和。

#include

int main(void) {

int sum = 0, num = 1;

while (num <= 100) {

sum += num;

num++;

}

printf("1 到 100 的和是:%d\n", sum);

return 0;

}

输出结果:

1 到 100 的和是:5050

sum 累加每次的 num,直到 num > 100。

3) 输入验证

while 常用于等待用户输入符合条件。

#include

int main(void) {

int num;

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

scanf("%d", &num);

while (num <= 0) {

printf("输入错误,请输入一个正数:");

scanf("%d", &num);

}

printf("你输入的正数是:%d\n", num);

return 0;

}

输出结果(示例输入):

请输入一个正数:-5

输入错误,请输入一个正数:0

输入错误,请输入一个正数:3

你输入的正数是:3

C语言do-while循环

C语言还提供 do-while 循环,与 while 的区别是条件后置,至少执行一次循环体。

do {

// 循环体:先执行一次

} while (条件表达式);

【实例】do-while 用法。

#include

int main(void) {

int num = 0;

do {

printf("num = %d\n", num);

num++;

} while (num < 3);

return 0;

}

输出结果:

num = 0

num = 1

num = 2

即使初始 num = 0,循环体先执行一次,然后检查条件。

与for循环的对比

特性

while

for

初始化

需手动在循环外定义

包含在语法中

条件检查

每次循环前

每次循环前

更新语句

需手动在循环体内

包含在语法中

适用场景

动态条件

固定次数循环

while注意事项

1) 避免死循环

若条件永远为真,会导致死循环。

// 错误示例

while (1) { printf("无限循环\n"); } // 死循环

解决方法:确保条件最终会变为假,或使用 break 跳出。

2) break和continue

break 立即退出循环,continue 跳过本次循环剩余部分。

#include

int main(void) {

int i = 0;

while (i < 10) {

i++;

if (i == 3) continue; // 跳过 3

if (i == 7) break; // 在 7 退出

printf("%d ", i);

}

printf("\n");

return 0;

}

输出结果:

1 2 4 5 6

3) 条件表达式类型

条件必须返回整数值(非 0 为真,0 为假),避免使用浮点数直接比较。

// 不推荐

float f = 0.1;

while (f < 1.0) { ... } // 浮点误差可能导致问题

总结

while 是 C 语言程序常用的一种循环结构,适合处理条件动态变化的重复任务。

学习 while 循环语句,除了它本身的语法外,你还需要掌握 do-while 变体以及 break、continue 的用法,才能灵活控制程序的执行流程。

在 C 语言程序中使用 while 循环语句时,要避免出现死循环的情况。读完本文,恭喜你已经彻底掌握 while 循环语句的用法。

相关推荐

365体育投注网 率土之滨竭忠技能介绍_率土之滨攻略
28365365备用网址 流火病一般多久能好

流火病一般多久能好

📅 07-31 👁️ 6711
bet3365游戏 黑丝袜品牌推荐,黑丝袜品牌有哪些?