首页 > 编程笔记

C++ do while循环结构详解

在 C++ 中,do while 语句可以控制代码的循环执行,允许代码块至少执行一次,然后根据条件判断是否重复执行代码块。

do while 的语法结构如下:
do {
    // 循环体,至少执行一次的代码块
} while (expr);
其中,expr 作为 do while 的循环条件,本质是一个表达式。注意,while(expr) 后面的;分号不能省略。

do while 语句的执行过程是:
  1. 执行 do 后的代码块;
  2. 判断循环条件 expr 的值是否为 true;
  3. 如果 expr 的值为 true,则回到第 1 步:反之如果 expr 的值为 false,则立即结束循环。

和 while 循环不同,do while 语句会先执行一次循环体,然后再根据循环条件决定是否重复执行。也就是说,do while 语句可以保证循环体至少执行一次,而 while 中的循环体可能一次都不执行。

以下是一个使用 do while 循环的菜单驱动程序的示例:
#include <iostream>

int main() {
    int choice;

    do {
        std::cout << "菜单:\n";
        std::cout << "1. 查看信息\n";
        std::cout << "2. 编辑信息\n";
        std::cout << "3. 退出\n";
        std::cout << "请输入您的选择:";
        std::cin >> choice;

        switch (choice) {
            case 1:
                std::cout << "信息:这是一个示例程序。\n";
                break;
            case 2:
                std::cout << "编辑功能未实现。\n";
                break;
            case 3:
                std::cout << "退出程序。\n";
                break;
            default:
                std::cout << "无效选择!\n";
                break;
        }

    } while (choice != 3);

    return 0;
}
在这个示例中,do while 循环确保菜单至少显示一次,然后根据用户的选择反复显示,直到用户输入 3,循环条件 choice!=3 的值为 false,循环才会终止。

总结

C++ 的 do while 循环结构提供了一种确保至少执行一次代码块的循环机制,而 while 循环是只有在条件满足时才执行代码块。

do while 循环特别适合需要先执行再判断的情况,例如菜单驱动的交互。通过掌握 do while 循环和了解其与 while 循环的差异,你可以更灵活地控制程序的流程和逻辑。

推荐阅读