在C語言中,沒有bool這種類型,但是在C++中,把bool當(dāng)做一種基本的數(shù)據(jù)類型。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)沈丘免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
在C語言中,當(dāng)我們要表示真或假的時(shí)候,都是定義一個(gè)非bool類型來使用的。
在C++中,加入了布爾bool這種基礎(chǔ)的類型,用true和false來表示真或者假,也可以用非0值來表示真,用0來表示假。在C++中,雖然布爾類型只表示true和false,看起來好像可以用一個(gè)位來存儲(chǔ)布爾類型的變量,但其實(shí),布爾類型在C++中是占用一個(gè)字節(jié)的。
bool型變量返回值:
當(dāng)作為一個(gè)構(gòu)造函數(shù)(帶有運(yùn)算符 new)調(diào)用時(shí),Boolean() 將把它的參數(shù)轉(zhuǎn)換成一個(gè)布爾值,并且返回一個(gè)包含該值的 Boolean 對(duì)象。
如果作為一個(gè)函數(shù)(不帶有運(yùn)算符 new)調(diào)用時(shí),Boolean() 只將把它的參數(shù)轉(zhuǎn)換成一個(gè)原始的布爾值,并且返回這個(gè)值。
C語言里面是沒有bool(布爾)類型的,C++里面才有,C語言里面用數(shù)值0表示假,非0整數(shù)表示真。在C++里面可以使用bool類型。bool類型只有兩個(gè)值:true =1 、false=0。
bool可用于定義函數(shù)類型為布爾型,函數(shù)里可以有 return TRUE; return FALSE 之類的語句。
布爾型運(yùn)算結(jié)果常用于條件語句:if (邏輯表達(dá)式){如果是 true 執(zhí)行這里;}else{如果是 false 執(zhí)行這里;};
擴(kuò)展資料
Boolean(布爾)數(shù)據(jù)在C++中使用內(nèi)置類型bool表示。bool類型的變量只可能有兩個(gè)值true或false,在現(xiàn)實(shí)世界中它用于表示“是”或“否”、“高”或“低”等這種只有兩個(gè)狀態(tài)的事物。例如用于表示檢測(cè)某年是否潤年的函數(shù),其返回值類型顯示只有兩種情況“是”或“否”。
bool IsLeapYear( const unsigned int year)
{? ?return (year % 4==0 year % 100 !=0) || (year %400 ==0);? }
沒有統(tǒng)一的布爾類型在大型的工程項(xiàng)中特別是用到第三方程序庫時(shí),可能使用不同的手段模擬布爾類型以提交代碼的可讀性,這樣會(huì)使得代碼有些混亂。C++引入了bool內(nèi)置類型,解決了代碼的一致性問題。
參考資料來源:百度百科——bool
布爾型(bool)變量的值只有 真 (true) 和假 (false)。
布爾型變量可用于邏輯表達(dá)式,也就是“或”“與”“非”之類的邏輯運(yùn)算和大于小于之類的關(guān)系運(yùn)算,邏輯表達(dá)式運(yùn)算結(jié)果為真或?yàn)榧佟?/p>
bool可用于定義函數(shù)類型為布爾型,函數(shù)里可以有 return TRUE; return FALSE 之類的語句。
布爾型運(yùn)算結(jié)果常用于條件語句:if (邏輯表達(dá)式){如果是 true 執(zhí)行這里;}else{如果是 false 執(zhí)行這里;};
擴(kuò)展資料
使用bool邏輯型變量的優(yōu)點(diǎn):
1、?提高程序的可讀性
bool類型的變量只可能有兩個(gè)值true或false,在沒有統(tǒng)一的布爾類型在大型的工程項(xiàng)中特別是用到第三方程序庫時(shí),可能使用不同的手段模擬布爾類型以提交代碼的可讀性,這樣會(huì)使得代碼有些混亂,C語言中引入了bool內(nèi)置類型,解決了代碼的一致性問題。
2、提高程序的性能
bool在絕大多數(shù)編譯器編譯時(shí)都將其實(shí)現(xiàn)為1字節(jié),即sizeof(bool)的值為1,加上其只有兩個(gè)值的值域{true, false},是C語言中最小的數(shù)據(jù)類型了。
雖然char、unsigned char和signed char類型在C語言中沒有特定的實(shí)現(xiàn)要求,但一般也實(shí)現(xiàn)為一個(gè)字節(jié),這樣看來與bool類型從內(nèi)存空間的占用上并沒有性能上的差異。
參考資料來源:百度百科——BOOL
bool表示布爾型變量,也就是邏輯型變量的定義符,以英國數(shù)學(xué)家、布爾代數(shù)的奠基人喬治·布爾(George Boole)命名。
bool類似于float,double等,只不過float定義浮點(diǎn)型,double定義雙精度浮點(diǎn)型。 在objective-c中提供了相似的類型BOOL,它具有YES值和NO值;在java中則對(duì)應(yīng)于boolean類型。
C99中提供了一個(gè)頭文件 stdbool.h 定義了bool代表_Bool,true代表1,false代表0。只要導(dǎo)入 stdbool.h ,就能非常方便的操作布爾類型了。
擴(kuò)展資料:
BOOL和bool區(qū)別:
1、類型不同
bool為布爾型用作邏輯判斷
BOOL在windef.htypedef int BOOL;
在wtypes.htypedef long BOOL;
2、長度不同
bool只有一個(gè)字節(jié)
BOOL長度視實(shí)際環(huán)境來定,一般可認(rèn)為是4個(gè)字節(jié)
3、取值不同
bool取值false和true,0為false,非0為true。(例如-1和2都是true)。
如果數(shù)個(gè)bool對(duì)象列在一起,可能會(huì)各占一個(gè)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)。
布爾型變量可用于邏輯表達(dá)式,也就是“或”“與”“非”之類的邏輯運(yùn)算和大于小于之類的關(guān)系運(yùn)算,邏輯表達(dá)式運(yùn)算結(jié)果為真或?yàn)榧佟?/p>
bool可用于定義函數(shù)類型為布爾型,函數(shù)里可以有 return TRUE; return FALSE 之類的語句。
if (邏輯表達(dá)式)
{
如果是 true 執(zhí)行這里;
}
else
{
如果是 false 執(zhí)行這里;
};
三、關(guān)于bool的小例子
(1)
#includeiostream
using namespace std;
int main()
{
bool b =2; //執(zhí)行此行后,b=true(整型2轉(zhuǎn)為bool型后結(jié)果為true)
if(b)
cout "ok!" endl;
b = b-1; //執(zhí)行此行后,b=false(bool型數(shù)據(jù)true參與算術(shù)運(yùn)算時(shí)會(huì)轉(zhuǎn)為int值1,減1后結(jié)果為0,賦值給b時(shí)會(huì)轉(zhuǎn)換為bool值false)
if(b)
cout "error!" endl;
return 0;
}
運(yùn)行結(jié)果:OK!
(2)
#includeiostream
#includewindef.h
using namespace std;
int main()
{
BOOL b =2; //執(zhí)行此行后,b=2(BOOL為int此處不進(jìn)行類型轉(zhuǎn)換,b存放的就是2)。
if(b)
cout "ok!" endl;
b=b-1; //執(zhí)行此行后,b=1(只是簡單的進(jìn)行算術(shù)運(yùn)算,結(jié)果為1,回存)
if(b) // b非0,條件為真
cout "error!" endl;
return 0;
}
運(yùn)行結(jié)果:OK!
error!
可以在定義b時(shí)改成 bool b=0;看看運(yùn)行結(jié)果。
參考資料來源:百度百科-BOOL
網(wǎng)頁名稱:c語言定義bool函數(shù),c++bool函數(shù)的用法
網(wǎng)址分享:http://chinadenli.net/article0/hdoeio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)、手機(jī)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)