C語言的特點

2022-06-25 01:12:15 字數 2306 閱讀 2579

c語言通常稱為中級計算機語言。中級語言並沒有貶義,不意味著它功能差、難以使用、或者比b a s i c、p a s c a l那樣的高階語言原始,也不意味著它與組合語言相似,會給使用者帶來類似的麻煩。c語言之所以被稱為中級語言,是因為它把高階語言的成分同組合語言的功能結合起來了。表1 - 1表明了c語言在計算機語言中所處的地位。

作為中級語言,c允許對位、位元組和位址這些計算機功能中的基本成分進行操作。c語言程式非常容易移植。可移植性表示為某種計算機寫的軟體可以用到另一種機器上去。舉例來說,如果為蘋果機寫的乙個程式能夠方便地改為可以在ibm pc 上執行的程式,則稱為是可移植的。

所有的高階語言都支援資料型別的概念。乙個資料型別定義了乙個變數的取值範圍和可在其上操作的一組運算。常見的資料型別是整型、字元型和實數型。雖然c語言有五種基本資料型別,但與p a s c a l或a d a相比,它卻不是強型別語言。c程式允許幾乎所有的型別轉換。例如,字元型和整型資料能夠自由地混合在大多數表示式中進行運算。這在強型別高階語言中是不允許的。

c語言的另乙個重要特點是它僅有3 2個關鍵字,這些關鍵字就是構成c語言的命令。和ibm pc的b a s i c相比,後者包含的關鍵字達1 5 9個之多。

c語言是結構化語言

雖然從嚴格的學術觀點上看,c語言是塊結構(b l o c k - s t r u c t u r e d)語言,但是它還是常被稱為結構化語言。這是因為它在結構上類似於a l g o l、p a s c a l和m o d u l a - 2(從技術上講,塊結構語言允許在過程和函式中定義過程或函式。用這種方法,全域性和區域性的概念可以通過「作用域」規則加以擴充套件,「作用域」管理變數和過程的「可見性」。因為c語言不允許在函式中定義函式,所以不能稱之為通常意義上的塊結構語言)。

結構化語言的顯著特徵是**和資料的分離。這種語言能夠把執行某個特殊任務的指令和資料從程式的其餘部分分離出去、隱藏起來。獲得隔離的乙個方法是呼叫使用區域性(臨時)變數的子程式。通過使用區域性變數,我們能夠寫出對程式其它部分沒有***的子程式。這使得編寫共享**段的程式變得十分簡單。如果開發了一些分離很好的函式,在引用時我們僅需要知道函式做什麼,不必知道它如何做。切記:過度使用全域性變數(可以被全部程式訪問的變數)會由於意外的***而在程式中引入錯誤。

結構化語言比非結構化語言更易於程式設計,用結構化語言編寫的程式的清晰性使得它們更易於維護。這已是人們普遍接受的觀點了。c語言的主要結構成分是函式c的獨立子程式。

在c語言中,函式是一種構件(程式塊),是完成程式功能的基本構件。函式允許乙個程式的諸任務被分別定義和編碼,使程式模組化。可以確信,乙個好的函式不僅能正確工作且不會對程式的其它部分產生***。

1.2.3 c語言是程式設計師的語言

也許你會問「所有的計算機語言不都是程式設計師使用的嗎?」,回答是斷然的「否」。我們考慮典型的非程式設計師的語言c o b o l和b a s i c。c o b o l的設計使程式設計師難以改變所編寫**的可靠性,甚至不能提高**的編寫速度。

然而c o b o l設計者的本意卻是打算使非程式設計師能讀程式(這是不大可能的事)。注意,這並不是攻擊c o b o l的優點,而是想指出,它沒有被設計成為程式設計師的理想語言。basic 的主要目的是允許非專業程式設計師在計算機上程式設計解決比較簡單的問題。與其形成鮮明對照的是c 語言,由於程式生成、修改和現場測試自始至終均由真正的程式設計師進行,因而它實現了程式設計師的期望:很少限制、很少強求、塊結構、獨立的函式以及緊湊的關鍵字集合。用c語言程式設計,程式設計師可以獲得高效機器**,其效率幾乎接近組合語言**。

c語言被程式設計師廣泛使用的另乙個原因是可以用它代替組合語言。組合語言使用的彙編指令,是能夠在計算機上直接執行的二進位制機器碼的符號表示。組合語言的每個操作都對應為計算機執行的單一指令。雖然組合語言給予程式設計師達到最大靈活性和最高效率的潛力,但開發和除錯組合語言程式的困難是難以忍受的。非結構性使得組合語言程式難於閱讀、改進和維護。也許更重要的是,組合語言程式不能在使用不同c p u的機器間移植。

最初,c語言被用於系統程式設計。乙個「系統程式」是一大類程式的一部分,這一大類構成了計算機作業系統及實用程式。通常被稱為系統程式的有:

• 作業系統。 

• 翻譯程式。 

• 編輯程式。 

• 匯程式設計序。 

• 編譯程式。 

• 資料庫管理程式。 

隨著c語言的普及,加之其可移植性和高效率,許多程式設計師用它設計各類程式。幾乎所有的計算機上都有c語言編譯程式,這使我們可以很少改動甚至不加改動地將為一種機器寫的c 語言源程式在另一種機器上編譯執行。可移植性節省了時間和財力。

c語言不僅在速度和結構上有它的優勢,而且每個c語言系統都提供了專門的函式庫,程式設計師可以根據不同需要對其進行剪裁,以適應各種程式的設計。由於它允許(更準確地說是鼓勵)分別編譯,所以c語言可使程式設計師方便地管理大型專案,最大限度地減少重複勞動。

植髮記錄之植髮花了多少,流程有哪些

C語言特點

1972年,美國貝爾實驗室的dm.ritchie在b語言的基礎上設計出了c語言。1 語言簡潔 緊湊,使用方便 靈活。c語言原有32個關鍵字 c99增加5個,c11增加7個 9種控制語言,程式書寫形式自由,主要用小寫字母表示。2 運算子豐富。豐富靈活的運算子可以實現其他高階語言難以實現的運算。3 資料...

C語言特點

c語言靈活性較高,裡面有很多陷阱,看c語言原始碼先看標頭檔案,裡面包含了大部分資料結構。c語言具有下面一些特點 由於c語言關鍵字少 只有32個,輸入輸出都是庫函式,而不是關鍵字 所以c語言程式便於移植 要加上相應的庫函式,然後再編譯。在高階語言當中c語言可移植性較好 很多運算子 34個運算子 使得c...

C語言程式的結構特點

通過前面的幾個例子,我們總結出了c語言程式的幾個特點 乙個c語言源程式可以由乙個或多個原始檔組成。每個原始檔可由乙個或多個函式組成。乙個源程式不論由多少個檔案組成,都有乙個且只能有乙個main函式,即主函式。源程式中可以有預處理命令 include 命令僅為其中的一種 預處理命令通常應放在原始檔或源...