亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

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

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

在本教程中,我们将通过一些示例来学习 C++ 编程中 while 和 do...while 循环的使用。

在计算机编程中,循环用于重复一段代码。

例如,假设我们想要显示一条消息 100 次。那么我们可以使用循环而不是写 100 次 print 语句。

那只是一个简单的例子;通过有效地利用循环,我们可以在程序中实现更高的效率和复杂性。

3 C++ 中的循环类型。

  1. for 循环
  2. while 循环
  3. do...while 循环

在上一教程中,我们了解了 C++ for 循环。在这里,我们将学习whiledo...while 循环。


C++ while 循环

while 的语法 循环是:

while (condition) {
    // body of the loop
}

在这里,

要了解有关 conditions 的更多信息 ,请访问 C++ 关系和逻辑运算符。


while循环流程图

<图>

示例 1:显示从 1 到 5 的数字

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // while loop from 1 to 5
    while (i <= 5) {
        cout << i << " ";
        ++i;
    }
    
    return 0;
}

输出

1 2 3 4 5

以下是该程序的工作原理。

迭代 变量 i <=5 动作
第一个 i = 1 true 1 被打印和 i 增加到 2 .
第二次 i = 2 true 2 被打印和 i 增加到 3 .
第三次 i = 3 true 3 被打印和 i 增加到 4
第四次 i = 4 true 4 被打印和 i 增加到 5 .
第 5 次 i = 5 true 5 被打印和 i 增加到 6 .
第 6 次 i = 6 false 循环终止

示例 2:仅正数之和

// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number;
    int sum = 0;

    // take input from the user
    cout << "Enter a number: ";
    cin >> number;

    while (number >= 0) {
        // add all positive numbers
        sum += number;

        // take input again if the number is positive
        cout << "Enter a number: ";
        cin >> number;
    }

    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

输出

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

在这个程序中,提示用户输入一个数字,该数字存储在变量number中 .

为了存储数字的总和,我们声明了一个变量 sum 并将其初始化为 0 的值 .

while 循环继续,直到用户输入负数。在每次迭代期间,用户输入的数字被添加到 sum 变量。

当用户输入负数时,循环终止。最后显示总和。


C++ do...while 循环

do...while 循环是 while 的变体 循环有一个重要区别:do...while 的主体 循环在 condition 之前执行一次 已检查。

它的语法是:

do {
   // body of loop;
}
while (condition);

在这里,


do...while循环的流程图

<图>

示例 3:显示从 1 到 5 的数字

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // do...while loop from 1 to 5
    do {
        cout << i << " ";
        ++i;
    }
    while (i <= 5);
    
    return 0;
}

输出

1 2 3 4 5

以下是该程序的工作原理。

迭代 变量 i <=5 动作
  i = 1 未检查 1 被打印和 i 增加到 2
第一个 i = 2 true 2 被打印和 i 增加到 3
第二次 i = 3 true 3 被打印和 i 增加到 4
第三次 i = 4 true 4 被打印和 i 增加到 5
第四次 i = 5 true 5 被打印和 i 增加到 6
第 5 次 i = 6 false 循环终止

示例 4:仅正数之和

// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number = 0;
    int sum = 0;

    do {
        sum += number;

        // take input from the user
        cout << "Enter a number: ";
        cin >> number;
    }
    while (number >= 0);
    
    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

输出 1

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

这里,do...while 循环继续,直到用户输入负数。当数字为负数时,循环终止;负数未添加到 sum 变量。

输出 2

Enter a number: -6
The sum is 0.

do...while 的主体 如果用户输入负数,循环只会运行一次。


无限循环

如果 condition 循环的总是 true ,循环运行无限次(直到内存已满)。例如,

// infinite while loop
while(true) {
    // body of the loop
}

这是一个无限do...while的例子 循环。

// infinite do...while loop

int count = 1;

do {
   // body of loop
} 
while(count == 1);

在上述程序中,condition 总是 true .因此,循环体将运行无限次。


for vs while 循环

一个 for 当迭代次数已知时,通常使用循环。例如,

// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
   // body of the loop
}

在这里,我们知道for循环会被执行5次。

但是,whiledo...while 当迭代次数未知时,通常使用循环。例如,

while (condition) {
    // body of the loop
}

查看这些示例以了解更多信息:


C语言

  1. C# if, if...else, if...else if 和嵌套 if 语句
  2. C# while 和 do...while 循环
  3. C++ 类和对象
  4. C++ 内存管理:新建和删除
  5. C++ 公共、受保护和私有继承
  6. C++朋友函数和朋友类
  7. C++ do...while 循环与示例
  8. while 和 do-while 之间的区别:用例子解释
  9. Java中使用while和for循环的回文数程序
  10. C++ 日期和时间
  11. C++ 重载(运算符和函数)
  12. C++ 文件和流