迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > C语言 >

在 C 语言中使用布尔值

作者:迹忆客 最近更新:2023/05/05 浏览次数:

今天的教程演示了如何使用 bool、enum、typedef 和 #define 在 C 编程语言中使用布尔值。


C 中的布尔值

bool(布尔数据类型)在 C99 和更新版本中原生可用; 我们必须包含 stdbool.h 库才能使用此数据类型。 在 C99 中,本机数据类型称为 _Bool

另一方面,bool 是在 stdbool.h 中定义的标准库宏。 _Bool 数据类型的对象包含 1 或 0,而 true 和 false 是来自 stdbool.h 库的宏。

这意味着 C 预处理器会将 #if true 解释为 #if 1,除非 stdbool.h 包含在 C 程序中。 同时,C++ 预处理器必须将 true 本机识别为语言文字。


在 C 中使用 bool 类型作为布尔值

示例代码:

// library to use `bool`
#include <stdbool.h>
// library to use `printf()`
#include <stdio.h>

// main function
int main(){
    bool variableX = true;

    if(variableX){
        printf("The value of 'variableX' is True");
    }
    else{
        printf("The value of 'variableX' is False");
    }
    return 0;
}

输出:

The value of 'variableX' is True

如果我们有 C99 或更新版本,我们可以使用 bool,_Bool 的别名。 我们必须包含一个名为 stdbool.h 的库(也称为头文件)以使用 bool; 否则,我们会得到一个错误。

请参阅上面给出的程序作为使用 bool 类型的实际示例。


在 C 中对布尔值使用枚举

示例代码:

// library to use `printf()`
#include <stdio.h>

// enum's declaration
typedef enum { false, true } boolean;

// main function
int main(){
    boolean variableX = false;

    if(variableX){
        printf("The value of 'variableX' is True");
    }
    else{
        printf("The value of 'variableX' is False");
    }
    return 0;
}

输出:

The value of 'variableX' is False

上面给出的代码片段是为那些使用 C89/90 或不想使用原生 bool 类型的人提供的解决方案。 我们可以使用枚举函数来创建 bool 类型。

枚举(也称为 Enumeration)是 C 编程中的一种用户定义数据类型,用于为整数常量分配名称; 为什么? 这些名称使程序易于阅读、理解和维护。

我们通过为布尔类型创建一个新名称来使用布尔值。 为此,我们使用 typedef 关键字,该关键字用于为类型赋予新名称(请参阅本节的示例代码,其中我们为 bool 类型提供新名称,即布尔值)。

一旦我们执行上面给出的代码,一个枚举将被创建为 bool 类型。 进一步,将枚举的元素设置为假和真。

第一和第二个位置将被 false 占用以保持 0 和 true 以保持 1。


在 C 中对布尔值使用 typedef 和 #define

我们可以通过以下两种方式使用布尔值作为第二种方法的替代方法,我们将枚举用于布尔值。

示例代码 1:

// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// declare enum
enum { false, true };

// main function
int main(){
    boolean variableX = true;

    if(variableX){
        printf("The value of 'variableX' is True");
    }
    else{
        printf("The value of 'variableX' is False");
    }
    return 0;
}

示例代码 2:

// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
//define macros
#define true 1;
#define false 0;

// main function
int main(){
    boolean variableX = true;

    if(variableX){
        printf("The value of 'variableX' is True");
    }
    else{
        printf("The value of 'variableX' is False");
    }
    return 0;
}

这两个代码示例都产生了下面给出的相同结果。

输出:

The value of 'variableX' is True

在示例代码 2 中,我们使用了 #define(也称为宏指令),它是用于在 C 程序中定义宏的预处理器指令。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 C 语言中使用 typedef enum

发布时间:2023/05/07 浏览次数:181 分类:C语言

本文介绍了如何在 C 语言中使用 typedef enum。使用 enum 在 C 语言中定义命名整数常量 enum 关键字定义了一种叫做枚举的特殊类型。

C 语言中的静态变量

发布时间:2023/05/07 浏览次数:151 分类:C语言

本文介绍了如何在 C 语言中使用静态变量。在 C 语言中使用 static 变量在函数调用之间保存变量值

C 语言中生成随机数

发布时间:2023/05/07 浏览次数:64 分类:C语言

本文演示了如何在 C 语言中生成随机数。使用 rand 和 srand 函数在 C 语言中生成随机数

C 语言中的 i++ 与++i

发布时间:2023/05/07 浏览次数:83 分类:C语言

本文演示了如何在 C 语言中使用前缀增量与后缀增量运算符。C 语言中++i 和 i++ 记号的主要区别

C 语言中获取当前工作目录

发布时间:2023/05/07 浏览次数:182 分类:C语言

本文演示了如何在 C 语言中获取当前工作目录。使用 getcwd 函数获取当前工作目录的方法

C 语言中的位掩码

发布时间:2023/05/07 浏览次数:126 分类:C语言

本文介绍了如何在 C 语言中使用位掩码。使用 struct 关键字在 C 语言中定义位掩码数据

C 语言中的排序函数

发布时间:2023/05/07 浏览次数:181 分类:C语言

本文演示了如何在 C 语言中使用标准库排序函数。使用 qsort 函数对 C 语言中的整数数组进行排序

C 语言中的 extern 关键字

发布时间:2023/05/07 浏览次数:114 分类:C语言

本文介绍了如何在 C 语言中使用 extern 关键字。C 语言中使用 extern 关键字来声明一个在其他文件中定义的变量

C 语言中的 #ifndef

发布时间:2023/05/07 浏览次数:186 分类:C语言

本文介绍了如何在 C 语言中使用 ifndef。在 C 语言中使用 ifndef 保护头文件不被多次包含 C 语言中的头文件用于定义同名源文件中实现的函数的接口。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便