c语言的布尔值
‘壹’ bool在c语言中是什么意思
在C语言中,没有bool这种类型,但是在C++中,把bool当做一种基本的数据类型。
在C语言中,当我们要表示真或假的时候,都是定义一个非bool类型来使用的。
在C++中,加入了布尔bool这种基础的类型,用true和false来表示真或者假,也可以用非0值来表示真,用0来表示假。在C++中,虽然布尔类型只表示true和false,看起来好像可以用一个位来存储布尔类型的变量,但其实,布尔类型在C++中是占用一个字节的。
bool型变量返回值:
当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。
‘贰’ c语言bool什么意思
bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。
bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,它具有YES值和NO值;在java中则对应于boolean类型。
C99中提供了一个头文件 <stdbool.h> 定义了bool代表_Bool,true代表1,false代表0。只要导入 stdbool.h ,就能非常方便的操作布尔类型了。
(2)c语言的布尔值扩展阅读:
BOOL和bool区别:
1、类型不同
bool为布尔型用作逻辑判断
BOOL在<windef.h>typedef int BOOL;
在<wtypes.h>typedef long BOOL;
2、长度不同
bool只有一个字节
BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,0为false,非0为true。(例如-1和2都是true)。
如果数个bool对象列在一起,可能会各占一个Byte,这取决于编译器。
BOOL是微软定义的typedef int BOOL(在windef.h中),0为FALSE,1为TRUE。(-1和2既不是TRUE也不是FALSE)。
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
布尔型变量bool
布尔型变量的值只有 真 (true) 和假 (false)。
布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。
if (逻辑表达式)
{
如果是 true 执行这里;
}
else
{
如果是 false 执行这里;
};
三、关于bool的小例子
(1)
#include<iostream>
using namespace std;
int main()
{
bool b =2; //执行此行后,b=true(整型2转为bool型后结果为true)
if(b)
cout << "ok!" << endl;
b = b-1; //执行此行后,b=false(bool型数据true参与算术运算时会转为int值1,减1后结果为0,赋值给b时会转换为bool值false)
if(b)
cout << "error!" <<endl;
return 0;
}
运行结果:OK!
(2)
#include<iostream>
#include<windef.h>
using namespace std;
int main()
{
BOOL b =2; //执行此行后,b=2(BOOL为int此处不进行类型转换,b存放的就是2)。
if(b)
cout << "ok!" << endl;
b=b-1; //执行此行后,b=1(只是简单的进行算术运算,结果为1,回存)
if(b) // b非0,条件为真
cout << "error!" <<endl;
return 0;
}
运行结果:OK!
error!
可以在定义b时改成 bool b=0;看看运行结果。
参考资料来源:网络-BOOL
‘叁’ bool在c语言中是什么意思
bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。
bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,它具有YES值和NO值;在java中则对应于boolean类型。
bool型变量返回值:
当作为一个构造函数(带有运算符 new)调用时,Boolean() 将把它的参数转换成一个布尔值,并且返回一个包含该值的 Boolean 对象。
如果作为一个函数(不带有运算符 new)调用时,Boolean() 只将把它的参数转换成一个原始的布尔值,并且返回这个值。
‘肆’ C语言中布尔类型如何打印为true或者false
#include <stdio.h>
void main()
{
bool b = true;
printf("%d ",b);
bool c = false;
printf("%d ",c);
}
(4)c语言的布尔值扩展阅读:
布尔数组中存放的是布尔值(元素),布尔值只有true 和false两种结果,其中,常量false可以理解为和int常量0等价,常量true可以理解为int常量1等价,在计算机中,实际上非0的int值都认为是true。
正因为布尔数组的这种特性,使得其在有些程序中进行使用可以起到优化的作用,甚至是事半功倍的效果。比如在搜索中就经常用到,可以用布尔数组区分那些经过处理的和没有经过处理的数据,避免了一些不必要的重复。
‘伍’ c语言中bool值怎么定义
C语言中没有布尔型这一数据类型,所以用整型代替,非0表示真,0表示假,但可以使用宏来定义TRUE和FALSE,这样更直观。
‘陆’ 谁知道什么是C语言中的布尔量
在C语言中是没有bool这个类型的,而BOOL这个类型也是微软自己定义的。
在C语言中是用整型来定义布尔值的,0表示false,非0表示true.
‘柒’ C语言有布尔值吗
标准c是没有的
C++是有的,因为大多数编译环境为了c和c++的兼容使用,允许在c里面使用c++的语法
纯C 是不行的(在QT 纯C 项目测试过要出错的)
‘捌’ 在C语言中,可以将布尔值扩充为8位二进制字符串吗
布尔值扩充成为8为的二进制字符串,实际上是低位数的数值变成高位数的数值,相当于给数值升维,这肯定是可以做到的。只有高位数的数值压缩成低位数的数值时,才会因为位数不足产生无法表示原有数值大小的情况。
没有符号的8为二进制可以比布尔值表示更多更大的数值,最大可以达到255,即一个没有符号属性的8位二进制数值,可以表示十进制里从0-255范围内的数值。其实8为二进制我们可以理解成一个有序排列的8位布尔值,在这个8位二进制数中,每一位的布尔值位置固定,而且按照先后有序等排列起来,这时候,这个8位二进制数值也就形成了。我们把8为二进制数值拆开来看,其实也是8个布尔值组成的变量,但由于8个布尔值的位置固定了,有了固定的先后顺序,也就不在是简单的布尔量,而是一个8位的数值或者字符串。
‘玖’ C++语言中bool是什么意思
bool就是布尔的意思,布尔值的返回值只有真(true)和假(false),多用于判断。
在C语言中,关系运算和逻辑运算的结果有两种,真和假:0表示假,非0表示真。例如:
#include <stdio.h>
intmain(){
inta,b,flag;
scanf("%d %d", &a, &b);
flag = a > b; //flag保存关系运算结果
printf("flag=%d\n",flag);
return0;
}
(9)c语言的布尔值扩展阅读
运行结果:
1020↙
flag=0
C语言并没有彻底从语法上支持“真”和“假”,只是用0和非0来代表。这点在C++中得到了改善,C++新增了bool类型(布尔类型),它一般占用1个字节长度。bool类型只有两个取值,true和false:true表示“真”,false表示“假”。
‘拾’ C语言里有没有布尔型这个数据类型
有啊,我学的就是C语言,有时还经常见到呢, 布尔型数据的值只有两个:false和true,前者序号为0,后者序号为1。布尔类型数据最少,但用途广泛,主要用于程序设计中的流程控制和逻辑判断。 布尔型数据可作如下运算操作: not(逻辑非),and(逻辑与),or(逻辑与)。