c語言是一種具有低級語言特征的高級語言?
C語言是 20 世紀 70 年代初 Dennis Ritchie 在美國AT&T貝爾實驗室(AT&T Bell Labs)工作時開發(fā)的一種編程語言。當初它的開發(fā)目標是重新設計 Unix 操作系統(tǒng),使其能夠在多臺計算機上使用。
于20世紀70年代初
由于 C語言不像別的高級語言那樣把程序員照顧的很好,但是C語言也不是匯編那樣的低級語言,所以很多人也稱C語言為“中級語言”。
在C語言被開發(fā)出來之前,改進 Unix 系統(tǒng)代碼常使用 B 語言。B 語言比匯編語言更高級,更貼近人類,因此使用 B 語言的開發(fā)效率明顯高于使用匯編語言。盡管如此,B語言還是有一些缺點,比如它不區(qū)分數(shù)據(jù)類型,也不支持“結構體”數(shù)據(jù)結構。
B語言諸多缺陷
解決 B 語言的這些缺點成為 Dennis Ritchie 開發(fā)新的C語言的目標和動力,他保留了 B 語言的大部分語法,添加了數(shù)據(jù)類型和許多其他實踐中的需求。最終在 1971~1973 年間,C語言被成功開發(fā)出來,它包含了高級功能和編程操作系統(tǒng)所需的詳細功能。因此,后來包括 Unix 內核本身在內的許多 Unix 組件都用C語言重寫了。
C語言解決了B語言的缺陷
作為最有名的中級語言,相比較同時期的其他編程語言,C語言有如下優(yōu)點:
C語言兼有高級語言和低級語言的特點。它可以用于低級編程,如驅動程序和內核的腳本,還支持高級編程語言的功能,如應用軟件程序等。
C語言是一種結構化的編程語言,因此程序員可以將復雜的程序分解為稱為函數(shù)的簡單程序,數(shù)據(jù)可以在這些函數(shù)之間自由移動。
C語言可以直接訪問機器級硬件、確定性的使用資源和動態(tài)內存分配,成為編寫嵌入式系統(tǒng)應用程序和驅動程序腳本的最佳選擇。
C語言優(yōu)點很多
C語言是高度可移植的,能夠用于編寫復雜的操作系統(tǒng)內核,如 Windows、Unix 和 Linux,以及系統(tǒng)應用程序腳本。
C語言是一種通用編程語言,可以有效地處理企業(yè)應用程序,以及游戲、圖形和需要大量計算的應用程序等。
C語言程序的運行效率極高,因此可以快速實現(xiàn)算法和數(shù)據(jù)結構,促進程序中更快的計算。這使得C可以用于更高計算復雜度的應用,如matlab和mathematica。
C語言成為當時的主導編程語言
基于這些優(yōu)勢,C語言成為當時的主導編程語言,并迅速傳播到貝爾實驗室之外,取代了當時許多著名的語言,如 algol、b、pl/i、fortran 等。如今,C語言已經在非常廣泛的平臺上使用,從嵌入式微控制器到超級計算機,都有C語言的身影。