C++中False与True 如何定义

供稿:hz-xin.com     日期:2025-01-13
C++中的结果为真 为假 就是 true和false能怎么理解

为真为假主要是为判断语句准备的比如if,还有循环中的判断。
真假决定着判断是否成立,if成立与否决定着某些代码是否执行,循环成立与否决定着循环是否停止。

1.FALSE/TRUE与false/true的区别:
false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途
是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
也就是说FALSE/TRUE是int类型,而false/true是bool类型;所以两者不一样的,只不过
我们在使用中没有这种感觉,因为C++会帮你做隐式转换。
2.bool的大小与BOOL的区别:
bool在C++里是占用1字节,而BOOL是int类型,int类型的大小是视具体环境而定的;所以
来说:false/true只占用1个字节,而TRUE/FALSE视具体环境而言,以下是BOOL在windef
.h中的定义:typedef int BOOL;
3.NULL与0的区别:
还是让我们看一下windef.h中NULL的定义:
#ifndef NULL
#ifdef __cplusplus//这个是指示是用C++来编译程序
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
所以说:它们没有区别,只不过在C里面会做一个强制类型转换。
BOOL和bool的区别
一、
1、类型不同
BOOL为int型
bool为布尔型
2、长度不同
bool只有一个字节
BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,是0和1的区别
BOOL取值FALSE和TRUE,是0和非0的区别
二:
bool是标准C++数据类型,可取值true和false。单独占一个字节,
如果数个bool对象列在一起,可能会各占一个bit,这取决于编译器。
BOOL是微软定义的typedef int BOOL。与bool不同,它是一个三值逻辑,
TRUE/FALSE/ERROR,返回值为>0的整数为TRUE,0为FALSE,-1为ERROR。
Win32 API中很多返回值为BOOL的函数都是三值逻辑。比如GetMessage().
三:
大BOOL和小bool之间的区别:
1、类型不同
BOOL为int型
bool为布尔型
2、长度不同
bool只有一个字节
BOOL长度视实际环境来定,一般可认为是4个字节
3、取值不同
bool取值false和true,是0和1的区别
BOOL取值FALSE和TRUE,是0和非0的区别
4、例子
bool x=3; //告警
bool x=1; //正确
BOOL x=3; //正确
BOOL x=3.3; //告警
注:windows为了兼容问题定义的基础变量。
typedef unsigned long DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BOOL near *PBOOL;
typedef BOOL far *LPBOOL;
typedef BYTE near *PBYTE;
typedef BYTE far *LPBYTE;
typedef int near *PINT;
typedef int far *LPINT;

对于C语言,并不存在系统自带的bool类型和False和Ture的定义,如果要使用则必须自定义类型。

有两种常见的方法。

1、使用宏定义。

通过define来进行定义False和True。可以采用如下方式:

(1) 直接定义数值

#define False 0

#define True 1

 (2) 通过逻辑判断定义

#define False (1!=1)

#define True (1==1)

2、使用枚举定义。

这种方法可以同时定义类型BOOL

typedef enum

{

    False,

    True

}BOOL;

扩展资料:

True在编程语言中代表逻辑值:真。与逻辑值False(假)意义相反。true在编程语句中代表1或大于1的数,反之false代表0或null。

true表示真,在计算机中存储为1;所以上面会输出“this is true”。

但是如果把里面的ture改为大于等于1的数字,仍然会输出“this is ture”。

false 常数. 一个表示与 true 相反的唯一布尔值。当自动数据类型指定将 false 转换为数字时,它变为0;将 false 转换为字符串时,它变为 "false" 。

参考资料来源:百度百科-false

参考资料来源:百度百科-True (编程语言/逻辑真)



对于C语言,并不存在系统自带的bool类型和False和Ture的定义,如果要使用则必须自定义类型。

有两种常见的方法。


1 使用宏定义。

通过define来进行定义False和True。

可以采用如下方式:

    (1) 直接定义数值

        #define False 0
        #define True 1

    (2) 通过逻辑判断定义

        #define False (1!=1)

       #define True (1==1)

2 使用枚举定义。

这种方法可以同时定义类型BOOL

typedef enum
{
    False,
    True
}BOOL;


true false是bool型变量的专有值,并不是变量,bool型变量的定义和int、double等是一样的,比如:
bool a=true;//或者写成bool a=*;这里*表示不为0的任意数
bool b=false;//或者写成bool b=0;
bool型变量常用于判断语句中,比如先定义了bool型的a,然后:
if(a){........};//则表示如果a的值为true,则自行{}里的内容,否则不执行

【VC++】Invalidate的参数True与False到底有什么区别
Invalidate 简单的认为可以使客户区域重新绘制,参数为false的时候,只重新绘制客户区域,比如一个控件什么的。如果参数为True,除了绘制客户区,还要重新绘制背景。

C语言中 false是不是关键字或函数?
C语言中 false不是关键字也不是函数,但是在c++中false 是关键字。在计算机语言中,false表示常数0. 一个表示与 true 相反的唯一布尔值。true表示"1",false表示"0".当自动数据类型指定将 false 转换为数字时,它变为0;将 false 转换为字符串时,它变为 "false" 。关键字(keyword)又称保留字,...

请问,小写的bool,true,false与vc++中大写的BOOL,TRUE,FALSE有什么区别...
小写的bool true是关键字 而所谓的宏定义 一般是大写的 大写的BOOL TRUE FALSE不定义的话没有特殊含义

请问,小写的bool,true,false与vc++中大写的BOOL,TRUE,FALSE有什么区别...
false和FALSE 是一样的

C++问题 !的用法
! true=false; ! false=true;2. ret一般是return的缩写,在函数中一般表示返回值。也有写作retval或rt的。在一些工程中,一些函数往往要取得函数中的一些量做返回值。3. 这里的 while中的"ret ="部分只是赋值作用,对整个while中的表达式的值没有影响。所以去掉后运行结果不变。4. 一般在软件设计...

vc++里的False和True是什么意思
False就是错啊。经常用于判断。true是正确。这个和二进制的1和0有点像

vc++中BOOL是什么用法
bool是布尔类型数据,只有两个值,true和false表示条件的真假。一般用于条件选择时,比如要编程实现售票系统,要对普通舱和VIP舱的价格进行区别,就可以用到,if(guest.rank==VIP)price=9999;else price=10000;

C语言中,如何表示“真”还是“假”?系统如何判断一个量的“真”和“假...
其实语句是否执行由用户的代码(即判断条件)决定的,而系统只用0和非0进行判断,当用户认为此句可执行,系统判断为“真”,反之亦然 。比如:while(ch!='#'){语句序列;} ch!='#'为判断条件 假如ch='A',这可执行大括号中语句序列(系统判断为“真”)当ch='#',不可执行大括号中的语句序列...

在VC++中UpdateData(TRUE)的作用是什么?
UpdateData(TRUE)中为TRUE时,更新控件值,为FALSE时,用控件值更新窗口显示;可以为对话框上的控件设置对应的变量,如文本框可以设置对应的CString变量,但是在程序中修改文本框的内容时,对应的CString变量不会随着改变,需要调用UpdateData(TRUE)来改变变量。类似的,程序中改变了CString变量,也需要调用...

c++中::和.使用有什么区别?
1、当运算符::两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。比如 12&&23的结果就是1,12::-1 的结果是1,123::0的结果就是0 2、我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。...