C語言:一種通用的程序設計語言

C語言:一種通用的程序設計語言

C語言是一種通用的程序設計語言。它同UNIX系統之間具有非常密切的關係。C語言是在UNIX系統上開發的,且無論是UNIX系統本身還是其上運行的大部分程序,都是C語言編寫的。但是C語言並不受限於任何一種操作系統或機器。由於C語言使用用來編寫編譯器和操作系統,因此被稱為“系統編程語言”。

C語言的很多重要概念來源於BCPL語言,BCPL對C語言的影響間接地來自於B語言。BCPL和B語言都是“無類型”的語言,而C語言提供了很多數據類型,其基本類型包括:字符、具有多種長度的整型和浮點數,以及通過指針、數組、枚舉、結構和聯合派生的各種數據類型。表達式由運算符和操作數組成。任何一個表達式,包括賦值表達式或函數調用表達式,都可以是一個語句。指針提供了與具體機器無關的地址算術運算。

Basic Combined Programming Language(BCPL)是一種早期的高級語言。1967年由劍橋大學的Matin Richards在同樣由劍橋大學開發的CPL語言上改進而來。BCPL最早被用做牛津大學的OS6操作系統上面的開發工具。1970年,貝爾實驗室的Ken Thompson在BCPL的基礎上改進出了B語言,用於書寫UNIX。這個名字取自BCPL中的第一個字母。B語言使用的時間更短,因為三年後的1973年同樣是貝爾實驗室的D.M.RITCHIE將B語言進一步改進,並且取了BCPL中的第二個字母將其命名為C語言。

C語言:一種通用的程序設計語言

C語言為實現結構良好的程序提供了基本的控制流結構:語句組、條件判斷(if-else)、分支選擇(switch)、循環(while、for)、提前跳出循環(break)等。

函數可以返回基本類型、結構、聯合或指針型的值。任何函數都可以遞歸調用。局部變量通常是“自動的”,即在每次函數調用時重新創建。一個C語言程序的不同函數可以出現在多個單獨編譯的不同源文件中。變量可以只在函數內部有效,也可以在函數外部但僅在一個源文件中有效,還可以在整個程序中都有效。

C語言可以處理大部分計算機能夠處理的對象,比如字符、數字和地址。這些對象可以通過具體機器實現的算術運算符和邏輯運算符組合在一起並移動。

C語言:一種通用的程序設計語言

C語言不提供直接處理諸如字符串、集合、列表或數組等複合對象的操作。雖然可以將整個結構作為一個單元進行拷貝,但C語言並沒有處理整個數組或字符串的操作。除了由函數的局部變量提供的靜態定義和堆棧外,C語言沒有定義任何存儲器分配工具,也不提供堆和無用內存回收工具。另外,C語言本身沒有提供輸入/輸出功能,沒有READ或WRITE語句,也沒有內置的文件訪問方法。所有這些高層的機制必須由顯示調用的函數提供。

類似的,C語言只提供簡單的單線程控制流,即測試、循環、分支和子程序,它不提供多道程序設計、並行操作、同步和協同例程。

儘管缺少某些特性看起來好像是一個嚴重不足(這意味必須通過調用函數來實現),但把語言保持在一個適度的規模會有很多益處,可以用比較小的篇幅將它描述出來,這樣也很容易學會。儘管如此。對於大量的程序設計應用來說,C語言是一種公認的非常高效的、表示能力很強的語言。

C語言:一種通用的程序設計語言

相關推薦

推薦中...