博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C语言】中的布尔类型
阅读量:5360 次
发布时间:2019-06-15

本文共 1017 字,大约阅读时间需要 3 分钟。

C语言中的布尔类型

 一、相关基础知识                                                 

首先bool  true  falseC++中的关键字,C语言中默认不支持这几个字符!

 二、具体内容                                                     

C89 (ANSI C)标准中没有定义与布尔类型相关的内容

 

但在C99标准中新定义了一个新的关键字_Bool ,以及新增了一个头文件 <stdbool.h>规范了布尔类型的操作,方便程序员进行调用!

 

<stdbool.h>头文件中定义了如下内容:

 

#define bool_Bool

#define false0

#define true1

 

这样在支持C99标准的编译器下只要包含stdbool.h ,就能非常方便的使用我们常用的bool  false  true来操作布尔类型

 

但有的编译器可能不支持C99标准!即无法使用关键字_Bool以及可能无法包含stdbool.h头文件,所以我们常可以自行定义一些布尔类型的操作:

 

#define bool int

#define true 1

#define false 0

 三、分析总结                                                     

即在不支持C99标准的编译器中无法使用_Bool以及包含头文件stdbool.h,在支持C99标准的编译器中可以无条件使用_Bool,因为它是关键字,它的值只能为01,以及若想使用boolfalsetrue则必须需包含头文件stdbool.h

 

 四、实例测试代码                                                 

用如下程序在VS2015中测试:

#include<stdio.h>

int main(void)

{

_Bool a = -112;

printf("%d\n",a);

getchar();

return 0;

}

程序输出1

即若给a赋值0,则输出0,若给_Bool 型的a赋值其他的任何值,都会被转变成1,也即非0都会变成1

 

下列程序在VS2015中通过编译,说明VS2015支持C99标准

#include<stdio.h>

#include<stdbool.h>

int main(void)

{

_Bool a = 1;

bool b = true;

bool c = false;

if (a == true)

{

printf("%d\n", a);

printf("%d\n", b);

printf("%d\n", c);

}

getchar();

return 0;

}

 

 

转载于:https://www.cnblogs.com/Ahair/p/5005561.html

你可能感兴趣的文章
几种排序方法
查看>>
查看数据库各表的信息
查看>>
第一阶段测试题
查看>>
第二轮冲刺第五天
查看>>
图片压缩
查看>>
Hadoop-2.6.5安装
查看>>
教你如何一步步将项目部署到Github
查看>>
关于Android圆形图片的一种优化方案(可以显示网络图片)
查看>>
Windows路由表详解
查看>>
.NET性能优化方面的总结
查看>>
Windows下文件夹扩展名
查看>>
今天早上6:00起来,每天晚上回来6点多已经天黑
查看>>
debian开启cgroup memory子系统
查看>>
信息收集
查看>>
SQL Server 中使用Convert来取得datetime数据类型样式(全)
查看>>
Python中list的拷贝问题
查看>>
Java学习第二周学习笔记
查看>>
SQL基本语句
查看>>
linux-Centos7安装python3并与python2共存
查看>>
redis 安装 yum install gcc tcl
查看>>