Tài liệu

Câu lệnh break trong C: Chấm dứt vòng lặp

Huy Erick

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

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.

1