㈠ 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位的數值或者字元串。