Bootstrap

do while循环

do...while 是 C 语言中的一种循环结构,它与 while 循环相似,但有一个重要的区别:do...while 循环至少执行一次循环体,因为条件判断是在循环体执行之后进行的。

do...while 循环的语法

do {
    // 循环体
} while (条件表达式);

  • 循环体:要执行的代码块。
  • 条件表达式:循环是否继续的判断条件。如果条件为真(非零),则继续循环;为假(零),则结束循环。

执行过程

  1. 先执行循环体,然后检查条件表达式。
  2. 如果条件为真(非零),则继续执行循环体;如果为假(零),则退出循环。

while 的区别

  • while 循环先检查条件,如果条件一开始就是假(零),可能一次也不执行循环体。
  • do...while 循环先执行循环体,然后再检查条件,所以至少执行一次
  • do...while 循环的示例:示例 1:打印从 1 到 5
  • #include <stdio.h>
    int main() {
        int i = 1;
        do {
            printf("%d ", i);
            i++; // 更新 i
        } while (i <= 5);
        return 0;
    }
  • 输出

    1 2 3 4 5

    在这个示例中,do...while 循环至少会执行一次,即使初始条件可能会失败。

    示例 2:用户输入的有效性检查

    假设你要求用户输入一个正数,使用 do...while 确保至少输入一次,并且在输入无效时会继续提示用户。

  • #include <stdio.h>
    int main() {
        int num;
        do {
            printf("请输入一个正数:");
            scanf("%d", &num);
        } while (num <= 0);  // 只要输入不是正数,就继续循环
        printf("您输入的正数是:%d\n", num);
        return 0;
    }

  • 示例输出

    请输入一个正数:-5
    请输入一个正数:0
    请输入一个正数:10
    您输入的正数是:10

    常见错误

  • 忘记更新循环变量: 如果在 do...while 循环中忘记更新控制条件的变量,可能会导致无限循环。

  • 条件错误: 如果条件写反,可能会导致循环过早结束或不按预期运行。

;