【零基礎】帶你學C帶你飛

雲端計算小百科發表於2018-02-09
基本特性
1、高階語言:它是把高階語言的基本結構和語句與低階語言的實用性結合起來的工作單元。
2、結構式語言:結構式語言的顯著特點是程式碼及資料的分隔化,即程式的各個部分除了必要的資訊交流外彼此獨立。這種結構化方式可使程式層次清晰,便於使用、維護以及除錯。C 語言是以函式形式提供給使用者的,這些函式可方便的呼叫,並具有多種迴圈、條件語句控制程式流向,從而使程式完全結構化。
4、程式碼級別的跨平臺:由於標準的存在,使得幾乎同樣的C程式碼可用於多種作業系統,如Windows、DOS、UNIX等等;也適用於多種機型。C語言對編寫需要進行硬體操作的場合,優於其它高階語言。
5、使用指標:可以直接進行靠近硬體的操作,但是C的指標操作不做保護,也給它帶來了很多不安全的因素。C++在這方面做了改進,在保留了指標操作的同時又增強了安全性,受到了一些使用者的支援,但是,由於這些改進增加語言的複雜度,也為另一部分所詬病。Java則吸取了C++的教訓,取消了指標操作,也取消了C++改進中一些備受爭議的地方,在安全性和適合性方面均取得良好的效果,但其本身解釋在虛擬機器中執行,執行效率低於C++/C。一般而言,C,C++,java被視為同一系的語言,它們長期佔據著程式使用榜的前三名。

特有特點
  • C語言是一個有結構化程式設計、具有變數作用域(variable scope)以及遞迴功能的過程式語言。
  • C語言傳遞引數均是以值傳遞(pass by value),另外也可以傳遞指標(a pointer passed by value)。
  • 不同的變數型別可以用結構體(struct)組合在一起。
  • 只有32個保留字(reserved keywords),使變數、函式命名有更多彈性。
  • 部份的變數型別可以轉換,例如整型和字元型變數。
  • 通過指標(pointer),C語言可以容易的對儲存器進行低階控制。
  • 預編譯處理(preprocessor)讓C語言的編譯更具有彈性。
優缺點
優點
1、簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程式書寫形式自由,區分大小寫。把高階語言的基本結構和語句與低階語言的實用性結合起來。C 語言可以像組合語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
2、運算子豐富
C語言的運算子包含的範圍很廣泛,共有34種運算子。C語言把括號、賦值、強制型別轉換等都作為運算子處理。從而使C語言的運算型別極其豐富,表示式型別多樣化。靈活使用各種運算子可以實現在其它高階語言中難以實現的運算。
3、資料型別豐富
C語言的資料型別有:整型、實型、字元型、陣列型別、指標型別、結構體型別、共用體型別等。能用來實現各種複雜的資料結構的運算。並引入了指標概念,使程式效率更高。
4、表達方式靈活實用
C語言提供多種運算子和表示式值的方法,對問題的表達可通過多種途徑獲得,其程式設計更主動、靈活。它語法限制不太嚴格,程式設計自由度大,如對整型量與字元型資料及邏輯型資料可以通用等。
5、允許直接訪問實體地址,對硬體進行操作
由於C語言允許直接訪問實體地址,可以直接對硬體進行操作,因此它既具有高階語言的功能,又具有低階語言的許多功能,能夠像組合語言一樣對位(bit)、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟體。
6、生成目的碼質量高,程式執行效率高
C語言描述問題比組合語言迅速,工作量小、可讀性好,易於除錯、修改和移植,而程式碼質量與組合語言相當。C語言一般只比彙編程式生成的目的碼效率低10%~20%。
7、可移植性好
C語言在不同機器上的C編譯程式,86%的程式碼是公共的,所以C語言的編譯程式便於移植。在一個環境上用C語言編寫的程式,不改動或稍加改動,就可移植到另一個完全不同的環境中執行。
8、表達力強
C語言有豐富的資料結構和運算子。包含了各種資料結構,如整型、陣列型別、指標型別和聯合型別等,用來實現各種資料結構的運算。C語言的運算子有34種,範圍很寬,靈活使用各種運算子可以實現難度極大的運算。
C語言能直接訪問硬體的實體地址,能進行位(bit)操作。兼有高階語言和低階語言的許多優點。
它既可用來編寫系統軟體,又可用來開發應用軟體,已成為一種通用程式設計語言。
另外C語言具有強大的圖形功能,支援多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。

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

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

更多C語言內容瞭解:

帶你學C帶你飛

更多精品課程:

7天玩轉雲伺服器

雲資料庫的Redis版使用教程

玩轉雲端儲存物件儲存OSS使用入門

阿里雲CDN使用教程

負載均衡入門與產品使用指南


阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場


相關文章