06/04/2021, 14:47

Lệnh Break trong C - Học lập trình C căn bản & nâng cao

Trong bài này mình sẽ giới thiệu đề các bạn lệnh Break trong C, đây là lệnh mà mình đã giới thiệu ở bài Switch Case. Tuy nhiên, công dụng của lệnh Break không chỉ có vậy, nó còn có thể sử dụng trong các vòng lặp để nhảy ra vòng lặp ngay lập tức. 1. Lệnh Break trong C dùng để làm gì? Đúng với ...

Trong bài này mình sẽ giới thiệu đề các bạn lệnh Break trong C, đây là lệnh mà mình đã giới thiệu ở bài Switch Case. Tuy nhiên, công dụng của lệnh Break không chỉ có vậy, nó còn có thể sử dụng trong các vòng lặp để nhảy ra vòng lặp ngay lập tức.

1. Lệnh Break trong C dùng để làm gì?

Đúng với cái tên của nó, break có nghĩa là bẻ gãy / phá vỡ nên khi đặt nó trong vòng lặp thì nó sẽ bẻ gãy vòng lặp ngay lập tức mà không cần phải kiểm tra điều kiện lặp. Nó cũng bỏ qua những đoạn code phía dưới (trong thân vòng lặp) và nhảy ra ngoài vòng lặp để tiếp tục biên dịch.

Bạn có thể sử dụng lệnh Break trong vòng lặp for, vòng lặp while, do while, và lệnh switch case.

Hãy xem tấm hình mô phỏng hoạt động của nó dưới đây.

c break statement works jpg

Dấu mũi tên cho thấy vị trí mà biên dịch sẽ chạy khi gặp lệnh break, và theo hướng mũi tên thì nó nhảy ra ngoài vòng lặp.

Ví dụ: Viết chương trình cho phép người dùng nhập dãy số nguyên và không giới hạn số lần nhập, chương trình chỉ dừng khi nao người dùng nhập số 0.

#include <stdio.h>

int main() {
    int i;
    while (1)
    {
        scanf("%d", &i);
        printf("Ban vua nhap so %d
", i);
     	if (i == 0){
            printf("Ket thuc chuong trinh 
");
            break;
	}
    }
	
    printf("Hoc C tai Zaidap.com.net 
");
	
    return 0;
}

Theo như trong ví dụ này thì chương trình có thể sẽ bị lặp vô hạn bởi điều kiện lặp của vòng lặp while là 1 (luôn luôn lặp). Tuy nhiên khi bạn nhập số 0 thì lệnh break sẽ hoạt động và vòng lặp kết thúc.

lenh break trong vong lap c JPG

2. Lệnh Break với vòng lặp lồng nhau

Nếu bạn đặt lệnh break trong vòng lặp lồng nhau thì nó chỉ có công dụng với vòng lặp mà nó đang đứng mà thôi. Tức nó sẽ nhảy ra vòng lặp đang đứng và chương trình vẫn tiếp tục lặp cho vòng lặp cha của nó.

Ví dụ: Viết chương trình in ra dãy số từ 1 đến N với N được nhập từ bàn phím.

  • Chương trình cho phép nhập liên tục và chỉ dừng khi nào bạn nhập N = 0.
  • Khi người dùng nhập dãy số N lớn hơn 10 thì chỉ in ra từ 1 đến 10 mà thôi.
#include <stdio.h>

int main() {

    int i, j;
    printf("Hay nhap so N, nhap 0 de thoat chuong trinh. 
");

    while (1) {
        scanf("%d", &i);
        printf("Ban vua nhap so %d
", i);

        for (j = 1; j <= i; j++) {
            printf("%d", j);

            // Lenh break dung vong lap con
            if (j == 10) {
                break;
            }
        }

        // Lenh break dung vong lap cha
        if (i == 0) {
            printf("Ket thuc chuong trinh 
");
            break;
        }
    }

    printf("Chuong trinh dang tai Zaidap.com.net 
");
    return 0;
}

Chạy chương trình lên và bạn hãy thử nhập vào một số lớn hơn 10 để xem nhé, nó sẽ in ra dãy từ 1 đến 10 mà thôi vì lệnh break ở vòng lặp con đã kích hoạt nên nó nhảy ra ngoài. Tuy nhiên vòng lặp cha vẫn hoạt động bình thường.

break trong vong lap long nhau JPG

Trên là hướng dẫn có bản về cách sử dụng lệnh Break trong C, đây là lệnh rất hay vì nó giúp ta giải quyết được nhiều bài toán phức tạp.

Bài này mình sẽ dừng ở đây, bài tiếp theo ta sẽ học về lệnh continue nhé.

Hoàng Hải Đăng

24 chủ đề

7226 bài viết

Cùng chủ đề
0