BASIC
CONTROL STATEMENTS
DATA TYPE
FUNCTIONS
FILE I/O
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Lệnh Break trong C

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.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thứ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.

Bài viết này được đăng tại [free tuts .net]

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\n", i);
     	if (i == 0){
            printf("Ket thuc chuong trinh \n");
            break;
	}
    }
	
    printf("Hoc C tai freetuts.net \n");
	
    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. \n");

    while (1) {
        scanf("%d", &i);
        printf("Ban vua nhap so %d\n", 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 \n");
            break;
        }
    }

    printf("Chuong trinh dang tai freetuts.net \n");
    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é.

Cùng chuyên mục:

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý mảng đa chiều (array.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý ngày tháng (datetime.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số thực (float.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý số nguyên lớn (bigint.h) trong C/C++

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý thời gian (time.h) trong C

Các hàm xử lý chuỗi (string.h) trong C/C++

Các hàm xử lý chuỗi (string.h) trong C/C++

Thread Pools và Parallel Algorithms trong C++

Thread Pools và Parallel Algorithms trong C++

Tạo và quản lý các Multithreading trong C++

Tạo và quản lý các Multithreading trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Xử lý ngoại lệ khi làm việc với Memory Allocation trong C++

Try, Catch, và Throw của Exception Handling trong C++

Try, Catch, và Throw của Exception Handling trong C++

Cách sử dụng Lambda Expressions trong C++

Cách sử dụng Lambda Expressions trong C++

Sử dụng weak_ptr trong C++

Sử dụng weak_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng shared_ptr trong C++

Sử dụng unique_ptr trong C++

Sử dụng unique_ptr trong C++

Tổng quan về Smart Pointers trong C++

Tổng quan về Smart Pointers trong C++

Sử dụng Iterators trong STL của C++

Sử dụng Iterators trong STL của C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng Vector trong C++

[Iterator] Sử dụng trong List trong C++

[Iterator] Sử dụng trong List trong C++

[STL] Sử dụng Vector trong C++

[STL] Sử dụng Vector trong C++

Tổng quan về Iterators trong C++

Tổng quan về Iterators trong C++

Top