bool表示布爾型變量,也就是邏輯型變量的定義符,以英國數學家、布爾代數的奠基人喬治·布爾(GeorgeBoole)命名。
bool類似於float,double等,只不過float定義浮點型,double定義雙精度浮點型。在objective-c中提供了相似的類型BOOL,它具有YES值和NO值;在java中則對應於boolean類型。
C99中提供了壹個頭文件<stdbool.h>定義了bool代表_Bool,true代表1,false代表0。只要導入stdbool.h,就能非常方便的操作布爾類型了。
擴展資料:
BOOL和bool區別:
1、類型不同
bool為布爾型用作邏輯判斷
BOOL在<windef.h>typedefintBOOL;
在<wtypes.h>typedeflongBOOL;
2、長度不同
bool只有壹個字節
BOOL長度視實際環境來定,壹般可認為是4個字節
3、取值不同
bool取值false和true,0為false,非0為true。(例如-1和2都是true)。
如果數個bool對象列在壹起,可能會各占壹個Byte,這取決於編譯器。
BOOL是微軟定義的typedefintBOOL(在windef.h中),0為FALSE,1為TRUE。(-1和2既不是TRUE也不是FALSE)。
#ifndefFALSE
#defineFALSE0
#endif
#ifndefTRUE
#defineTRUE1
#endif
布爾型變量bool
布爾型變量的值只有真(true)和假(false)。
布爾型變量可用於邏輯表達式,也就是“或”“與”“非”之類的邏輯運算和大於小於之類的關系運算,邏輯表達式運算結果為真或為假。
bool可用於定義函數類型為布爾型,函數裏可以有returnTRUE;returnFALSE之類的語句。
if(邏輯表達式)
{
如果是true執行這裏;
}
else
{
如果是false執行這裏;
};
三、關於bool的小例子
(1)
#include<iostream>
usingnamespacestd;
intmain()
{
boolb=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;
return0;
}
運行結果:OK!
(2)
#include<iostream>
#include<windef.h>
usingnamespacestd;
intmain()
{
BOOLb=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;
return0;
}
運行結果:OK!
error!
可以在定義b時改成boolb=0;看看運行結果。
百度百科-BOOL