C語言中的布爾值 在編程中,您經常需要一種只能有兩個值的數據類型,例如: 是/否 開/關 真/假 為此,C語言有一個 bool 數據類型,稱為布爾值。 布爾變數 在C語言中,bool 類型不是內置數據類型,例如 int 或 char 它是在 C99 中引入的,您必須導入以下頭文件才能使用它: #in ...
C語言中的布爾值
在編程中,您經常需要一種只能有兩個值的數據類型,例如:
- 是/否
- 開/關
- 真/假
為此,C語言有一個 bool
數據類型,稱為布爾值。
布爾變數
在C語言中,bool
類型不是內置數據類型,例如 int
或 char
它是在 C99
中引入的,您必須導入以下頭文件才能使用它:
#include <stdbool.h>
布爾變數使用 bool
關鍵字聲明,只能取值 true
或 false
:
bool isProgrammingFun = true;
bool isFishTasty = false;
在嘗試列印布爾變數之前,您應該知道布爾值作為整數返回:
- 1(或非0的任何其他數字)表示true
- 0表示false
因此,您必須使用 %d
格式說明符來列印布爾值:
// 創建布爾變數
bool isProgrammingFun = true;
bool isFishTasty = false;
// 返回布爾值
printf("%d", isProgrammingFun); // 返回1(true)
printf("%d", isFishTasty); // 返回0(false)
但是,通過比較值和變數來返回布爾值更常見。
比較值和變數
比較值在編程中很有用,因為它可以幫助我們找到答案和做出決定。
例如,您可以使用比較運算符,例如大於(>)運算符,來比較兩個值:
printf("%d", 10 > 9); // 返回1(true)因為10大於9
從上面的例子可以看出,返回值是布爾值(1)。
您還可以比較兩個變數:
int x = 10;
int y = 9;
printf("%d", x > y);
在下麵的示例中,我們使用等於(==)運算符比較不同的值:
printf("%d", 10 == 10); // 返回1(true)
printf("%d", 10 == 15); // 返回0(false)
printf("%d", 5 == 55); // 返回0(false)
您不僅限於只比較數字。您還可以比較布爾變數,甚至特殊的結構,例如數組:
bool isHamburgerTasty = true;
bool isPizzaTasty = true;
// 找出漢堡和披薩是否都好吃
printf("%d", isHamburgerTasty == isPizzaTasty);
記住,在使用 bool
變數時要包含 <stdbool.h>
頭文件。
真實案例
讓我們想一個“現實生活中的例子”,我們需要找出一個人是否有資格投票。
在下麵的示例中,我們使用 >=
比較運算符來找出年齡(25)是否大於或等於投票年齡限制,該限制設置為18:
int myAge = 25;
int votingAge = 18;
printf("%d", myAge >= votingAge); // 返回1(true)
很酷,對吧?一個更好的方法(既然我們已經開始討論了),是將上面的代碼包裝在一個 if...else
語句中,以便我們可以根據結果執行不同的操作:
// 如果myAge大於或等於18,則輸出"Old enough to vote!"。否則輸出"Not old enough to vote.":
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("Old enough to vote!");
} else {
printf("Not old enough to vote.");
}
最後
為了方便其他設備和平臺的小伙伴觀看往期文章:
微信公眾號搜索:Let us Coding
,關註後即可獲取最新文章推送
看完如果覺得有幫助,歡迎 點贊、收藏、關註