您的位置:首页 > 编程语言 > C语言/C++

C++基础---布尔型

2015-08-15 13:42 441 查看

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的区别
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: