Câu lệnh tiếp tục trong C++ – Codefly.Vn

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về câu lệnh continue và cách làm việc của nó với các vòng lặp với sự trợ giúp của các ví dụ.

Trong lập trình máy tính, continuecâu lệnh được sử dụng để bỏ qua lần lặp hiện tại của vòng lặp và việc điều khiển chương trình chuyển sang lần lặp tiếp theo.

Cú pháp của continuecâu lệnh là:

continue;

Trước khi bạn tìm hiểu về câu lệnh continue, hãy đảm bảo rằng bạn biết về,

  • C++ for loop
  • C++ if…else
  • C++ while loop

Hoạt động của C ++ Câu lệnh tiếp tục

Hoạt động của câu lệnh continue trong C ++

Ví dụ 1: tiếp tục với vòng lặp for

Trong một forvòng lặp, continuebỏ qua lần lặp hiện tại và luồng điều khiển chuyển đến updatebiểu thức.

// program to print the value of i

#include <iostream>
using namespace std;

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

        cout << i << endl;
    }

    return 0;
}

Đầu ra

1
2
4
5

Trong chương trình trên, chúng ta đã sử dụng forvòng lặp để in ra giá trị của i trong mỗi lần lặp. Tại đây, hãy lưu ý mã,

if (i == 3) {
    continue;
}

Điều này có nghĩa là

  • When i is equal to 3, the continue statement skips the current iteration and starts the next iteration
  • Then, i becomes 4, and the condition is evaluated again.
  • Hence, 4 and 5 are printed in the next two iterations.

Lưu ý : Câu continuelệnh hầu như luôn được sử dụng với các câu lệnh ra quyết định.

Ví dụ 2: Tiếp tục với vòng lặp while

Trong một whilevòng lặp, continuebỏ qua quá trình lặp lại hiện tại và luồng điều khiển của chương trình sẽ nhảy trở lại 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 <iostream>
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;
}

Đầu ra

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 

Trong chương trình trên, người dùng nhập một số. Các whilevòng lặp được sử dụng để in các tổng của các số dương nhập vào bởi người sử dụng, miễn là các con số nhập không lớn hơn 50.

Lưu ý việc sử dụng continuecâu lệnh.

 if (number > 50){
    continue;
}
  • When the user enters a number greater than 50, the continue statement skips the current iteration. Then the control flow of the program goes to the condition of while loop.
  • When the user enters a number less than 0, the loop terminates.

Lưu ý : Câu continuelệnh hoạt động theo cùng một cách đối với các do...whilevòng lặp.

tiếp tục với vòng lặp lồng nhau

Khi continueđược sử dụng với các vòng lặp lồng nhau, nó sẽ bỏ qua lần lặp hiện tại của vòng lặp bên trong. Ví dụ,

// using continue statement inside
// nested for loop

#include <iostream>
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;
}

Đầu ra

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

Trong chương trình trên, khi continuecâu lệnh thực thi, nó sẽ bỏ qua bước lặp hiện tại trong vòng lặp bên trong. Và điều khiển của chương trình chuyển sang biểu thức cập nhật của vòng lặp bên trong.

Do đó, giá trị của j = 2 không bao giờ được hiển thị trong đầu ra.

Lưu ý : Câu lệnh break kết thúc hoàn toàn vòng lặp. Tuy nhiên, continuecâu lệnh chỉ bỏ qua lần lặp hiện tại.