为什么C没有布尔类型

没有布尔类型的原因:在C里任何类型都可以当作bool来用,只要该值不为0就表示true,为0则表示false。在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。

在c里任何类型都可以当作bool来用,只要该值不为0就表示true,为0则表示false。ANSI C99标准规定C语言中有布尔类型(_Bool)。为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。使用布尔类型必须保证所使用的编译器支持C99标准。

在C语言标准(C89)没有定义布尔类型,所以C语言判断真假时以0为假,非0为真。

在C语言中用0代替假值,非0代表真值.上面这种定义法只是定义常量,为了方便那些习惯了使用true,false的程序员

新版本总会改进一些不好的地方,所以在最新的C语言标准(C99)解决了布尔类型的问题。C99提供了_Bool 型,所以布尔类型可以声明为 _Bool flag.

_Bool依然仍是整数类型,但与一般整型不同的是,_Bool变量只能赋值为0或1,非0的值都会被存储为1.

C99还提供了一个头文件 定义了bool代表_Bool,true代表1,false代表0.只要导入 stdbool.h ,就能非常方便的操作布尔类型了。

延伸阅读:

什么是布尔类型?

布尔型(Boolean)是编程语言 pascal 、VB、 C++ 、Java等的一种类型变量类型。 布尔型的值只有两个:false(假)和true(真)。而在Java中,0不表示假 , 1也不表示真 , 只有布尔类型可以表示真假。

布尔类型对象可以被赋予文字值true或者false,所对应的关系就是真与假的概念。

布尔类型只有两个值,false 和 true。

通常用来判断条件是否成立。

C语言语法规定,如果变量值为 0 就是 false,否则为 true,布尔变量只有这两个值。

文章标题:为什么C没有布尔类型,发布者:小编,转载请注明出处:https://worktile.com/kb/p/41154

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月23日
下一篇 2023年2月23日

相关推荐

  • 云原生应用的缺点是什么

    摘要:云原生应用是指专为云平台设计的应用程序。尽管它们提供了灵活性、可伸缩性、和有效的资源利用率,但也存在一些缺点。其核心缺点主要包括:1、复杂性增加;2、安全隐患;3、供应商锁定风险;4、迁移成本问题。在详述这些缺点的同时,文章会探讨其对业务运营的具体影响,并给出在采纳云原生应用时应考虑的因素。 …

    2023年11月15日
    37000
  • okr用什么工具

    okr用以下工具:一、Worktile;二、PingCode;三、Vision;四、Zokri。Worktile 是国内较早也是非常成熟的OKR工具。Worktile 覆盖了OKR设定、展示、更新、评分的完整周期管理,并且目标还能与具体项目/任务关联,它能够追踪公司级、部门级、个人级目标的进度,帮助…

    2023年3月19日
    35600
  • EDI系统都有哪些版本,有何特点

    EDI系统的特点:1、水质稳定;2、容易实现全自动控制;3、不会因再生而停机;4、不需化学再生;5、运行费用低;6、厂房面积小;7、无污水排放。自从1986年EDI膜堆技术工业化以来,全世界已安装了数千套EDI系统。 一、EDI系统的特点 自从1986年EDI膜堆技术工业化以来,全世界已安装了数千套…

    2023年4月30日
    39600
  • 在Scrum中,怎么有效的进行bug的管理

    在Scrum中,进行bug的管理应该分为三种情境:1、bug来自于正在开发的sprint;2、bug来自于已经结束的sprint;3、bug十分紧急,必须立刻修复。其中,如果bug来自于正在开发的sprint,会在task阶段就被标记为有bug,这个很容易解决。

    2023年1月2日
    60300
  • 小程序项目管理模式是什么

    小程序项目管理模式有:一、小程序+APP+公众号+社群;二、会员营销;三、渠道运营—通过分销实现老客带新客;四、积分商城—建立积分体系,提升商品复购;五、促销活动—利用折扣优惠刺激消费;六、自提点—实体零售到店自提引流到店。 一、小程序+APP+公众号+社群 小程序:超级APP全域生态用户流量累计2…

    2023年4月30日
    52400
  • 什么编程课程

    什么编程课程 编程课程通常包括1、基础编程语言学习2、数据结构与算法3、软件开发实践4、计算机科学原理。其中,基础编程语言学习是构建编程知识体系的基石,它不仅教会学习者如何编写代码,也是进一步深造更高级课程的前提。这一阶段,初学者通常会从Python、Java或C++等语言中选择一门开始,因为这些语…

    2024年4月25日
    500
  • 考试devops是什么

    DevOps一词意味着开发与运维的融合、1、通过实现工程、工具与文化实践的变革,目的在于缩短软件开发周期、2、提升交付频率与质量,同时不牺牲系统稳定性、3、增强组织间协作效率。在此,仔细探索第二点,提升交付频率与质量强调的是连贯性发布管道(CI/CD)的重要性,允许自动化测试与部署,确保软件在每次更…

    2024年3月26日
    6400
  • erp是oa吗

    ERP与OA两种系统不同,但它们可互补运用于企业资源与办公自动化管理。1、ERP系统专注于企业资源的计划与优化;2、OA系统侧重于办公流程的自动化与信息处理;3、ERP涵盖制造、物流、财务等运营核心部分;4、OA则处理文档、通信与行政管理事务。 OA系统具体来说是专注于提高企业日常办公效率与沟通协作…

    2024年1月11日
    22200
  • vscode为什么要Git

    Visual Studio Code (VSCode) 对Git的整合提供了无缝的版本控制体验,这是因为Git提供了强大的分布式版本控制功能、促进了代码的协作开发、并增强了代码管理的安全性和效率。 特别地,Git促进了代码的协作开发这一点,为开发者之间的协作带来了极大的便利。通过Git,团队成员可以…

    2024年4月3日
    6000
  • CNN、RNN、DNN的内部网络有什么区别

    其主要的区别包括:1、结构设计;2、应用场景;3、数据处理方式;4、记忆能力;5、参数数量;6、训练复杂度。其中,结构设计上,CNN主要用于图像处理,RNN用于序列数据,而DNN是普通的深度神经网络。在深度学习的领域中,CNN、RNN和DNN是三种主要的神经网络结构。 1、结构设计 CNN:卷积神经…

    2023年7月23日
    1.3K00

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部