Home > C / C++ > Học C++ > Cách dùng lệnh break trong C++ (Dùng thoát khỏi vòng lặp)
Cần 2 bạn dịch bài về C#, Winform, .NET ... nói chung là viết bài về các công nghệ sử dụng code C#. Yêu cầu phải có kiến thức nên tảng lĩnh vực bạn chọn, nhuận bút 50k / bài. inbox mình nếu có nhu cầu nhé.

Cách dùng lệnh break trong C++ (Dùng thoát khỏi vòng lặp)

Trong bài học hôm nay mình sẽ giới thiệu cho các bạn câu lệnh break trong C++, lệnh break C++ này được dùng để thoát khỏi vòng lặp một cách đột ngột.

Trước khi đi vào bài học này, hãy chắc rằng các bạn đã hiểu rõ về các loại vòng lặp trong C++ như vòng lặp for, vòng lặp while, vòng lặp do while và cấu trúc điều khiển switch case. Nếu bạn nào chưa biết thì xem lại mấy bài học trước mà mình đã giới thiệu nhé.

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

Lệnh break trong C++ dùng để thoát khỏi vòng lặp hoặc cấu trúc điều khiển switch case. Nếu sử dụng trong vòng lặp lồng nhau thì nó chỉ thoát khỏi vòng lặp đang chứa lệnh break mà thôi.

Cú pháp

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

Cú pháp
break;

Lưu đồ hoạt động

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

break flow JPG

2. Ví dụ lệnh break trong C++

Mình sẽ lấy một ví dụ đơn giản về lệnh break trong vòng lặp for đó là in các số có bình phương nhỏ hơn 100 ra màn hình.

Ví dụ
#include <iostream>

using namespace std;

int main()
{
    cout << "Cac so binh phuong nho hon 100." << endl;
    for (int i = 1; i <= 50; i++) {
        if(i*i >= 100) {
            break;
        }
        cout << "  Binh phuong cua " << i << " = " << i*i << endl;
    }
    return 0;
}

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

break in for JPG

3. Lệnh break C++ trong switch case

Giả sử chúng ta có một bài toán phân loại sinh viên dựa vào kết quả điểm học tập như sau:

  • Nếu điểm A thì phân loại là sinh viên xuất xắc
  • Nếu điểm B là sinh viên loại giỏi
  • Nếu điểm C là sinh viên loại khá
  • Nếu điểm D là sinh viên loại trung bình
  • Nếu điểm F là sinh viên loại yếu.

Để giải quyết bài toán trên chúng ta dùng cấu trúc điều khiển switch case cùng với lệnh break trong C++ như sau:

Ví dụ
#include <iostream>
using namespace std;
  
int main () {
     
   char diem = 'A';
    
   switch(diem) {
      case 'A':
         cout << "Xuat xac" << endl; 
         break;
      case 'B':
         cout << "Gioi" << endl; 
         break;
      case 'C':
         cout << "Kha" << endl;
         break;
      case 'D':
         cout << "Trung Binh" << endl;
         break;
      case 'F':
         cout << "Yeu" << endl;
         break;
      default:
         cout << "Diem khong hop le" << endl;
   }
   cout << "Diem cua ban la: " << diem << endl;
  
   return 0;
}

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

break switch JPG

Chương trình trên sẽ chạy từ trên xuống dưới so sánh biến diem với các giá trị của case như A, B, C, D, F. Ở đây biến diem có giá trị là A, khi gặp case 'A' thõa điều kiện nó thực hiện đoạn code bên trong case 'A' và đến khi gặp lệnh break thì nó sẽ thoát khỏi cấu trúc điều khiển switch case ngay lập tức.

Giả sử chúng ta thử bỏ lệnh break trong cấu trúc điều khiển switch case của chương trình trên.

Ví dụ
#include <iostream>
using namespace std;
  
int main () {
     
   char diem = 'A';
    
   switch(diem) {
      case 'A':
         cout << "Xuat xac" << endl; 
      case 'B':
         cout << "Gioi" << endl; 
      case 'C':
         cout << "Kha" << endl;
      case 'D':
         cout << "Trung Binh" << endl;
      case 'F':
         cout << "Yeu" << endl;
      default:
         cout << "Diem khong hop le" << endl;
   }
   cout << "Diem cua ban la: " << diem << endl;
  
   return 0;
}

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

