STARTING
CONTROL STATEMENT
FUNCTION
ARRAY & POINTER
OOP
STL
ITERATORS
OTHER FEATURES
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

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

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

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

Cùng chuyên mục:

Cách nhân hai số trong ngôn ngữ C

Cách nhân hai số trong ngôn ngữ C

Cách cộng hai số nguyên trong C

Cách cộng hai số nguyên trong C

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Tổng hợp hơn 1000 bài tập C / C++ có lời giải

Bài này sẽ tổng hợp hơn 1000 bài tập C / C++ có lời giải…

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện ctime C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cstdio C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cctype C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstring C / C++

Các hàm trong thư viện cstdlib C/C++

Các hàm trong thư viện cstdlib C/C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm nhập xuất IO (iostream) trong C / C++

Các hàm toán học (math) trong C / C++

Các hàm toán học (math) trong C / C++

Nếu bạn đang học C++ căn bản thì phải biết công dụng của những hàm…

Bài tập vòng lặp while và do while trong C++

Bài tập vòng lặp while và do while trong C++

Nếu một bài toán được giải bằng vòng lặp while thì bạn hoàn toàn có…

Bài tập vòng lặp for trong C++ có lời giải

Bài tập vòng lặp for trong C++ có lời giải

Vòng lặp for C++ rất quan trọng, nó được sử dụng rất nhiều khi xử…

Bài tập if else trong C++ (có đổi sang switch case)

Bài tập if else trong C++ (có đổi sang switch case)

Để thành thạo hai lệnh rẻ nhánh if else và switch case thì bạn phải…

Tìm hiểu cấu trúc mảng (array) trong C++

Tìm hiểu cấu trúc mảng (array) trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi trong C++

Toán tử ba ngôi thực ra là cách rút gọn code của lệnh if else,…

Các toán tử trong C++

Các toán tử trong C++

Toán tử đóng vai trò rất quan trọng trong lập trình, nó giúp chúng ta…

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

Ngôn ngữ C++ là gì? Dùng làm gì trong công nghệ thông tin?

C++ là một ngôn ngữ lập trình phổ biến và mạnh mẽ có kiểu dữ…

Đọc ghi file trong C

Đọc ghi file trong C

Đa số sinh viên Việt Nam học lập trình C là để luyện tư duy…

Kiểu Union trong C

Kiểu Union trong C

Union có cách khai báo giống như struct, nhưng kích thước của nó sẽ lấy…

Hàm đệ quy trong ngôn ngữ C

Hàm đệ quy trong ngôn ngữ C

Giải thuật đệ quy nói chung và trong ngôn ngữ C nói riêng thì hàm…

Top