Câu lệnh break
trong ngôn ngữ lập trình C được sử dụng để chấm dứt vòng lặp. Khi gặp câu lệnh break
bên trong một vòng lặp, vòng lặp sẽ dừng lại và chương trình sẽ tiếp tục thực hiện câu lệnh tiếp theo sau vòng lặp.
Cú pháp câu lệnh break
trong C
Câu lệnh break
thường được sử dụng kết hợp với câu lệnh if-else
bên trong vòng lặp.
Cách câu lệnh break
hoạt động trong C
Vòng lặp for
trong C
Hình ảnh minh họa vòng lặp for trong C
Vòng lặp do-while
trong C
Hình ảnh minh họa vòng lặp do-while trong C
Vòng lặp while
trong C
Hình ảnh minh họa vòng lặp while trong C
Luồng hoạt động của câu lệnh break
trong C
Hình ảnh minh họa luồng hoạt động của câu lệnh break
trong C
Ví dụ về câu lệnh break
trong C
Hãy xem qua các ví dụ về cách sử dụng câu lệnh break
với ba loại vòng lặp:
- Vòng lặp đơn giản - Simple loops
- Vòng lặp lồng nhau - Nested loops
- Vòng lặp vô hạn - Infinite loops
Một cấu trúc lặp đơn giản
Ví dụ:
Chương trình tính tổng tối đa 10 số. Nếu nhập vào một số âm, vòng lặp chấm dứt và tính tổng các số được nhập vào trước đó. #include int main() { double n, sum = 0; for (int i = 1; i <= 10; ++i) { printf("Nhập số thứ %d: ",i); scanf("%lf", &n); if(n < 0) { break; } sum += n; } printf("Tổng = %.2lf", sum); }
Chương trình này tính tổng của tối đa 10 số. Nếu người dùng nhập số âm, câu lệnh break
sẽ kích hoạt và vòng lặp sẽ kết thúc. Trong trường hợp này, tổng sẽ được tính và hiển thị.
Sử dụng break
trong trường hợp vòng lặp lồng nhau
Chúng ta cũng có thể sử dụng câu lệnh break
khi làm việc với các vòng lặp lồng nhau. Nếu câu lệnh break
được sử dụng trong một vòng lặp, nó sẽ chỉ chấm dứt vòng lặp đó.
Ví dụ:
In ra hình chữ nhật. #include int main() { for (int i = 0; i < 3; i++) { for (int j = 0; j < 6; j++) { printf("* "); } printf("\n"); } }
Chúng ta có thể thấy vòng lặp for i
(vòng lặp bên ngoài) chạy 3 lần (từ 0 đến 2). Vòng lặp for j
(vòng lặp bên trong) chạy 6 lần (từ 0 đến 5).
Bây giờ nếu chúng ta muốn vòng lặp for j
chỉ chạy 3 lần để in ra hình vuông, chúng ta sẽ kiểm tra điều kiện cho j
và sử dụng câu lệnh break
như sau:
#include int main() { for (int i = 0; i < 3; i++) { for (int j = 0; j < 6; j++) { if (j > 2) { break; } else { printf("* "); } } printf("\n"); } }
Bạn có thể thấy vòng lặp for i
vẫn chạy 3 lần, nhưng câu lệnh break
chỉ kết thúc vòng lặp for j
, nơi nó được viết mã khi thoả mãn câu lệnh if-else
.
Sử dụng câu lệnh break
cho vòng lặp vô hạn
Hãy xem xét ví dụ của vòng lặp vô hạn dưới đây:
#include int main() { int i = 0; while (1) { printf("%d\n", i); i++; } }
Trong chương trình trên, điều kiện trong vòng lặp là 1 - có nghĩa là luôn đúng. Vì vậy, vòng lặp sẽ thực hiện vô số lần hay còn gọi là vòng lặp vô hạn. Chúng ta có thể sửa lỗi này bằng cách sử dụng câu lệnh break
như sau:
#include int main() { int i = 0; while (1) { if(i > 5) { break; } printf("%d\n", i); i++; } }
Ngoài ra, bạn cũng có thể thấy break
được sử dụng trong câu lệnh Switch
.