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 Loop
C++ do-while 流程图

流程图说明

  1. do-while 循环的开始。
  2. do-while 循环的循环体。
  3. 要评估的测试表达式或条件。
  4. 如果测试表达式为 true,C++ 编译器将执行 do-while 循环的循环体。
  5. 如果测试表达式为 false,C++ 编译器将执行循环体之后的语句。
  6. 循环体之后的语句。

示例 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;
}

输出

Do-While Loop

这是代码的屏幕截图:

Do-While Loop

代码解释

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包含 std 命名空间,以便使用其类和函数而无需调用它们。
  3. 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
  4. 注释。C++ 编译器将忽略它。
  5. 声明一个整数变量 x 并为其赋值 1。
  6. 创建 do-while 循环。{ 标记循环体的开始。
  7. 在控制台上打印变量 x 的值以及其他文本。endl 是一个 C++ 关键字,表示结束行。
  8. 每次迭代后将 x 的值增加 1。
  9. 循环体结束。测试表达式已添加到循环体的末尾。它测试 x 的值是否小于 5。
  10. 如果程序运行正常,main() 函数应返回值。
  11. 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;
}

输出

Do-While Loop

这是代码的屏幕截图:

Do-While Loop

代码解释

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包含 std 命名空间,以便使用其类和函数而无需调用它们。
  3. 调用 main() 函数,程序的逻辑应添加到其中。
  4. { 标记 main() 函数体的开始。
  5. 声明两个整数变量 num 和 sum。变量 sum 已初始化为 0。
  6. 创建 do-while 循环。{ 标记循环体的开始。
  7. 在控制台上打印文本“输入一个数字:”。
  8. 从控制台读取用户输入并将值存储在变量 num 中。cin(控制台输入)是一个读取用户输入的函数。
  9. 将 num 的值加到 sum 的值中,并将结果存储在变量 sum 中。
  10. } 标记循环体的结束。测试表达式已添加到循环体的末尾。它测试用户输入的值,以确保它不为 0。!= 是不等于运算符。如果用户输入 0,循环应终止。
  11. 在控制台上打印变量 sum 的值以及其他文本。
  12. 如果程序运行正常,main() 函数应返回值。
  13. 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);
}

输出

Nested Do While Loop

这是代码的屏幕截图:

Nested Do While Loop

代码解释

  1. 在我们的代码中包含 iostream 头文件。它将允许我们从控制台读取和写入。
  2. 包含 std 命名空间,以便使用其类和函数而无需调用它们。
  3. 调用 main() 函数,程序的逻辑应添加到其中。{ 标记 main() 函数体的开始。
  4. 声明一个整数变量 a 并为其赋值 1。
  5. 创建外部 do-while 循环。{ 标记外部循环体的开始。
  6. 声明一个整数变量 b 并为其赋值 1。
  7. 创建内部 do-while 循环。{ 标记内部循环体的开始。
  8. 在控制台上打印变量 a 的值。“\n”是一个换行符,它会将鼠标光标移到下一行。
  9. 每次迭代后将 b 的值增加 1。
  10. 内部循环体结束。测试表达式已添加到循环体的末尾。它测试 b 的值是否小于或等于 5。
  11. 每次迭代后将 a 的值增加 1。
  12. 外部循环体结束。测试表达式已添加到循环体的末尾。它测试 a 的值是否小于或等于 3。
  13. main() 函数体结束。

摘要

  • do-while 循环会多次运行一段代码。
  • 当迭代次数不固定时,应使用它。
  • 在 do-while 循环中,循环体在测试表达式之前。
  • 即使测试表达式为 false,循环体也至少执行一次。
  • 当迭代次数不固定时,应使用此循环。
  • 只要条件为 true,do-while 循环就可以运行任意次数。
  • 条件在每次迭代后评估一次。
  • 条件评估的结果决定了要采取的操作。
  • 如果条件为 true,循环将执行循环体。
  • 一旦条件评估为 false,循环执行立即停止。
  • 由于 do-while 循环体已执行,它必须返回结果。