break not in switch JPG

Như vậy khi gặp case 'A' thõa điều kiện, chương trình sẽ thực thi đoạn code bên trong case 'A' và không gặp lệnh break nào bên trong case thì chương trình sẽ thực hiện hết tất cả các case còn lại cho đến khi kết thúc cấu trúc điều khiển switch case.

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

Chúng ta cùng xem một ví dụ đơn giản về lệnh break trong vòng lặp for lồng nhau như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    for(int i=1;i<=10;i++){ 
        cout << "Vong lap thu " << i << endl;
        for(int j=1;j<=10;j++){        
            if(j*j > 10){        
                break;        
            }        
            cout << "   Binh phuong cua " << j << " = " << j*j << endl;  
        }    
        if(i >= 3) {
            break;
        }
    }    
} 

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

break for nest JPG

5. Lệnh break C++ trong if else

Giả sử chúng ta đặt lệnh break bên trong cấu trúc điều khiển if mà cấu trúc điều khiển if không có nằm bên trong vòng lặp hoặc switch case nào cả. Ví dụ như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    int i = 5;
    if(true) {
        cout << "lenh thu 1 if ben ngoai";
        if (true) {
            cout << "lenh thu 1 cua if ben trong";
            cout << "lenh thu 2 cua if ben trong";
            cout << "lenh thu 3 cua if ben trong";
            break;
            cout << "lenh thu 4 cua if ben trong";
            cout << "lenh thu 5 cua if ben trong";
            cout << "lenh thu 6 cua if ben trong";
            
        }
        cout << "lenh thu 2 if ben ngoai";
    }
} 

Và khi thực thi đoạn code trên thì chương trình chúng ta sẽ báo lỗi như sau:

break if JPG

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

6. Lệnh break C++ trong vòng lặp vô hạn

Như đã biết ở các bài học trước khi một vòng lặp có điều kiện luôn đúng thì nó sẽ lặp vô hạn lần, nhưng chúng ta có thể sử dụng lệnh break để thoát khỏi vòng lặp vô hạn. Ví dụ như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    int i = 1;
    cout << "Vong lap vo han se thoat khi gia tri bien i lon hon 5" << endl;;
    while (true) {
        if (i > 5) {
            break;
        }
        cout << "  i = " << i << endl;
        i++;
    }
}

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

break ini while JPG

7. Lệnh break C++ trong switch case lồng nhau

Chúng ta cùng xem ví dụ về lệnh break trong cấu trúc điều khiển switch case lồng nhau như sau:

Ví dụ
#include <iostream>  
using namespace std;  
int main()  
{  
    int b = 10;
    int c = 2;
    switch(b) {
        case 5:
            cout << "case 5, bien b = " << b << endl;
        case 10:
            cout << "case 10, bien b = " << b << endl;
            switch (c) {
                case 1:
                    cout << "  case 1, bien c = " << c << endl;
                case 2:
                    cout << "  case 2, bien c = " << c << endl;
                case 3:
                    cout << "  case 3, bien c = " << c << endl;
                    break;
                case 4:
                    cout << "  case 4, bien c = " << c << endl;
                default:
                    cout << "  case default, gia tri c khong hop le" << endl;
            }
        case 15:
            cout << "case 15, bien b = " << b << endl;
        default:
            cout << "case default, gia tri b khong hop le" << endl;
        
    }
} 

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

break switch ex JPG

Như ở ví dụ trên có 2 cấu trúc điều khiển switch case lồng nhau, lệnh break chỉ thoát khỏi cấu trúc điều khiển switch case ở bên trong nhất chứa nó.

8. Kết luận

Như vậy là chúng ta đã tìm hiểu xong về lệnh break trong C++. Trong bài học này chúng ta chỉ cần nhớ chức năng cùa lệnh break trong C++ là dùng để thoát khỏi vòng lặp hoặc cấu trúc điều khiển switch.

Trong bài tiếp theo mình sẽ giới thiệu cho các bạn lệnh continue trong C++. Các bạn nhớ theo dõi nhé.

Profile photo of adminngothisaoly

ngothisaoly

Chào các bạn, mình là Ly, mình là nữ nhưng rất thích lập trình, tham gia với mục đích chia sẻ và học hỏi.

BÀI VIẾT

notice png LIST home png HOME hot gif BÁO
LỖI
top png TOP