Câu lệnh break trong C

0 phút đọc

Câu lệnh break trong C là một câu lệnh điều khiển vòng lặp được sử dụng để chấm dứt vòng lặp. Ngay khi gặp câu lệnh break từ bên trong một vòng lặp, các vòng lặp sẽ dừng ngay ở đó và chương trình sẽ tiếp tục chạy đến câu lệnh tiếp theo sau vòng lặp.

Về cơ bản các câu lệnh break thường được sử dụng trong các tình huống khi chúng ta không chắc chắn về số lần lặp thực tế cho vòng lặp hoặc chúng ta muốn chấm dứt vòng lặp dựa trên một số điều kiện.

Cú pháp câu lệnh break trong C

break;

Câu lệnh break thường được sử dụng 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

Vòng lặp for trong C

Vòng lặp do-while trong C

Vòng lặp do-while trong C

Vòng lặp while trong C

Vòng lặp while trong C

Luồng hoạt động câu lệnh break trong C

Luồng hoạt động câu lệnh break trong C

Ví dụ về câu lệnh break trong C

Chúng ta sẽ cùng xem qua cách sử dụng 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

Bây giờ chúng ta sẽ đi xem xét chi tiết các ví dụ cho từng loại trong ba loại vòng lặp trên.

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

int main() {

    double n, sum = 0;

    for (int i = 1; i <= 10; ++i) {

        printf("Enter a n%d: ",i);
        scanf("%lf", &n);

        // If the user enters a negative number, the loop ends
        if(n < 0) {
            break;
        }

        sum += n;
    }

    printf("\nsum = %.2lf", sum);
}
Kết quả
Enter a n1: 4

Enter a n2: 5

Enter a n3: 8

Enter a n4: -2


sum = 17.00

Chương trình này tính tổng của tối đa 10 số. Nhưng vì sao mới nhập 3 số dương và 1 số âm nó đã dừng lại và tính tổng? Đó là bởi vì nếu người dùng nhập số âm, câu lệnh break được thực thi. Điều này sẽ kết thúc vòng lặp for, tổng đượ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 lệnh break trong 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 vòng lặp nào, nó sẽ chỉ chấm dứt vòng lặp đó.

Ví dụ:

In ra hình chữ nhật.

# include <stdio.h>

int main() {

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 6; j++) {
            printf("* ");
        }
        printf("\n");
    }
}
Kết quả


Chúng ta có thể thấy vòng for i (for bên ngoài) sẽ chạy 3 lần (từ 02). Vòng for j (for bên trong) sẽ chạy 6 lần (từ 05).

Bây giờ chúng ta muốn vòng 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 jbreak như sau:

# include <stdio.h>

int main() {

    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 6; j++) {
            if (j > 2) {
                break;
            } else {
                printf("* ");
            }
        }
        printf("\n");
    }
}
Kết quả


*

Bạn có thể thấy vòng for i vẫn chạy 3 lần, break chỉ kết thúc vòng 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ô tận

Hãy xem xét vòng lặp vô hạn dưới đây:

#include <stdio.h>

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 luôn đúng. Vì vậy, vòng lặp 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 <stdio.h>

int main() {

    int i = 0;

    while (1) {
      if(i > 5) {
            break;
        }

        printf("%d\n", i);
        i++;
    }
}
Kết quả
0

1

2

3

4

5

Ngoài ra, bạn cũng có thể thấy break được sử dụng trong các câu lệnh Switch.

Avatar TechMely Team
Được viết bởi

TechMely Team

Lòng tin cũng giống như một tờ giấy, khi đã nhàu nát sẽ không bao giờ phẳng phiu được.