C Boolean
Boolean
Thông thường, trong lập trình, bạn sẽ cần một kiểu dữ liệu chỉ có thể có một trong hai giá trị, như:
- CÓ KHÔNG
- BẬT / TẮT
- ĐÚNG SAI
Đối với điều này, C có kiểu dữ liệu bool
, được gọi là booleans .
Boolean đại diện cho các giá trị true
hoặc false
.
Biến Boolean
Trong C, kiểu bool
không phải là kiểu dữ liệu có sẵn, như int
hoặc char
.
Nó được giới thiệu trong C99 và bạn phải nhập tệp tiêu đề sau để sử dụng nó:
#include <stdbool.h>
Một biến boolean được khai báo bằng từ khóa bool
và chỉ có thể nhận các giá trị true
hoặc false
:
bool isProgrammingFun = true;
bool isFishTasty = false;
Trước khi thử in các biến boolean, bạn nên biết rằng các giá trị boolean được trả về dưới dạng số nguyên :
-
1
(hoặc bất kỳ số nào khác không bằng 0) đại diện chotrue
-
0
đại diệnfalse
Do đó, bạn phải sử dụng công cụ xác định định dạng %d
để in giá trị boolean:
Ví dụ
// Create boolean variables
bool isProgrammingFun = true;
bool isFishTasty = false;
//
Return boolean values
printf("%d",
isProgrammingFun); // Returns 1 (true)
printf("%d", isFishTasty);
// Returns 0 (false)
Hãy tự mình thử »Tuy nhiên, việc trả về giá trị boolean bằng cách so sánh các giá trị và biến là phổ biến hơn.
So sánh giá trị và biến
Việc so sánh các giá trị rất hữu ích trong lập trình vì nó giúp chúng ta tìm ra câu trả lời và đưa ra quyết định.
Ví dụ: bạn có thể sử dụng toán tử so sánh , chẳng hạn như toán tử lớn hơn ( >
), để so sánh hai giá trị:
Từ ví dụ trên, bạn có thể thấy giá trị trả về là giá trị boolean ( 1
).
Bạn cũng có thể so sánh hai biến:
Trong ví dụ bên dưới, chúng tôi sử dụng toán tử bằng ( ==
) để so sánh các giá trị khác nhau:
Ví dụ
printf("%d", 10 == 10); // Returns 1 (true), because 10 is equal to 10
printf("%d", 10 == 15); // Returns 0 (false), because 10 is not equal
to 15
printf("%d", 5 == 55); // Returns 0 (false) because
5 is not equal to 55
Hãy tự mình thử »Bạn không bị giới hạn chỉ so sánh các con số. Bạn cũng có thể so sánh các biến boolean hoặc thậm chí các cấu trúc đặc biệt, như mảng (bạn sẽ tìm hiểu thêm ở chương sau):
Ví dụ
bool isHamburgerTasty = true;
bool isPizzaTasty = true;
// Find out
if both hamburger and pizza is tasty
printf("%d", isHamburgerTasty ==
isPizzaTasty);
Hãy tự mình thử » Hãy nhớ bao gồm tệp tiêu đề <stdbool.h>
khi làm việc với các biến bool
.