Booleans trong C: Hướng dẫn cho người mới bắt đầu

Xin chào các bạn tương lai của lập trình! Hôm nay, chúng ta sẽ cùng lặn sâu vào thế giới thú vị của các Booleans trong C. Đừng lo lắng nếu bạn chưa bao giờ viết mã trước đây - tôi sẽ là người bạn thân thiện dẫn đường cho bạn trong hành trình này. Cuối cùng của bài hướng dẫn này, bạn sẽ trở thành một大师 của Boolean!

C - Booleans

Booleans là gì?

Trước khi chúng ta nhảy vào các nội dung cụ thể của C, hãy nói về Booleans là gì. Hãy tưởng tượng bạn đang chơi một trò chơi đơn giản "Đúng hoặc Sai" với một người bạn. Đó chính là những gì Booleans trong lập trình - chúng đại diện cho hai trạng thái có thể: true hoặc false, có hoặc không, bật hoặc tắt.

Trong cuộc sống thực tế, chúng ta sử dụng Booleans mọi lúc mà không nhận ra nó. Đèn có sáng không? Bạn có đói không? Đội của bạn có thắng trận không? Tất cả các câu hỏi này đều có câu trả lời Boolean!

Bây giờ, hãy xem chúng ta có thể sử dụng khái niệm này như thế nào trong lập trình C.

Sử dụng enum để Thực hiện Kiểu Boolean trong C

Trong C, không có kiểu Boolean内置 (ít nhất là trong các phiên bản cũ), nhưng chúng ta có thể tạo riêng của mình bằng cách sử dụng enum. Một enum là như một danh sách các hằng số mà chúng ta định nghĩa.

Dưới đây là cách chúng ta có thể tạo một kiểu Boolean sử dụng enum:

enum boolean {
false,
true
};

Bây giờ, hãy sử dụng điều này trong một chương trình đơn giản:

#include <stdio.h>

enum boolean {
false,
true
};

int main() {
enum boolean isRaining = false;

if (isRaining == true) {
printf("Don't forget your umbrella!\n");
} else {
printf("Enjoy the sunny day!\n");
}

return 0;
}

Trong ví dụ này, chúng ta đã tạo một biến isRaining kiểu enum boolean. Chúng ta đặt nó là false, vì vậy khi chạy chương trình này, nó sẽ in ra "Enjoy the sunny day!".

typedef enum thành BOOL

Bây giờ, việc gõ enum boolean mỗi lần có thể trở nên nhàm chán. Chúng ta có thể làm cho cuộc sống của mình dễ dàng hơn bằng cách sử dụng typedef để tạo một tên viết tắt:

#include <stdio.h>

typedef enum {
FALSE,
TRUE
} BOOL;

int main() {
BOOL isSunny = TRUE;

if (isSunny) {
printf("Don't forget your sunscreen!\n");
} else {
printf("Maybe bring a jacket.\n");
}

return 0;
}

Ở đây, chúng ta đã tạo một kiểu mới gọi là BOOL mà chúng ta có thể sử dụng như bất kỳ kiểu nào khác. Nó cleaner và dễ đọc hơn!

Boolean Values với #define

Một cách khác để thực hiện Booleans trong C là sử dụng các chỉ thị #define. Phương pháp này thường được sử dụng trong mã C cũ:

#include <stdio.h>

#define FALSE 0
#define TRUE 1

int main() {
int isHungry = TRUE;

if (isHungry) {
printf("Time for a snack!\n");
} else {
printf("I'm not hungry right now.\n");
}

return 0;
}

Trong trường hợp này, TRUE được định nghĩa là 1 và FALSE là 0. Nhớ rằng, trong C, bất kỳ giá trị không-zero nào cũng được coi là true trong một câu điều kiện.

Kiểu Boolean trong stdbool.h

Tin tốt! Nếu bạn đang sử dụng một phiên bản C mới hơn (C99 hoặc sau), có một kiểu Boolean内置 sẵn có. Bạn chỉ cần bao gồm tệp header stdbool.h:

#include <stdio.h>
#include <stdbool.h>

int main() {
bool isHappy = true;

if (isHappy) {
printf("I'm happy and I know it!\n");
} else {
printf("I'm feeling a bit down today.\n");
}

return 0;
}

Đây là cách đơn giản nhất để sử dụng Booleans trong lập trình C hiện đại. Nó sạch sẽ, đơn giản và được hiểu phổ biến.

So sánh các Phương pháp Boolean

Hãy tóm tắt các phương pháp khác nhau mà chúng ta đã học trong bảng handy:

Phương pháp Ưu điểm Nhược điểm
enum Định nghĩa tùy chỉnh, rõ ràng ý định Verbose
typedef enum Định nghĩa tùy chỉnh, ít verbose Có thể không quen thuộc với một số người
#define Đơn giản, tương thích rộng rãi Không an toàn về kiểu
stdbool.h 内置, an toàn về kiểu Chỉ có sẵn trong C99 và sau

Kết luận

Và thế là bạn đã có nó, các bạn! Chúng ta đã khám phá thế giới của các Booleans trong C, từ việc tạo riêng của mình với enum đến việc sử dụng kiểu内置 trong stdbool.h. Nhớ rằng, Booleans là những viên gạch xây dựng của quyết định trong lập trình. Chúng giống như đèn giao thông của mã - chỉ đạo chương trình của bạn khi nào nên đi và khi nào nên dừng.

Khi bạn tiếp tục hành trình lập trình của mình, bạn sẽ thấy Booleans xuất hiện ở mọi nơi. Chúng được sử dụng trong các điều kiện, vòng lặp, và thậm chí là các cờ để theo dõi các trạng thái trong chương trình của bạn.

Trước khi tôi để bạn đi, đây là một câu đùa lập trình: Tại sao các lập trình viên thích chế độ tối? Vì ánh sáng thu hút sâu! (Hiểu không? Boolean... ánh sáng... sâu? Được rồi, tôi sẽ dừng lại bây giờ.)

Hãy tiếp tục thực hành, 保持好奇心, và chúc các bạn lập trình vui vẻ!

Credits: Image by storyset