Câu lệnh break trong C++

Các bạn thân mến! 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++. 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ệ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 vòng lặp lồng nhau thì nó chỉ thoát khỏi vòng lặp ở bên trong.

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:

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:

3. Lệnh break 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:

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à:

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 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à:

5. Lệnh break trong if

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:

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 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:

7. Lệnh break 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:

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é.

Khóa học nên xem

Nguồn: freetuts.net