约 2434 字

约 12 分钟

#C 语言的 while 循环语句

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

C 语言可以使用 while 或 do ... 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 则结束循环

是

否

开始

循环体

循环条件?

结束

示例:

#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

作者: PlanC

创建: 2025/6/30