2434

12 分钟

#C 语言的 while 循环语句

循环语句(Loop Statement) 是一种让程序重复执行一段代码的语句。

C 语言可以使用 whiledo ... while 来创建循环,前者先判断循环条件再执行代码,后者先执行代码再判断循环条件。

#while 循环

while 循环的基本结构如下:

while (循环条件) { 循环体 }

说明:

  • 判断“循环条件”是否为 true
    • 如果为 true 则执行循环体,然后进入下一轮循环
    • 如果为 false 则结束循环

开始

循环条件?

循环体

结束

示例:

#include <stdio.h> int main(void) { int i = 5; while (i > 0) // i 大于 0 时执行循环 { printf("循环执行,i=%d\n", i); i -= 1; // 将 i 的值减一 } return 0; }

说明:

  • i 大于 0 时,执行循环
  • 循环中打印 i 的值,然后将 i 值减一

运行结果:

循环执行,i=5 循环执行,i=4 循环执行,i=3 循环执行,i=2 循环执行,i=1

#do ... while 循环

do ... while 循环的基本结构如下:

do { 循环体 } while(循环条件);

说明:

  • 执行“循环体”,然后判断“循环条件”是否为 true
    • 如果为 true,则进入下一轮循环
    • 如果为 false 则结束循环

因为 do ... while 先执行循环体,再进行循环条件的判断;所以即使循环条件一开始就是 false,循环体也会执行一次。

开始

循环体

循环条件?

结束

示例:

#include <stdio.h> int main(void) { int i = 0; // 初始值为 0 do { printf("循环执行,i=%d\n", i); i -= 1; // 将 i 的值减一 } while (i > 0); // i 大于 0 时继续执行循环 return 0; }

说明:

  • 循环中打印 i 的值,然后将 i 值减一
  • i 大于 0 时,继续执行循环

虽然 i 的初始值是 0,不满足大于 0 的条件;但是由于先执行“循环体”,后判断“循环条件”;所以仍然会打印一次。

运行结果:

循环执行,i=0

#break 跳出循环

使用 break 可以提前跳出循环。

示例:

#include <stdio.h> int main(void) { int i = 5; while (i > 0) // i 大于 0 时执行循环 { printf("循环执行,i=%d\n", i); i -= 1; // 将 i 的值减一 if (i == 2) // 如果 i 的值为 2 { break; // 跳出循环 } } return 0; }

说明:

  • i 大于 0 时,执行循环
  • “循环体”中如果 i 的值是 2,则提前结束循环

运行结果:

循环执行,i=5 循环执行,i=4 循环执行,i=3

#continue 继续循环

使用 continue 可以提前进入下一轮循环。

示例:

#include <stdio.h> int main(void) { int i = 5; while (i > 0) // i 大于 0 时执行循环 { if (i % 2 == 0) // 如果 i 除以 2 的余数为0 { i -= 1; // 将 i 的值减一 continue; // 进入下一轮循环 } printf("循环执行,i=%d\n", i); i -= 1; // 将 i 的值减一 } return 0; }

说明:

  • i 大于 0 时,执行循环
  • “循环体”中如果 i 除以 2 余数为 0,则提前进入下一轮循环

运行结果:

循环执行,i=5 循环执行,i=3 循环执行,i=1

创建于 2025/6/30

更新于 2025/6/30