c語言的布爾值
『壹』 bool在c語言中是什麼意思
在C語言中,沒有bool這種類型,但是在C++中,把bool當做一種基本的數據類型。
在C語言中,當我們要表示真或假的時候,都是定義一個非bool類型來使用的。
在C++中,加入了布爾bool這種基礎的類型,用true和false來表示真或者假,也可以用非0值來表示真,用0來表示假。在C++中,雖然布爾類型只表示true和false,看起來好像可以用一個位來存儲布爾類型的變數,但其實,布爾類型在C++中是佔用一個位元組的。
bool型變數返回值:
當作為一個構造函數(帶有運算符 new)調用時,Boolean() 將把它的參數轉換成一個布爾值,並且返回一個包含該值的 Boolean 對象。
如果作為一個函數(不帶有運算符 new)調用時,Boolean() 只將把它的參數轉換成一個原始的布爾值,並且返回這個值。
『貳』 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 ,就能非常方便的操作布爾類型了。
(2)c語言的布爾值擴展閱讀:
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
『叄』 bool在c語言中是什麼意思
bool表示布爾型變數,也就是邏輯型變數的定義符,以英國數學家、布爾代數的奠基人喬治·布爾(George Boole)命名。
bool類似於float,double等,只不過float定義浮點型,double定義雙精度浮點型。 在objective-c中提供了相似的類型BOOL,它具有YES值和NO值;在java中則對應於boolean類型。
bool型變數返回值:
當作為一個構造函數(帶有運算符 new)調用時,Boolean() 將把它的參數轉換成一個布爾值,並且返回一個包含該值的 Boolean 對象。
如果作為一個函數(不帶有運算符 new)調用時,Boolean() 只將把它的參數轉換成一個原始的布爾值,並且返回這個值。
『肆』 C語言中布爾類型如何列印為true或者false
#include <stdio.h>
void main()
{
bool b = true;
printf("%d ",b);
bool c = false;
printf("%d ",c);
}
(4)c語言的布爾值擴展閱讀:
布爾數組中存放的是布爾值(元素),布爾值只有true 和false兩種結果,其中,常量false可以理解為和int常量0等價,常量true可以理解為int常量1等價,在計算機中,實際上非0的int值都認為是true。
正因為布爾數組的這種特性,使得其在有些程序中進行使用可以起到優化的作用,甚至是事半功倍的效果。比如在搜索中就經常用到,可以用布爾數組區分那些經過處理的和沒有經過處理的數據,避免了一些不必要的重復。
『伍』 c語言中bool值怎麼定義
C語言中沒有布爾型這一數據類型,所以用整型代替,非0表示真,0表示假,但可以使用宏來定義TRUE和FALSE,這樣更直觀。
『陸』 誰知道什麼是C語言中的布爾量
在C語言中是沒有bool這個類型的,而BOOL這個類型也是微軟自己定義的。
在C語言中是用整型來定義布爾值的,0表示false,非0表示true.
『柒』 C語言有布爾值嗎
標准c是沒有的
C++是有的,因為大多數編譯環境為了c和c++的兼容使用,允許在c裡面使用c++的語法
純C 是不行的(在QT 純C 項目測試過要出錯的)
『捌』 在C語言中,可以將布爾值擴充為8位二進制字元串嗎
布爾值擴充成為8為的二進制字元串,實際上是低位數的數值變成高位數的數值,相當於給數值升維,這肯定是可以做到的。只有高位數的數值壓縮成低位數的數值時,才會因為位數不足產生無法表示原有數值大小的情況。
沒有符號的8為二進制可以比布爾值表示更多更大的數值,最大可以達到255,即一個沒有符號屬性的8位二進制數值,可以表示十進制里從0-255范圍內的數值。其實8為二進制我們可以理解成一個有序排列的8位布爾值,在這個8位二進制數中,每一位的布爾值位置固定,而且按照先後有序等排列起來,這時候,這個8位二進制數值也就形成了。我們把8為二進制數值拆開來看,其實也是8個布爾值組成的變數,但由於8個布爾值的位置固定了,有了固定的先後順序,也就不在是簡單的布爾量,而是一個8位的數值或者字元串。
『玖』 C++語言中bool是什麼意思
bool就是布爾的意思,布爾值的返回值只有真(true)和假(false),多用於判斷。
在C語言中,關系運算和邏輯運算的結果有兩種,真和假:0表示假,非0表示真。例如:
#include <stdio.h>
intmain(){
inta,b,flag;
scanf("%d %d", &a, &b);
flag = a > b; //flag保存關系運算結果
printf("flag=%d\n",flag);
return0;
}
(9)c語言的布爾值擴展閱讀
運行結果:
1020↙
flag=0
C語言並沒有徹底從語法上支持「真」和「假」,只是用0和非0來代表。這點在C++中得到了改善,C++新增了bool類型(布爾類型),它一般佔用1個位元組長度。bool類型只有兩個取值,true和false:true表示「真」,false表示「假」。
『拾』 C語言里有沒有布爾型這個數據類型
有啊,我學的就是C語言,有時還經常見到呢, 布爾型數據的值只有兩個:false和true,前者序號為0,後者序號為1。布爾類型數據最少,但用途廣泛,主要用於程序設計中的流程式控制制和邏輯判斷。 布爾型數據可作如下運算操作: not(邏輯非),and(邏輯與),or(邏輯與)。