㈠ 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 ,就能非常方便的操作布尔类型了。
(1)程序员布尔扩展阅读:
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
㈡ 程序员升职记里面的布尔运算是什么
就是与或非这些运算。
简单的说就是两个条件怎么去判断是否成立。
与就是两个条件同时满足
或就是两个条件满足1个就好
非就是不满足
㈢ bool和BOOL有什么区别
1、类型不同 : BOOL为int型 , bool为布尔型
2、长度不同 : bool只有一个字节 , BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同 :bool取值false和true,是0和1的区别; false可以代表0,但true有很多种,并非只有1。
4、bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。
C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。0表示false,非0表示true。
可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。
很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。C99把C语言原生的布尔类型带来了。C99中同时增添的关键字还有_Complex,_Imaginary等。
㈣ 求有经验的c语言程序员回答 是用 _Bool好还是bool好
支持c99的编译器里面有_Bool类型。如果你用的C语言,并且编译器支持C99标准,那么布尔型你可以用_Bool。bool是C++的基本数据类型,你用C++的话,布尔型直接用bool就行了。没什么可纠结的
㈤ C语言里有没有布尔型这个数据类型
有啊,我学的就是C语言,有时还经常见到呢,
布尔型数据的值只有两个:false和true,前者序号为0,后者序号为1。布尔类型数据最少,但用途广泛,主要用于程序设计中的流程控制和逻辑判断。
布尔型数据可作如下运算操作:
not(逻辑非),and(逻辑与),or(逻辑与)。
㈥ 布尔逻辑检索的运算符号包括什么
如下:
1、“AND”与“ *”:用于表示其所连接的两个检索项的交叉部分,也即交集部分。如果用AND连接检索词A和检索词B,则检索式为:AANDB(或A*B)。
2、“OR”与“+”:用于表示连接并列关系的检索词。用OR连接检索词A和检索词B,则检索式为:AORB(或A+B)。
3、“NOT”与“—”:用于表示连接排除关系的检索词,即排除不需要的和影响检索结果的概念。用NOT连接检索词A和检索词B,检索式为:ANOTB(或A—B)。
其他记号
可以使用各种样式的基本算符来表达布尔逻辑。AND(与)、OR(或)、NOT(非)是最直觉的。数学家、工程师和程序员经常使用 + 表示或,<math>cdot</math> 表示与(因为在某些方面这些运算类似于在其他代数结构中的加法和乘法,并且这种记号使熟悉普通代数的人易于得到积之和范式)。非也表示为在要否定的表达式顶上的一个横线。
另一种记号使用"交"表示与使用"并"表示或。但是这会导致混淆,因为术语"并"也经常用于合并集合的另一个布尔运算,它包括了与和或二者。
㈦ bool类型是什么
bool是布尔类型用作逻辑判断。
bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔命名。bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,它具有YES值和NO值;在java中则对应于boolean类型。
名词解释:
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
㈧ bool类型怎么定义和使用
bool类型和float、double型类似,定义方法依然是变量名前定义变量类型,函数名前定义函数类型。比如bool a=0; bool 函数名()。
bool只有一个字节,两个取值false和true,0为false,非0为true。
下面是bool的例子:
#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;
}
运行结果:
(8)程序员布尔扩展阅读:
C99新增类型 _Bool:
C99标准定义了一个新的关键字_Bool,提供了布尔类型。以前,C程序员总是使用自己的方法定义布尔类型。0表示false,非0表示true。可能使用char类型表示一个布尔类型,也可能使用int类型表示一个布尔类型。
很多函数库都定义了自己的布尔类型和相应的宏,枚举,typedef。C99把C语言原生的布尔类型带来了。C99中同时增添的关键字还有_Complex,_Imaginary等。
㈨ 布尔表达式是什么
布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。最简单的布尔表达式是等式(equality),这种布尔表达式用来测试一个值是否与另一个值相同。
这个等式的值是不确定的,可能取真值也可能取假值,只有在程序运行时才能确定。如果你对C、C++甚至C#比较熟悉的话,就会知道上式中的= = (双等号) 是一个逻辑布尔操作符,而= (单等号)是用来对变量赋值的赋值操作符。程序员有时会将这两个操作符放错位置,这是一个导致程序在编译时或运行时出错的常见原因。
㈩ 在C语言中,可以将布尔值扩充为8位二进制字符串吗
布尔值扩充成为8为的二进制字符串,实际上是低位数的数值变成高位数的数值,相当于给数值升维,这肯定是可以做到的。只有高位数的数值压缩成低位数的数值时,才会因为位数不足产生无法表示原有数值大小的情况。
没有符号的8为二进制可以比布尔值表示更多更大的数值,最大可以达到255,即一个没有符号属性的8位二进制数值,可以表示十进制里从0-255范围内的数值。其实8为二进制我们可以理解成一个有序排列的8位布尔值,在这个8位二进制数中,每一位的布尔值位置固定,而且按照先后有序等排列起来,这时候,这个8位二进制数值也就形成了。我们把8为二进制数值拆开来看,其实也是8个布尔值组成的变量,但由于8个布尔值的位置固定了,有了固定的先后顺序,也就不在是简单的布尔量,而是一个8位的数值或者字符串。