📜  C++继续声明

📅  最后修改于: 2020-09-25 04:48:07             🧑  作者: Mango

在本教程中,我们将在示例的帮助下了解continue语句及其在循环中的使用。

在计算机编程中, continue语句用于跳过循环的当前迭代,并且程序的控制权转到下一个迭代。

的语法continue语句是:

continue;

在了解continue语句之前,请确保您了解,

C++的工作继续声明

示例1:继续进行for循环

for循环中, continue跳过当前迭代,控制流跳至update表达式。

// program to print the value of i

#include 
using namespace std;

int main() {
    for (int i = 1; i <= 5; i++) {
        // condition to continue
        if (i == 3) {
            continue;
        }

        cout << i << endl;
    }

    return 0;
}

输出

1
2
4
5

在上面的程序中,我们使用了for循环在每次迭代中打印i的值。在这里,请注意代码,

if (i == 3) {
    continue;
}

这表示

注意continue语句几乎总是与决策语句一起使用。

注意break语句完全终止循环。但是, continue语句仅跳过当前迭代。

示例2:继续执行while循环

while循环中, continue跳过当前迭代,程序的控制流跳回到while condition

// program to calculate positive numbers till 50 only
// if the user enters a negative number,
// that number is skipped from the calculation

// negative number -> loop terminate
// numbers above 50 -> skip iteration

#include 
using namespace std;

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

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

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

        // continue condition
        if (number > 50) {
            cout << "The number is greater than 50 and won't be calculated." << endl;
            number = 0;  // the value of number is made 0 again
            continue;
        }
    }

    // display the sum
    cout << "The sum is " << sum << endl;

    return 0;
}

输出

Enter a number: 12
Enter a number: 0
Enter a number: 2
Enter a number: 30
Enter a number: 50
Enter a number: 56
The number is greater than 50 and won't be calculated.
Enter a number: 5
Enter a number: -3
The sum is 99 

在上述程序中,用户输入一个数字。 while循环用于打印用户输入的正数的总和,只要输入的数字不大于50

注意continue语句的使用。

if (number > 50){
    continue;
}

注意 :对于do...while循环, continue语句的工作方式相同。

继续嵌套循环

当对嵌套循环使用continue ,它将跳过内部循环的当前迭代。例如,

// using continue statement inside
// nested for loop

#include 
using namespace std;

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

    // nested for loops

    // first loop
    for (int i = 1; i <= 3; i++) {
        // second loop
        for (int j = 1; j <= 3; j++) {
            if (j == 2) {
                continue;
            }
            cout << "i = " << i << ", j = " << j << endl;
        }
    }

    return 0;
}

输出

i = 1, j = 1
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 3

在上面的程序中,当执行continue语句时,它将跳过内部循环中的当前迭代。程序的控制移至内部循环的更新表达式

因此, j = 2值永远不会显示在输出中。