c語言布爾型
① 在c語言中可以使用bool類型嗎
C語言裡面是沒有bool(布爾)類型的,C++裡面才有,C語言裡面用數值0表示假,非0整數表示真。在C++裡面可以使用bool類型。bool類型只有兩個值:true =1 、false=0。
bool可用於定義函數類型為布爾型,函數里可以有 return TRUE; return FALSE 之類的語句。
布爾型運算結果常用於條件語句:if (邏輯表達式){如果是 true 執行這里;}else{如果是 false 執行這里;};
(1)c語言布爾型擴展閱讀
Boolean(布爾)數據在C++中使用內置類型bool表示。bool類型的變數只可能有兩個值true或false,在現實世界中它用於表示「是」或「否」、「高」或「低」等這種只有兩個狀態的事物。例如用於表示檢測某年是否潤年的函數,其返回值類型顯示只有兩種情況「是」或「否」。
bool IsLeapYear( const unsigned int year)
{ return (year % 4==0 && year % 100 !=0) || (year %400 ==0); }
沒有統一的布爾類型在大型的工程項中特別是用到第三方程序庫時,可能使用不同的手段模擬布爾類型以提交代碼的可讀性,這樣會使得代碼有些混亂。C++引入了bool內置類型,解決了代碼的一致性問題。
② 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
③ C語言里有沒有布爾型這個數據類型
有啊,我學的就是C語言,有時還經常見到呢,
布爾型數據的值只有兩個:false和true,前者序號為0,後者序號為1。布爾類型數據最少,但用途廣泛,主要用於程序設計中的流程式控制制和邏輯判斷。
布爾型數據可作如下運算操作:
not(邏輯非),and(邏輯與),or(邏輯與)。
④ 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語言中有無布爾類型
在C語言標准(C89)沒有定義布爾類型,所以C語言判斷真假時以0為假,非0為真。
在C99標准中對此有所改進。C99提供了_Bool 型,所以布爾類型可以聲明為 _Bool flag.
_Bool依然仍是整數類型,但與一般整型不同的是,_Bool變數只能賦值為0或1,非0的值都會被存儲為1.
另外,C99還提供了一個頭文件 定義了bool代表_Bool,true代表1,false代表0.只要導入 stdbool.h ,就能非常方便的操作布爾類型了。
⑥ bool在c語言中是什麼意思
bool表示布爾型變數,也就是邏輯型變數的定義符,以英國數學家、布爾代數的奠基人喬治·布爾(George Boole)命名。
bool類似於float,double等,只不過float定義浮點型,double定義雙精度浮點型。 在objective-c中提供了相似的類型BOOL,它具有YES值和NO值;在java中則對應於boolean類型。
bool型變數返回值:
當作為一個構造函數(帶有運算符 new)調用時,Boolean() 將把它的參數轉換成一個布爾值,並且返回一個包含該值的 Boolean 對象。
如果作為一個函數(不帶有運算符 new)調用時,Boolean() 只將把它的參數轉換成一個原始的布爾值,並且返回這個值。
⑦ c語言中的布爾類型、枚舉類型是個什麼概念
布爾型(Boolean)是一種數據的類型,這種類型只有兩種值,即"真"與"假"。 布爾常量 在Pascal語言中"真"用ture表示,"假"用False表示。所以布爾類型只有TRUE與FALSE兩個常量。C語言或C++的一種構造類型,它用於聲明一組命名的常數。 (1)枚舉的聲明:枚舉聲明用於聲明新的枚舉類型。 訪問修辭符 enum 枚舉名:基礎類型 { 枚舉成員 } ; 基礎類型必須能夠表示該枚舉中定義的所有枚舉數值。枚舉聲明可以顯式地聲明 byte、sbyte、short、ushort、int、uint、long 或 ulong 類型作為對應的基礎類型。沒有顯式地聲明基礎類型的枚舉聲明意味著所對應的基礎類型是 int。 (2)枚舉成員 枚舉成員是該枚舉類型的命名常數。任意兩個枚舉成員不能具有相同的名稱。每個枚舉成員均具有相關聯的常數值。此值的類型就是枚舉的基礎類型。每個枚舉成員的常數值必須在該枚舉的基礎類型的范圍之內。 示例: public enum TimeofDay:uint { Morning=-3, Afternoon=-2, Evening=-1 } ; 產生編譯時錯誤,原因是常數值 -1、-2 和 –3 不在基礎整型 uint 的范圍內。