布尔型(bool)变量的值只有 真 (true) 和假 (false)。

应用:

①布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假

②bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。

③布尔型运算结果常用于条件语句

if (逻辑表达式){如果是 true 执行这里;}

else{如果是 false 执行这里;};

扩展资料

使用bool逻辑型变量的优点:

1、 提高程序的可读性

bool类型的变量只可能有两个值true或false,在没有统一的布尔类型在大型的工程项中特别是用到第三方程序库时,可能使用不同的手段模拟布尔类型以提交代码的可读性,这样会使得代码有些混

乱,C语言中引入了bool内置类型,解决了代码的一致性问题。

2、提高程序的性能

bool在绝大多数编译器编译时都将其实现为1字节,即sizeof(bool)的值为1,加上其只有两个值的值域{true, false},是C语言中最小的数据类型了。

虽然char、unsigned char和signed char类型在C语言中没有特定的实现要求,但一般也实现为一个字节,这样看来与bool类型从内存空间的占用上并没有性能上的差异。

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int main(void)
{
bool boolean=-11212112;
printf("boolean:%d\n",boolean);
return EXIT_SUCCESS;
}

输出结果:
boolean:1
可以看到,gcc编译器对待_Bool类型有自己的转换处理。如果是0赋值给_Bool类型,那么就赋值0。如果是任意其他数据,那么会赋值为1。(只是不知道其他编译器是否如此处理,C2008标准草案没有细说这个部分)
_Bool类型只有0和1这两个值。

实战:

注意for 的内定义的作用域!!!!

c语言中bool的使用相关推荐

  1. c语言中bool作用,c语言中bool的用法

    C语言是目前世界上最流行.使用最广泛的高级程序设计语言之一,具有高效.可移植性好等优点,特别是在嵌入式领域有着广泛的应用.下面小编就跟你们详细介绍下c语言中bool的用法,希望对你们有用. c语言中b ...

  2. C语言中bool类型变量的输出格式

    C语言中并没有bool类型的变量.但是,你可以使用标准库中的stdbool.h头文件来使用布尔类型. 在使用stdbool.h头文件后,你可以定义一个布尔类型的变量,例如: bool flag; 在输 ...

  3. c语言中bool库函数,C语言中的bool

    C99之前没有定义bool型,在C99中在stdbool.h中定义了_Bool为bool,当然true 和 false也没有定义.但是C++中是有bool型的,并且true 和 false也是有定义的 ...

  4. 第四篇 | C语言中bool类型数据应用

    代码展示: //为了描述逻辑的真假问题,引入关键字_Bool 描述逻辑类型, //在stdbool.h中定义bool代表_Bool,定义关键字true和false. #include<stdio ...

  5. C语言中bool类型的使用

    此文是作者初次学习C语言的笔记博文,如有错误请指正,谢谢!!!! 在c99之后C语言增加了bool类型的原始数据类型.可以和其他数据类型一样正常使用.只能用来存放两个值:true (1) 和 fals ...

  6. c语言调用bool函数,C语言中 bool的用法

    布尔型(bool)变量的值只有 真 (true) 和假 (false). 布尔型变量可用于逻辑表达式,也就是"或""与""非"之类的逻辑运算 ...

  7. C语言中的bool变量

    在一些高级语言当中,为了能够完成更好的逻辑判断,因此就有了bool类型,bool类型的变量值只有true和false两种. 而在C语言中,一般认为0为假,非0为真. 这是因为c99之前,c90是没有b ...

  8. 关于Linux—C语言中的bool类型

    关于Linux c语言中的bool数据类型 bool类型属于基本数据类型,其类型名称为bool,值域为非零(true)和零(false).如果我们不加入其他的头文件bool类型是会报错的.bool类型 ...

  9. go语言中channel的创建和销毁以及匿名函数的使用

    channel的创建 go语言中,任意类型前面加上关键字chan即可声明对应类型的通道,创建通道需要使用make,make也用于map 和slice的创建 创建一个通道 /*刚创建的通道是nil*/ ...

最新文章

  1. 【AC自动机】【字符串】【字典树】AC自动机 学习笔记
  2. [导入]第 3 章 Enterprise Library 的设计
  3. python网络通信框架_Python运维-Socket网络编程 (1)
  4. JPA在MySQL中自动建表
  5. [数组] 连续子数组的最大和 --- LeetCode53
  6. 标记偏见_分析师的偏见
  7. 1.3编程基础之算术表达式与顺序执行 11 计算浮点数相除的余数
  8. anaconda在安装依赖包时出现报错提示 ‘requests‘ is a dependency of conda and cannot be remove from conda‘s operatin
  9. “3D几何与视觉技术”全球在线研讨会第九期~识别3D中的物体和场景
  10. Go编程语言能干什么
  11. python qqbot实现qq聊天机器人_Python QQBot库的QQ聊天机器人
  12. mc服务器切换模式显示英文字母,我的世界更改模式的指令是什么_MC切换模式指令方法新版...
  13. 【Appium】使用W3C actions方法长按元素
  14. FreeRTOS 任务调度 任务切换
  15. 大数据信息资料采集:百度地图腾讯地图高德地图商家信息采集
  16. 高能所客座用户计算机申请,2020年中科院高能所招收联合培养硕士博士生、客座研究生多名...
  17. k8s.gcr.io、gcr.io仓库的镜像下载
  18. 榆熙:拼多多商家提升销量的技巧
  19. python控制键盘按键_如何通过Python生成键盘按键事件来控制PP的表示?
  20. 模拟电路技术之基础知识(二)

热门文章

  1. 小学生如何用计算机写字,巧用信息技术培养小学生规范书写汉字的能力
  2. Opencv:Task01:Opencv基本了解、图像读取和绘图
  3. 【概念】为什么区块链被称为分布式数据库?举例讲解分布式数据库包会教程。区块链分布式数据库到底是什么?什么是分布式数据库?一千六百字讲清楚什么事分布式数据库。
  4. Linux之expect命令,以及实战使用!!!
  5. JS事件的三个阶段详解
  6. GoldenGate 基础知识
  7. mac(2) : 查看公网ip
  8. python 嵌套函数过多_嵌套函数的性能开销是多少?
  9. linux下java的环境配置
  10. android 老年模式 oppo,老年版“青少年模式”?为了适老化,OPPO手机新增了这个功能...