bool类型_C语言编程第11讲——C语言的布尔类型

4e7fee18a0bc0e0f773f33288de9390c.png

布尔类型,简单地说,就是一个表示真值或者假值的类型。

我们在很多程序中,都会用到,例如:

#include #include void PrintSignalOfInt(int iValue){    if (iValue > 0)    {        printf("Positive");    }    else    {        printf("Negative or 0.");    }}int main(){    PrintSignalOfInt(-123);    return 0;}

上面的表达式iValue > 0,其实就会返回布尔类型的值:

(1)返回“真值”执行一个分支;

(2)返回“假值”执行另一个分支。

要是世界这么美好就太好了!

0f9a83b40ca958173ee6bf33219f1cc4.png

现实情况是,在ANSI C中,没有布尔类型!

不信,你看下面的代码:

程序#include int main(){    printf("result of 3 > 2 is : %d", 3 > 2);    return 0;}执行结果result of 3 > 2 is : 1

上面的代码表明:3 > 2 表达式的结果就是1,是个整数,并没有所谓的布尔类型。

用整数代替现实生活中的真假,让有些代码,读起来不是滋味

例如:

代码#include int main(){    int i=5;    while (i)    {        printf("i is : %d", i);        i--;    }    return 0;}编译后运行结果为:i is : 5i is : 4i is : 3i is : 2i is : 1

当我看到 if (int值) 或者 while (int值)之类的代码,总是感觉没那么畅快。

好了,制定C标准的专家也有和我一样的感觉了:-)

C99的解决方案

1、为了解决上面的问题,C99引入了_Bool类型,只能存入数值0和1。

2、但是我更喜欢用C99引入的标准头文件stdbool.h:

(1)定义了一种类型bool;

(2)定义了两种布尔常量true,false;

(3)可以给bool类型赋值true或者false;

3、需要注意的是,我们编写C程序,常常使用C++编译器,而C++中是有布尔类型,并且有true和false布尔常量的哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值