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.

test php

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.

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:

Bài viết này được đăng tại [free tuts .net]

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ác hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Top