06/04/2021, 14:47

Lệnh continue trong C++ (Nhảy tới lần lặp tiếp theo) - Học C++ căn bản và nâng cao

Trong bài này bạn sẽ được học cách sử dụng lệnh continue trong C++, đây là lệnh dùng để bỏ qua lần lặp hiện tại và nhảy tới lần lặp tiếp theo. Không chỉ có ở C++ mà continue có trong hầu hết các ngôn ngữ lập trình hiện đại. Lệnh thường được sử dụng trong các loại vòng lặp như: vòng lặp while, ...

Trong bài này bạn sẽ được học cách sử dụng lệnh continue trong C++, đây là lệnh dùng để bỏ qua lần lặp hiện tại và nhảy tới lần lặp tiếp theo.

Không chỉ có ở C++ mà continue có trong hầu hết các ngôn ngữ lập trình hiện đại. Lệnh thường được sử dụng trong các loại vòng lặp như: vòng lặp while, vòng lặp for, vòng lặp do while.

1. Lệnh continue trong C++ là gì?

Lệnh continue C++ được sử dụng bên trong vòng lặp. Khi gặp lệnh này thì chương trình sẽ nhảy đến lần lặp tiếp theo và bỏ qua các câu lệnh ở sau câu lệnh continue trong vòng lặp. Nếu các bạn cảm thấy khó hiểu thì khoan hãy cố gắng hiểu, chúng ta cùng xem ví dụ ở phía sau nhé.

Trước tiên hãy xem cú pháp của lệnh continue trong C++ đã nhé.

Cú pháp

Cú pháp của lệnh continue trong C++ như sau:

Cú pháp
continue;

Lưu đồ hoạt động

Lưu đồ hoạt động của lệnh continue trong C++ như sau:

continue flow JPG

2. Ví dụ lệnh continue C++

Mình sẽ lấy một ví dụ đơn giản về lệnh continue trong C++ đó là in các số lẻ nhỏ hơn 10 ra màn hình.

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
   cout << "Cac so le nho hon 10: " << endl;
   for (int i = 1; i < 10; i++) {
       if(i%2 == 0) {
           continue;
       }
       cout << "  i = " << i << endl;
       
   }
   return 0;
} 

Và kết quả sau khi đoạn code trên như sau:

continue ex1 JPG

Như vậy khi gặp lệnh continue thì chương trình sẽ không thực thi các câu lệnh sau lệnh continue ở trong vòng lặp và sẽ tiếp tục đến vòng lặp tiếp theo.

Chúng ta cùng lấy thêm một ví dụ đơn giản về lệnh continue trong C++ đó là in hình tam giác vuông cân ra màn hình.

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    int dong = 1;  
    int n = 10;
    int ngoiSao = 0; 
    for (int dong = 1; dong <= n; ) 
    { 
        if (ngoiSao < dong) 
        { 
           cout << "* "; 
           ngoiSao++; //tang hinh ngoi sao
           continue; 
        } 
  
        if (ngoiSao == dong) 
        { 
           ngoiSao = 0; 
           dong++; // den dong tiep theo
           cout << endl; 
        } 
    }         
}  

Và kết quả sau khi thực thi đoạn code trên như sau:

continue ex 3 JPG

3. Lệnh continue C++ trong if, swith case

Giả sử chúng ta thử sử dụng lệnh continue bên trong cấu trúc điều khiển if mà cấu trúc điều khiển if không nằm bên trong vòng lặp nào cả.

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
   int i = 4;
   if(true) {
       if(i%2 == 0) {
           continue;
       }
       cout << "cau lenh ben trong if";
   }
   return 0;
} 

Chúng ta cũng thử lệnh continue bên trong cấu trúc điều khiển switch case trong C++ như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
   int i = 4;
   switch(i) {
       case 1:
            cout << "gia tri i: " << i << endl;
            continue;
       case 2:
            cout << "gia tri i: " << i << endl;
            break;
        case 3:
            cout << "gia tri i: " << i << endl;
            break;
        default:
            cout << "gia tri khong hop le" << endl;
       
   }
   return 0;
} 

Và khi thực thi cả 2 chương trình trên điều báo chung một lỗi biên dịch như sau:

continue err JPG

Như vậy lệnh continue trong C++ chỉ được sử dụng bên trong vòng lặp thôi nhé. Còn lệnh break thì có thể được sử dụng cả trong vòng lặp và cấu trúc điều khiển switch case.

4. Lệnh continue C++ trong vòng lặp lồng nhau

Trong C++, nếu lệnh continue được sử dụng bên trong vòng lặp lồng nhau thì nó chỉ tiếp tục vòng lặp tiếp theo của vòng lặp ở trong nhất. Ví dụ như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    for(int i=2;i<=4;i++){
        cout << "Vong lap thu i = " << i << endl;
        for(int j=1;j<=10;j++){        
            if(i*j % 2 == 0){        
                continue;        
            }        
            cout << "  " << i << " x " << j << " = " << j*i << endl;                  
        }        
    }            
}  

Và kết quả sau khi thực thi đoạn code trên như sau:

continue ex2 JPG

5. Kết luận

Như vậy chúng ta đã tìm hiểu xong về lệnh continute trong C++ là gì rồi. Ở bài này các bạn chỉ cần nhớ lệnh continue trong C++ chỉ được sử dụng bên trong vòng lặp. Khi gặp lệnh continue chương trình sẽ nhãy đến vòng lặp tiếp theo và bõ qua các câu lệnh ở khía sau lệnh continue bên trong vòng lặp.

Trong khi lệnh break mà chúng ta đã tìm hiểu ở bài trước thì nó có thể sử dụng được cả vòng lặp và cấu trúc điều khiển switch case. Lệnh break dùng để thoát khỏi vòng lặp hoặc cấu trúc điều khiển switch case. Hiểu được 2 lệnh break và continue trong C++ sẽ giúp ích cho các bạn rất nhiều trong vai trò là một developer.

Vậy mình sẽ kết thúc bài học về lệnh continue trong C++ tại đây nhé. Trong bài tiếp theo chúng ta sẽ cùng tìm hiểu về lệnh goto trong C++. Các bạn nhớ theo dõi nhé.

Trần Trung Dũng

15 chủ đề

2610 bài viết

Cùng chủ đề
0