bool头文件(msp430单片机C编程中用到bool 请问加的是哪个头文件呢)

本文目录
msp430单片机C编程中用到bool 请问加的是哪个头文件呢
呵呵,不用加什么特殊的头文件,很多有经验的C开发人员都有其他语言的开发习惯,自己定义一个bool类型就可以了,如下
typedef int bool;
#define false 0
#define true 1
这样你就可以定义bool变量了,如
bool b = false;
要学会使用宏
bool值的0表示什么,1表示什么呢
bool的值的0表示true,1表示false。
布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。
bool可用于定义函数类型为布尔型,函数里可以有 return TRUE; return FALSE 之类的语句。
布尔型运算结果常用于条件语句:if (逻辑表达式){如果是 true 执行这里;}else{如果是 false 执行这里;};
扩展资料
bool变量的使用(赋值,头文件)
1、赋值
bool leap;
leap=true; leap=false;
其中true和false分别代表0和1,非零的赋值自动为1。用逻辑变量使程序便于理解,提高可读性,减小出错机会。
2、头文件:
#include《stdio.h》
#include《stdbool.h》
部分编译系统如Visual C++ 6.0未完全适合,需将程序后缀命为.cpp(c++程序),头文件两行改为#include《iostream》
if(leap==1) if(leap==ture) if(leap) 三种表述方式的效果都是一样的。
C语言 stdbool.h啥用
这是一个头文件,头文件里面定义了许多的函数,使用的一般方法是if
define这样的语法定义的。这是为了方便移植而设计的,比如,常用的scanf,printf这类函数位于头文件stdio.h这个文件里面。而这里,由于需要用到bool(布尔型),所以引用了头文件stdbool.h。因为,bool这个关键字在stdbool.h中定义了得,如果不引用,那么bool就会被编译器视为非法字符,就会出错。
变量bool不是类型名
是的。。
1. bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。
2. bool类似于float,double等,只不过float定义浮点型,double定义双精度浮点型。 在objective-c中提供了相似的类型BOOL,它具有YES值和NO值;在java中则对应于boolean类型。
bool型是C语言中C99标准新增的特性,在头文件中定义.
其逻辑值为true与false,相当于值1与0.
C语言布尔头文件使用方法
1、ANSI C99标准规定C语言中有布尔类型(_Bool)。为了方便,使用布尔类型可以加入头文件stdbool.h,该文件定义了bool=_Bool,true=1,false=0。使用布尔类型必须保证所使用的编译器支持C99标准。
2、C语言的逻辑判断只是判断0或非0,只要能保存整型数据的变量类型都可以作为布尔型使用。 用特殊色彩标记关键字的功能是器的功能而非编译器的功能,因为C++有bool类型,因此bool会被器标亮,但是C语言编译器是不会认识这个关键字的。
C语言中bool可以自定义,例如:
#define bool int
#define false 0
#define true 1
bool三个状态
C++中布尔类型关键字名称是bool,只存在两个状态:true 和 false;
C(当然是指最近的C99标准)中布尔类型关键字名称是_Bool, 按理只应该存在两个状态: 1 和 0;
同时在stdbool.h中存在几个宏,内容如下:
#define bool _Bool
#define true 1
#define false 0
VC++6.0是一个C/C++编译器,因此它包含C++的bool,但因为VC++6.0不支持C99标准,因此不含C的_Bool,VC++6.0独有的布尔类型是BOOL,它不是关键字,定义于windef.h中
typedef int BOOL;
在MFC的头文件afx.h中定义
#define FALSE 0
#define TRUE 1
布尔类型按理只应该存在两个状态:真(1) 和 假(0)。
布尔型转化为整型(布尔型当然也属于整形)时,真为1,假为0;
整型转化为布尔型时,非0(未必只有1)即真(1),0即假(0)。
因为_Bool和bool是C++的内建类型,因此非0转化为布尔型时,非0都变为1(真),除非你使用变态的
bool b;
scanf( "%d", &b ) 或 *(int*)&b = 2; 等手段。
但要注意的是VC中特有的BOOL只是一个int,它不可能将非0的值都转化为1,比如
BOOL b = 3;
此时 b 是 真 状态,但它不等于TRUE。
bool(包括_Bool)类型的比较:
1. 布尔类型本身就是比较结果的类型,因此无须再次将布尔变量和真假状态进行比较。
if( b == true ) 和 if( b == false ) 是多余的,应当直接写成
if( b ) 和 if( !b )
2. 两个布尔变量的比较,写法如下:
if( a == b ) 和 if( a != b )
BOOL类型的比较:
1. 布尔类型本身就是比较结果的类型,因此无须再次将布尔变量和真假状态进行比较。
if( b == TRUE ) 和 if( b == FALSE ) 是多余的,其实也是错误的。
正确的比较方法是:
if( b ) 和 if( !b )
2. 如果一定要将布尔变量和真假进行比较,应该使用如下语句:
if( b != FALSE ) 和 if( b == FALSE ),道理上面说过了,BOOL为’真’状态时未必就等于TRUE。
3. 两个布尔变量的比较
错误的做法:
if( a == b ) 和 if( a != b )
正确的做法:
if( ( a && b ) || ( !a && !b ) ) 和 if( ( a && !b ) || ( !a && b ) )
能不用BOOL就别用BOOL
1. 如上所述,它有很多隐患
2. BOOL是VC特有的,不属于C/C++内容。
-------------- 2007-05-10 补充 --------------
C++规定对一个bool左值做++运算,其值为true。
也就是说即使你通过强制的手段在一个bool变量中放入了-1,执行++后,值也为1,而不是0

更多文章:
androidapp源码免费下载(如何实现APK的反编译得到APK的源码)
2026年9月22日 18:00
service pack 3(操作系统版本升级(SP) Service Pack 3当中的“Service Pack 3”是什么意思)
2026年9月22日 10:20
html代码怎么写大佬教程(html网页的题来个大佬,写代码,题目在图上)
2026年9月22日 10:10
结构体内又一个struct(c++ 在结构体中再嵌入一个结构体如何调用)
2026年9月22日 09:40
cocos creator中文(cocoscreator和cocoscreator3d的区别)
2026年9月22日 02:30





