Bài tập

Boolean trong C: Kiểu dữ liệu diễn tả sự đúng sai

Huy Erick

Boolean trong C là gì? Trong lập trình, chúng ta thường cần một kiểu dữ liệu chỉ có thể có hai giá trị - đúng hoặc sai. Có thể kể đến một số ví dụ...

Boolean trong C là gì?

Trong lập trình, chúng ta thường cần một kiểu dữ liệu chỉ có thể có hai giá trị - đúng hoặc sai. Có thể kể đến một số ví dụ phổ biến như: Có/Không, Bật/Tắt, Đúng/Sai. Trong C, kiểu dữ liệu bool, hay còn gọi là booleans, được sử dụng để biểu diễn các giá trị true hoặc false.

Các biến Boolean trong C

Trong C, kiểu dữ liệu bool không được tích hợp sẵn như int hay char. Nó được giới thiệu từ phiên bản C99 và để sử dụng nó, chúng ta cần nhập file header sau:

#include 

Một biến boolean được khai báo bằng từ khóa bool và chỉ có thể nhận giá trị true hoặc false:

bool isProgrammingFun = true;
bool isFishTasty = false;

Trước khi in giá trị của các biến boolean, chúng ta cần biết rằng chúng được trả về dưới dạng số nguyên: 1 đại diện cho true và 0 đại diện cho false. Do đó, chúng ta cần sử dụng định dạng %d để in giá trị boolean:

#include 
#include 

int main() {
    bool isProgrammingFun = true;
    bool isFishTasty = false;
    printf("%d\n", isProgrammingFun); // Kết quả 1 (true)
    printf("%d\n", isFishTasty); // Kết quả 0 (false)
    return 0;
}

Tuy nhiên, thay vì in giá trị boolean, chúng ta thường so sánh giá trị và các biến boolean, đây là phương pháp phổ biến hơn.

So sánh giá trị và các biến

So sánh giá trị trong lập trình rất hữu ích vì nó giúp chúng ta tìm ra câu trả lời và đưa ra quyết định chính xác. Ví dụ, chúng ta có thể sử dụng toán tử so sánh lớn hơn (>) để tìm ra sự khác biệt giữa hai giá trị:

#include 

int main() {
    printf("%d\n", 10 > 9); // Kết quả 1 (true) vì 10 lớn hơn 9
    return 0;
}

Từ ví dụ trên, chúng ta có thể thấy kết quả trả về là một giá trị boolean. Chúng ta cũng có thể so sánh hai biến với nhau, ví dụ:

#include 

int main() {
    int x = 10;
    int y = 9;
    printf("%d\n", x > y); // Kết quả 1 (true) vì 10 lớn hơn 9
    return 0;
}

Chúng ta có thể so sánh cả các giá trị khác nhau, sử dụng toán tử ngang bằng (==):

#include 

int main() {
    printf("%d\n", 10 == 10); // Kết quả 1 (true) vì 10 bằng 10
    printf("%d\n", 10 == 15); // Kết quả 0 (false) vì 10 không bằng 15
    printf("%d\n", 5.5 == 55); // Kết quả 0 (false) vì 5.5 không bằng 55
    printf("%d\n", 3.8 == 3.8); // Kết quả 1 (true) vì 3.8 bằng 3.8
    return 0;
}

Trong C, chúng ta không chỉ có thể so sánh các số mà còn có thể so sánh các biến boolean và cấu trúc đặc biệt như mảng hay array.

#include 
#include 

int main() {
    bool isHamburgerTasty = true;
    bool isPizzaTasty = true;
    printf("%d\n", isHamburgerTasty == isPizzaTasty);
    return 0;
}

Ví dụ thực tế

Hãy xem xét một ví dụ thực tế nơi chúng ta cần biết liệu một người có đủ tuổi bầu cử hay không. Ví dụ dưới đây sử dụng toán tử so sánh >= để kiểm tra tuổi (25) có lớn hơn hoặc bằng giới hạn tuổi bầu cử được đặt là 18:

#include 

int main() {
    int myAge = 25;
    int votingAge = 18;
    printf("%d\n", myAge >= votingAge); // Kết quả 1 (true), từ 25 tuổi trở lên được quyền bầu cử!
    return 0;
}

Thật tuyệt vời, phải không? Chúng ta còn có thể sử dụng một lệnh if...else để thực hiện các tác vụ khác nhau tùy thuộc vào kết quả:

#include 

int main() {
    int myAge = 25;
    int votingAge = 18;
    if (myAge >= votingAge) {
        printf("Đủ tuổi bầu cử!");
    } else {
        printf("Không đủ tuổi bỏ phiếu.");
    }
    return 0;
}

Đó là một số điều cần biết về boolean trong ngôn ngữ lập trình C. Hi vọng bài viết này hữu ích với bạn.

1