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:
Bài viết này được đăng tại [free tuts .net]
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.
#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 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:
#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.
#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 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:
#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 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:
#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 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:
#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 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:
#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é.