關於C語言中的Bool型別變數的一點看法

2021-09-12 17:42:48 字數 1565 閱讀 5213

c語言中並沒有bool型別變數。這是c++中新增的系統型別。

要在c語言中使用bool型別,可以使用自定義的方式。

使用整型做bool型別。

typedef int bool;

或typedef unsigned char bool;

只要是整型,都可以當做bool使用。

使用列舉型別做bool型別。

typedef enum

bool;

實際應用中,列舉型別較為普遍。

c語音優缺點:

優點1、簡潔緊湊、靈活方便

c語言一共只有32個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語言的基本結構和語句與低階語言的實用性結合起來。c 語言可以像組合語言一樣對位、位元組和位址進行操作,而這三者是計算機最基本的工作單元。

2、運算子豐富

c語言的運算子包含的範圍很廣泛,共有34種運算子。c語言把括號、賦值、強制型別轉換等都作為運算子處理。從而使c語言的運算型別極其豐富,表示式型別多樣化。靈活使用各種運算子可以實現在其它高階語言中難以實現的運算。

3、資料型別豐富

c語言的資料型別有:整型、實型、字元型、陣列型別、指標型別、結構體型別、共用體型別等。能用來實現各種複雜的資料結構的運算。並引入了指標概念,使程式效率更高。[13]

4、表達方式靈活實用

c語言提供多種運算子和表示式值的方法,對問題的表達可通過多種途徑獲得,其程式設計更主動、靈活。它語法限制不太嚴格,程式設計自由度大,如對整型量與字元型資料及邏輯型資料可以通用等。

5、允許直接訪問實體地址,對硬體進行操作

由於c語言允許直接訪問實體地址,可以直接對硬體進行操作,因此它既具有高階語言的功能,又具有低階語言的許多功能,能夠像組合語言一樣對位(bit)、位元組和位址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟體。

6、生成目標**質量高,程式執行效率高

c語言描述問題比組合語言迅速,工作量小、可讀性好,易於除錯、修改和移植,而**質量與組合語言相當。c語言一般只比匯程式設計序生成的目標**效率低10%~20%。

7、可移植性好

c語言在不同機器上的c編譯程式,86%的**是公共的,所以c語言的編譯程式便於移植。在乙個環境上用c語言編寫的程式,不改動或稍加改動,就可移植到另乙個完全不同的環境中執行。[14]

8、表達力強

c語言有豐富的資料結構和運算子。包含了各種資料結構,如整型、陣列型別、指標型別和聯合型別等,用來實現各種資料結構的運算。c語言的運算子有34種,範圍很寬,靈活使用各種運算子可以實現難度極大的運算。

c語言能直接訪問硬體的實體地址,能進行位(bit)操作。兼有高階語言和低階語言的許多優點。

它既可用來編寫系統軟體,又可用來開發應用軟體,已成為一種通用程式語言。

另外c語言具有強大的圖形功能,支援多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。

缺點1、 c語言的缺點主要表現在資料的封裝性上,這一點使得c在資料的安全性上有很大缺陷,這也是c和c++的一大區別。

2、 c語言的語法限制不太嚴格,對變數的型別約束不嚴格,影響程式的安全性,對陣列下標越界不作檢查等。從應用的角度,c語言比其他高階語言較難掌握。也就是說,對用c語言的人,要求對程式設計更熟練一些。

C語言中的Bool型別

在c99之前,c語言中沒有定義bool型別,但是在c99標準中將該型別新增了進來。首先來看看,c99中定義的bool型別如何使用。1.基於c99標準,如何定義乙個bool型別?有兩種方式 a.bool man 需要注意的是,雖然bool型別了,但是true和flase卻沒有定義,所以推薦用b方式 b...

C語言中的bool型別

之前一直都沒有注意到,最近在用c語言寫dsp演算法時,偶然間發現我函式中定義的bool型別的變數在vc6.0 我主要用它來檢查一下語法錯誤 中編譯居然報錯了,說是bool型別沒有定義。用了這麼久的c和c 了,一直覺得bool這種基本型別,應該是c語言內建的型別,怎麼會沒有定義呢?事實證明,我的想法完...

C語言中的布林(bool)型別

想必很多初學者都曾遇到過在c程式中編寫bool型別變數結果編譯報錯的情況吧?我們知道在c 裡有專門的bool型別,用來表示真或假。但是在c語言裡沒有這樣的型別 我一直這麼認為 表示式的值0為假,非0為真。所以條件判斷語句非常靈活,甚至乙個指標型別都可以是條件表示式。為了使程式更清晰,我們常常會給出如...