1. 介紹
C 語言是在學習程式設計基礎時非常重要的語言。其中,bool
型別是在條件判斷與迴圈等控制結構中不可或缺的資料型別。本文將介紹 C 語言中 bool
型的基本用法與實際範例,幫助初學者到中階開發者深入理解。
2. bool
型別是什麼
2.1 定義與特點
bool
型別僅能取兩個值:真(true
)或假(false
)。這稱為邏輯值,常用於程式的條件判斷與重複處理。在 C 語言中,bool
型是在 C99 標準後導入的。在此之前的版本則以整數型態來代替表示布林值。
2.2 C 語言中的 bool
型別導入
要在 C 語言中使用 bool
型別,需包含 <stdbool.h>
標頭檔。引入此標頭檔後,即可使用 bool
、true
、false
這些關鍵字。
#include <stdbool.h>
bool isProgrammingFun = true;
bool isFishTasty = false;
如上所宣告的 bool
變數,可以存放 true
或 false
的值。
3. C 語言中 bool
型別的使用方式
3.1 宣告與初始化
宣告 bool
型別變數時,使用 bool
關鍵字,並常以 true
或 false
進行初始化。
bool isProgrammingFun = true;
bool isFishTasty = false;
在上述範例中,isProgrammingFun
儲存 true
,isFishTasty
儲存 false
。
3.2 bool
型別的輸出方式
在 C 語言中輸出 bool
型的值時,會以整數顯示。true
表示為 1
,false
表示為 0
,因此使用 printf
輸出時需用 %d
。
printf("%d", isProgrammingFun); // 輸出 1 (true)
printf("%d", isFishTasty); // 輸出 0 (false)
請記得,bool
型的值在輸出時會顯示為 1
或 0
。
4. bool
型別與比較運算子
4.1 基本比較運算子
bool
型通常由比較運算子的條件式結果產生。常見的比較運算子包括 >
、<
、==
等。運用這些比較運算子,可讓條件式結果為 true
或 false
。
printf("%d", 10 > 9); // 輸出 1 (true)
printf("%d", 5 == 5); // 輸出 1 (true)
printf("%d", 3 < 2); // 輸出 0 (false)
4.2 實戰範例
以下為 if
判斷式的範例。如果條件式為 true
,則執行區塊內的程式。
int x = 10;
int y = 9;
if (x > y) {
printf("x 比 y 大
");
} else {
printf("x 比 y 小或相等
");
}
此例中,因 x
大於 y
,所以會輸出「x 比 y 大」。

5. 函式中的 bool
型別使用
5.1 作為回傳值的應用
bool
型別也常用作函式的回傳值。例如,可用來判斷某個數字是否為偶數的函式。
#include <stdbool.h>
bool isEven(int number) {
return number % 2 == 0;
}
int main() {
printf("%d
", isEven(4)); // 輸出 1 (true)
printf("%d
", isEven(7)); // 輸出 0 (false)
return 0;
}
此函式會在參數為偶數時回傳 true
(1),奇數時回傳 false
(0)。
5.2 應用範例
布林型別在表單驗證或安全性處理等多種情境中常用。例如用來檢查用戶輸入是否符合特定條件:
bool isValidAge(int age) {
return age >= 18;
}
這個函式判斷年齡是否大於等於 18 歲。
6. bool
型別的進階應用
6.1 機器學習與人工智慧
布林型別在機器學習和人工智慧領域也常用於條件判斷。例如判斷某張圖片是否為貓,就可以用布林值來表示判斷結果。bool
型在確認條件是否成立時非常實用。
6.2 實際程式範例
以下為判斷投票年齡的實用程式碼範例:
int myAge = 25;
int votingAge = 18;
if (myAge >= votingAge) {
printf("你已經符合投票年齡!
");
} else {
printf("你尚未符合投票年齡。
");
}
本範例中,因 myAge
大於 votingAge
,會輸出「你已經符合投票年齡!」。
7. 結論
bool
型別是在 C 語言中進行條件判斷和迴圈處理時不可缺少的資料型態。本文介紹了 bool
型的基本用法、與比較運算子的結合,以及在函式中的應用。善用這些知識,將能寫出更進階的 C 語言程式。