C++ 使用示例进行 do…while 循环
什么是 do-while 循环?
do-while 循环迭代一部分 C++ 多次执行程序。在 do-while 循环中,测试表达式被添加到循环底部。循环体位于测试表达式之前。这就是为什么循环体必须执行一次,即使测试表达式在第一个测试中计算结果为 false。
何时使用 do-while 循环?
当迭代次数不固定且循环必须至少执行一次时,应使用 do-while 循环。 C++ 编译 在评估条件之前先执行循环体。这意味着循环必须返回结果。即使测试条件在第一次评估时评估为假,情况也是如此。由于循环体已经执行,因此它必须返回结果。
句法
基本语法 C++ do while循环如下:
do{ //code }while(condition);
条件是测试表达式。它必须为真,循环才会执行。{ 和 } 标记 do while 循环体。它位于条件之前。因此,它在条件之前执行。
do-while 循环如何工作?
流程图说明:
- 开始 do while 循环。
- do while 循环的主体。
- 要评估的测试表达式或条件。
- 如果测试表达式为真,则 C++ 编译器执行了 do while 循环的主体。
- 如果测试表达式为假,则 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 循环
In 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: 如果为真,则执行内循环。
步骤5: 更新声明已更新。
步骤6: 过程重复运行直到测试表达式变为假。
步骤7: 当测试表达式变为假时,退出内循环并且控制跳转到外循环。
步骤8: 再次评估测试条件。
步骤9: 如果为真,则执行语句并返回假。
步骤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 循环中,循环体位于测试表达式之前。
- 即使测试表达式变为假,循环体也会执行至少一次。
- 当迭代次数不固定时应使用此循环。
- 只要条件为真,while 循环就可以运行任意次数。
- 每次迭代后都会评估一次条件。
- 条件评估的结果决定了要采取的行动。
- 如果条件为真,循环就执行循环主体。
- 当条件计算为假时,循环执行立即停止。
- 由于do while循环体已经执行完毕,所以必须返回结果。