侧边栏壁纸
博主头像
编程之家 博主等级

行动起来,活在当下

  • 累计撰写 37 篇文章
  • 累计创建 3 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

C语言程序设计:11.do while 循环语句

李航
2025-12-02 / 0 评论 / 0 点赞 / 194 阅读 / 0 字

C语言程序设计:do while 循环语句

1. 引入

在 C 语言中,do while 循环是另一种常用的循环结构。与 while 循环不同,do while 循环会先执行一次循环体,然后再判断循环条件。即使条件不满足,do while 循环也会至少执行一次。它适用于在执行循环之前必须先执行某些操作的场景。

2. do while 循环语法

do while 循环的语法格式如下:

do {
    // 循环体
} while (条件);
  • 循环体:在每次循环前会先执行一次,之后判断条件。
  • 条件:每次循环结束后判断,如果条件为真(非零),则继续执行下一次循环;如果条件为假(零),则结束循环。

3. do while 循环语法 + 案例

3.1 简单的 do while 循环

让我们看一个例子,打印 1 到 10 的数字。

代码示例

#include <stdio.h>

int main() {
    int i = 1;

    do {
        printf("%d ", i);
        i++;
    } while (i <= 10);

    return 0;
}

解释

  • do while 循环从 i = 1 开始,首先执行一次循环体,然后判断 i <= 10 是否为真。如果为真,则继续执行下一次循环。
  • 因为 do while 保证循环体至少执行一次,所以即使 i 初始值已经大于 10,循环体也会执行一次。

输出示例

1 2 3 4 5 6 7 8 9 10
3.2 使用 do while 循环求和

接下来,通过 do while 循环计算 1 到 10 的整数之和。

代码示例

#include <stdio.h>

int main() {
    int sum = 0;
    int i = 1;

    do {
        sum += i;  // 每次将 i 的值加到 sum 中
        i++;
    } while (i <= 10);

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

    return 0;
}

解释

  • sum 用来存储 1 到 10 的累加和。
  • 每次循环时,sum 都增加当前的 i 值,并通过 i++ 更新计数器。

输出示例

1 到 10 的和是:55

4. 代码说明

  • 初始化部分int i = 1;int sum = 0; 用来初始化循环控制变量和累加和的变量。
  • 循环条件i <= 10 用来控制循环是否继续执行。每次循环后会判断条件是否成立。
  • 更新部分i++ 用来更新循环控制变量 i 的值。

5. 练习题

  1. 题目:编写一个程序,使用 do while 循环输出从 1 到 10 的数字。

    答案

    #include <stdio.h>
    
    int main() {
        int i = 1;
    
        do {
            printf("%d ", i);
            i++;
        } while (i <= 10);
    
        return 0;
    }
    
  2. 题目:编写一个程序,使用 do while 循环计算从 1 到 10 的整数之和。

    答案

    #include <stdio.h>
    
    int main() {
        int sum = 0;
        int i = 1;
    
        do {
            sum += i;  // 累加 i 的值
            i++;
        } while (i <= 10);
    
        printf("1 到 10 的和是:%d\n", sum);
    
        return 0;
    }
    
  3. 题目:编写一个程序,使用 do while 循环找出 1 到 10 的奇数和偶数,并分别输出。

    答案

    #include <stdio.h>
    
    int main() {
        int i = 1;
    
        printf("奇数:");
        do {
            if (i % 2 != 0) {  // 如果 i 是奇数
                printf("%d ", i);
            }
            i++;
        } while (i <= 10);
    
        i = 1;  // 重置 i,开始输出偶数
        printf("\n偶数:");
        do {
            if (i % 2 == 0) {  // 如果 i 是偶数
                printf("%d ", i);
            }
            i++;
        } while (i <= 10);
    
        return 0;
    }
    
  4. 题目:编写一个程序,使用 do while 循环输入 5 个学生的成绩,并计算这些成绩的总和。要求:不能使用数组。

    答案

    #include <stdio.h>
    
    int main() {
        int i = 1;
        float score, total = 0;
    
        do {
            printf("请输入第 %d 个成绩:", i);
            scanf("%f", &score);
            total += score;  // 累加成绩
            i++;
        } while (i <= 5);
    
        printf("总成绩是:%.2f\n", total);
    
        return 0;
    }
    

总结

  • do while 循环的最大特点是保证至少执行一次循环体,因为条件判断是在执行循环体之后才进行的。
  • do while 循环适合用于那些在循环前必须执行某些操作的场景。
  • 在实际编程中,选择合适的循环结构(forwhiledo while)是非常重要的,能够帮助我们高效地解决问题。
0

评论区