C++ do…while 循环(示例)
什么是 do-while 循环?
do-while 循环会多次迭代 C++ 程序的一个部分。在 do-while 循环中,测试表达式位于循环的底部。循环体在测试表达式之前。这就是为什么即使测试表达式第一次评估为 false,循环体也必须执行一次。
何时使用 do-while 循环?
当迭代次数不固定时,应使用 do-while 循环,并且循环至少必须执行一次。C++ 编译器在评估条件之前先执行循环体。这意味着循环必须返回一个结果。即使在第一次评估时测试条件评估为 false,也是如此。由于循环体已经执行,它必须返回结果。
语法
C++ do-while 循环的基本语法如下:
do{ //code }while(condition);
条件是测试表达式。循环执行必须为 true。{ 和 } 标记 do-while 循环的循环体。它位于条件之前。因此,它在条件之前执行。
do-while 循环如何工作?
流程图说明
- do-while 循环的开始。
- do-while 循环的循环体。
- 要评估的测试表达式或条件。
- 如果测试表达式为 true,C++ 编译器将执行 do-while 循环的循环体。
- 如果测试表达式为 false,C++ 编译器将执行循环体之后的语句。
- 循环体之后的语句。
示例 1
#include <iostream> using namespace std; int main() { // Local variable int x = 1; do { cout << "X is: " << x << endl; x = x + 1; } while (x < 5); return 0; }
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
- 注释。C++ 编译器将忽略它。
- 声明一个整数变量 x 并为其赋值 1。
- 创建 do-while 循环。{ 标记循环体的开始。
- 在控制台上打印变量 x 的值以及其他文本。endl 是一个 C++ 关键字,表示结束行。
- 每次迭代后将 x 的值增加 1。
- 循环体结束。测试表达式已添加到循环体的末尾。它测试 x 的值是否小于 5。
- 如果程序运行正常,main() 函数应返回值。
- main() 函数体结束。
示例 2
#include <iostream> using namespace std; int main() { int num, sum = 0; do { cout << "Enter a number: "; cin >> num; sum += num; } while (num != 0); cout << "Sum is " << sum; return 0; }
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。
- { 标记 main() 函数体的开始。
- 声明两个整数变量 num 和 sum。变量 sum 已初始化为 0。
- 创建 do-while 循环。{ 标记循环体的开始。
- 在控制台上打印文本“输入一个数字:”。
- 从控制台读取用户输入并将值存储在变量 num 中。cin(控制台输入)是一个读取用户输入的函数。
- 将 num 的值加到 sum 的值中,并将结果存储在变量 sum 中。
- } 标记循环体的结束。测试表达式已添加到循环体的末尾。它测试用户输入的值,以确保它不为 0。!= 是不等于运算符。如果用户输入 0,循环应终止。
- 在控制台上打印变量 sum 的值以及其他文本。
- 如果程序运行正常,main() 函数应返回值。
- main() 函数体结束。
嵌套 do-while 循环
在 C++ 中,我们可以在一个 do-while 循环中创建另一个 do-while 循环。这将产生一个嵌套的 do-while 循环。
语法
do{ statement(s) do{ statement(s) }while(condition); statement(s) }while(condition);
第一个 do 语句表示外部 do-while 循环的 do 部分。
第二个 do 语句表示内部 do-while 循环的 do 部分。
第一个 while 语句表示内部循环的测试条件。
第二个 while 语句表示外部循环的测试条件。
嵌套 do-while 循环如何工作
嵌套 do-while 循环的工作方式如下:
步骤 1: 初始化首先执行一次。
步骤 2: 语句(do 部分)执行一次。
步骤 3: 由流程控制评估测试表达式。
步骤 4: 如果为 true,则执行内部循环。
步骤 5: 更新语句被更新。
步骤 6: 过程重复运行,直到测试表达式变为 false。
步骤 7: 当测试表达式变为 false 时,退出内部循环,并将控制转移到循环之后的语句。
步骤 8: 再次评估测试条件。
步骤 9: 如果为 true,则执行语句以返回 false。
步骤 10: 循环执行停止,并将控制转移到循环之后的语句。
示例
#include <iostream> using namespace std; int main() { int a = 1; do { int b = 1; do { cout << a << "\n"; b++; } while (b <= 3); a++; } while (a <= 3); }
输出
这是代码的屏幕截图:
代码解释
- 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
- 包含 std 命名空间,以便使用其类和函数而无需调用它们。
- 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
- 声明一个整数变量 a 并为其赋值 1。
- 创建外部 do-while 循环。{ 标记外部循环体的开始。
- 声明一个整数变量 b 并为其赋值 1。
- 创建内部 do-while 循环。{ 标记内部循环体的开始。
- 在控制台上打印变量 a 的值。“\n”是一个换行符,它会将鼠标光标移到下一行。
- 每次迭代后将 b 的值增加 1。
- 内部循环体结束。测试表达式已添加到循环体的末尾。它测试 b 的值是否小于或等于 5。
- 每次迭代后将 a 的值增加 1。
- 外部循环体结束。测试表达式已添加到循环体的末尾。它测试 a 的值是否小于或等于 3。
- main() 函数体结束。
摘要
- do-while 循环会多次运行一段代码。
- 当迭代次数不固定时,应使用它。
- 在 do-while 循环中,循环体在测试表达式之前。
- 即使测试表达式为 false,循环体也至少执行一次。
- 当迭代次数不固定时,应使用此循环。
- 只要条件为 true,do-while 循环就可以运行任意次数。
- 条件在每次迭代后评估一次。
- 条件评估的结果决定了要采取的操作。
- 如果条件为 true,循环将执行循环体。
- 一旦条件评估为 false,循环执行立即停止。
- 由于 do-while 循环体已执行,它必须返回结果。