以下是您提供的文本翻译成繁體中文的版本:

C - Booleans

# C 語言中的布林值:初學者指南

你好,未來的程式設計師們!今天,我們將要進入 C 語言中布林值的精彩世界。別擔心如果你之前從未編過程式碼——我將成為你這次旅程中的友好導遊。在這個教學結束時,你將成為布林值的大師!

## 布林值是什麼?

在我們深入 C 語言的特定內容之前,讓我們先來討論一下布林值是什麼。想像你正在和朋友玩一個簡單的「是非題」遊戲。這基本上就是編程中的布林值——它們代表兩種可能的狀態:真或假、是或否、開或關。

在現實生活中,我們時刻都在使用布林值,而自己卻沒有察覺。燈亮著嗎?你餓了嗎?球隊贏了比賽嗎?所有這些問題都有布林值的答案!

現在,讓我們看看如何在 C 編程中使用這個概念。

## 使用 enum 來實現 C 語言中的布林類型

在 C 語言中,沒有內置的布林類型(至少在較老的版本中沒有),但我們可以使用所謂的 `enum` 來創建我們自己的類型。`enum` 就像是我們定義的一個常量列表。

以下是如何使用 `enum` 創建布林類型的例子:

```c
enum boolean {
    false,
    true
};

現在,讓我們在一個簡單的程序中使用它:

#include <stdio.h>

enum boolean {
    false,
    true
};

int main() {
    enum boolean isRaining = false;

    if (isRaining == true) {
        printf("不要忘記帶傘!\n");
    } else {
        printf("享受陽光燦爛的日子!\n");
    }

    return 0;
}

在這個例子中,我們創建了一個類型為 enum boolean 的變量 isRaining。我們將它設為 false,所以我們運行這個程序時,它會打印「享受陽光燦爛的日子!」。

使用 typedef enum 為 BOOL

現在,每次都打 enum boolean 可能會有些麻煩。我們可以使用 typedef 來創建一個簡寫,讓我們的生活變得更容易:

#include <stdio.h>

typedef enum {
    FALSE,
    TRUE
} BOOL;

int main() {
    BOOL isSunny = TRUE;

    if (isSunny) {
        printf("不要忘記塗防曬霜!\n");
    } else {
        printf("也許帶一件外套。\n");
    }

    return 0;
}

在這裡,我們創建了一個新的類型叫做 BOOL,我們可以像使用其他類型一樣使用它。這樣更乾淨,也更容易閱讀!

使用 #define 實現布林值

在 C 語言中實現布林值的另一種方法是使用 #define 指令。這種方法在較老的 C 代碼中常見:

#include <stdio.h>

#define FALSE 0
#define TRUE 1

int main() {
    int isHungry = TRUE;

    if (isHungry) {
        printf("該吃點小食了!\n");
    } else {
        printf("我現在不是很餓。\n");
    }

    return 0;
}

在這種情況下,TRUE 被定義為 1,FALSE 被定義為 0。記住,在 C 語言中,任何非零值在條件語句中都會被視為真。

使用 stdbool.h 中的布林類型

好消息!如果你使用的是較新版本的 C(C99 或之後的版本),那麼有一個內置的布林類型可以使用。你只需要包含 stdbool.h 頭文件:

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

int main() {
    bool isHappy = true;

    if (isHappy) {
        printf("我很開心,我知道!\n");
    } else {
        printf("我今天覺得有點低落。\n");
    }

    return 0;
}

這是在現代 C 編程中使用布林值的最直接方式。它乾淨、簡單,並且被廣泛理解。

布林方法的比較

讓我們總結一下我們學到的不同方法,並在一個方便的表格中展示:

方法 優點 缺點
enum 自定義,意圖清晰 冗長
typedef enum 自定義,較不冗長 對某些人來說可能不熟悉
#define 簡單,廣泛兼容 不是類型安全
stdbool.h 內置,類型安全 只在 C99 和之後的版本中可用

結論

好了,各位!我們已經探索了 C 語言中的布林值,從使用 enum 創建我們自己的類型到使用 stdbool.h 中的內置類型。記住,布林值是編程中決策的基石。它們就像代碼中的交通燈——告訴你的程序何時前行,何時停止。

在你繼續你的編程旅程時,你會發現布林值到處都是。它們用在條件語句、循環中,甚至用作程序中的狀態標誌。

在我讓你離開之前,這裡有一個編程笑話:為什麼程式設計師喜歡暗色模式?因為光會吸引蟲子!(明白嗎?布林值...光...蟲子?好吧,我現在停止。)

持續練習,保持好奇心,並且開心編程!

Credits: Image by storyset