C++ while 和 do...while 循环

在编程中使用循环来重复特定的代码块。在本文中,您将学习在C ++编程中创建while和do ... while循环。

在计算机编程中,循环重复执行特定的代码块,直到满足某些结束条件为止。

C ++编程中有3种循环类型:

C ++ while循环

while循环的语法为:

while (testExpression) 
{
     // 要执行的代码
}

其中,在while循环的每个条目上检查testExpression。

while循环如何工作?

  • while循环评估测试表达式(testExpression)。

  • 如果测试表达式(testExpression)为true,则会评估while循环体内的代码。

  • 然后,再次评估测试表达式(testExpression)。这个过程一直进行到测试表达式(testExpression)为false。

  • 当测试表达式(testExpression)为false时,while循环终止。

While循环流程图

C ++编程中while循环的流程图

示例1:C ++ while 循环语句

// C ++程序来计算数字的阶乘
// n的阶乘= 1 * 2 * 3 ... * n

#include <iostream>
using namespace std;

int main() 
{
    int number, i = 1, factorial = 1;

    cout << "输入一个正整数: ";
    cin >> number;
    
    while ( i <= number) {
        factorial *= i;      //factorial = factorial * i;
        ++i;
    }

    cout<<"计算出 "<< number <<" 的阶乘= "<< factorial;
    return 0;
}

输出结果

输入一个正整数: 4
计算出 4 的阶乘= 24

在这个程序中,要求用户输入一个存储在变量number中的正整数。假设用户输入4。

然后,while循环开始执行代码。这是while循环的工作方式:

  1. 最初,i = 1测试表达式i <= number为true,阶乘变为1。

  2. 变量i更新为2,测试表达式为true,阶乘变为2。

  3. 变量i更新为3,测试表达式为true,阶乘变为6。

  4. 变量i更新为4,测试表达式为true,阶乘变为24。

  5. 变量i更新为5,测试表达式为false,而循环终止。

C ++ do... while 循环语句

do ... while循环是while循环的变体,但有一个重要区别。do ... while循环的主体在检查测试表达式(testExpression)之前执行一次。

do..while循环的语法为:

do {
   // 执行代码;
}
while (testExpression);

do... while循环如何工作?

  • 循环体内的代码至少执行一次。然后,再检查测试表达式(testExpression)。

  • 如果测试表达式(testExpression)为true,则执行循环主体。这个过程一直持续到测试表达式(testExpression)变为false。

  • 当测试表达式(testExpression)为false时,do ... while循环终止。

do ... while循环流程图

C ++编程中的while循环流程图

示例2:C ++ do ... while循环

// C++程序来添加数字,直到用户输入0
#include <iostream>
using namespace std;

int main() 
{
    float number, sum = 0.0;
    
    do {
        cout<<"输入一个数字: ";
        cin>>number;
        sum += number;
    }
    while(number != 0.0);

    cout<<"总和 = "<<sum;
    
    return 0;
}

输出结果

输入一个数字: 2
输入一个数字: 3
输入一个数字: 4
输入一个数字: -4
输入一个数字: 2
输入一个数字: 4.4
输入一个数字: 2
输入一个数字: 0