C++基础---布尔型

1. 布尔型

1.1 布尔型的值

  • 布尔型的值:只有两个false(假)和true(真)。且false的序号为0,true的序号是1
  • 布尔型的值:用任何非0整数给bool型变量赋值时,其值都为1,甚至非整数的其他类型,只要非0,其值也是1
  • 相当于:enum bool{false, true} ;
    (1)0:false,即为
    (2)1:true,即为
    如:bool a = 3; //a=3,为非0,true 真
      bool b = 1; //b=1,为非0,true 真
      bool c = a+b; //c=4,为非0,true 真
      bool d = a-a; //d=0,为0,false 假
  • 布尔型值的程序示例:

    
    #include <iostream>
    
    using namespace std;
    int main()
    {  
        bool check_a = 3;
        bool check_b = 1;
        bool check_c = check_a + check_b;
        bool check_d = check_a - check_a;
        if (true == check_a)
            cout<<"check_a="<<check_a<<" "<<"true"<<endl;
        else
            cout<<"check_a="<<check_a<<" "<<"false"<<endl;
        if (true == check_b)
            cout<<"check_b="<<check_b<<" "<<"true"<<endl;
        else
            cout<<"check_b="<<check_b<<" "<<"false"<<endl;
        if (true == check_c)
            cout<<"check_c="<<check_c<<" "<<"true"<<endl;
        else
            cout<<"check_c="<<check_c<<" "<<"false"<<endl;
        if (true == check_d)
            cout<<"check_d="<<check_c<<" "<<"true"<<endl;
        else
            cout<<"check_d="<<check_c<<" "<<"false"<<endl;
        system("pause");
        return 0;
    }
    =>check_a=1 true
      check_b=1 true
      check_c=1 true
      check_d=1 false

1.2 BOOL和bool的区别

  • 类型不同:
    bool:为布尔型用作逻辑判断,为C++内置数据类型;
    BOOL:在< windef.h>typedef int BOOL;在< wtypes.h>typedef long BOOL;
  • 长度不同:
    bool:只有1个字节;
    BOOL:长度视实际环境来定,一般可认为是4个字节;
  • 取值不同:
    bool:取值false和true,是0和1的区别;false可以代表0,但true有很多种,并非只有1。
    (1)返回值为等于0的整数时,为false;
    (2)返回值为大于等于1的整数时,为true;
    注:如果数个bool对象列在一起,可能会各占1个Byte,这取决于编译器。
    BOOL:是微软定义的typedef int BOOL(在windef.h中。与bool不同,它是一个三值逻辑TRUE/FALSE/ERROR
    (1)返回值为大于等于1的整数时,为TRUE;
    (2)返回值为等于0的整数时,为FALSE;
    (3)返回值为等于-1的整数时,为ERROR;

参考文献 :
[1]《C++全方位学习》范磊——第四章
[2]《C++程序设计教程(第二版)》钱能——第三章
[3] 百度搜索关键字:C++数据类型、布尔型、BOOL和bool的区别

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值