C語言的由來與發展

大家知道C語言是怎麼來的嗎?下面yjbys考試網小編爲大家普及以下C語言的由來與發展,希望能夠幫助大家更加了解C語言。

C語言的由來與發展

  1.1.1. c語言的由來

c語言誕生幹19?2年,由美國電話電報公司(AT&T)貝爾實驗室的D. M. Ritchie設計,

並首先在一臺使用UNIX操作系統的DEC PDP-11計算機上實現。

C語言是在一種稱爲B語言的基礎上,克服了B語言依賴於機器又無數據類型等侷限性開發的語言。在1970年,美國貝爾實驗室的IC. Thompson以BCPL語言爲基礎,設計出一種既簡單又接近於硬件的B語言,並用它寫成了第一個UNIX操作系統,在PDP-7計算機上實現的。B語言是取了BCPL語言的第一個字母。而BCPL語言(Basic Combined ProgrammingLanguage)是3.967年英國劍橋大學的M. Richard,基於一種CPL語言(combined Program-wing Language)提出的一種改進的語言。而CPL語言又是於1963年英國劍橋大學根據AL-GOL 8。推出的一種接近硬件的語言。由此可見,G語言的根源可以追溯到ALGOL 60,它的演變過程如下所示:

ALGOL6o(1960年)與CPL(1963年)一BCPL(1967年)iB<3970年)-->C(1972年)

  1. 1. 2C語言的發展

C語言是在人們設想尋找一種既具有一般高級語言的特徵,又具有低級語言特點的語言

的情況下應運而生的,它具有人們的`這種期望,集中了高級語言和低級語言的優點。最初的C語言就是爲了描述和實現UNIX操作系統而產生的一種工具語言。1973年,貝爾實驗室的KThampson和D. M. Ri}chie兩人合作使用C語言修改了UNIX操作系統,即uNZx第5版本。原來的UNIX操作系統是用匯編語言寫的,改寫後UNIX操作系統中90%以上使用了C語言。從此,C語言的命運與UNIX操作系統便有着密切的聯繫,隨着UNIX操作系統的發展和推廣,C語言也在被廣泛的使用和發展。

C語言出世以後。在應用中不斷的改進。在1975年UN1X第6版本公佈以後,C語言開始引起人們的注意,它的優點逐步被人們所認識。1977年出現了與具體機器無關的C語言編譯文本,推動了UNIX操作系統在各種機器上的迅速地實現。隨着UNIX的日益廣泛的使用,C語言也得到了迅速的推廣。1978年以後,C語言先後被移植到大、中、小和微型機上,它很快成爲世界上應用最廣泛的計算機語言之一。

1978年又推出UNIX第8版本,以該版本中的C編譯程序爲基礎,B. W. Ketnigha。和D. M. Ritchie合作(被稱爲K&R)出版}}The C Programming Language}(C程序設計語言)一書,被稱爲標準C 1983年,ANSI(美國國家標準化協會)對G語言的各種版本進行了擴充,推出了新的標準,被稱爲ANSI . 它比原來的標準C有了改進和擴充。1987年,ANSI又公佈了87ANSZC新版本。目前流行的各種c語言編譯系統的版本大多數都以此爲基礎,但各有其不同。當前微機上使用的C語言編譯系統多爲Microsoft C, Turbo C, Borland C和QuickC等,它們略有差異,按標準C書寫的程序,基本上都可運行。讀者要了解不同版本的編譯系統的特點和區別可參閱有關的操作說明書。

  C語言的特點

1.C語言是一種結構化的程序設計語言

結構化程序設計的優點是便於分工合作,便於調試、維護和擴充。這種程序設計方法是將一個大程序分成若千個模塊,每個模塊完成一個功能,由一個總控模塊來控制和協調各個模塊來實現總的功能;因此,這種程序設計方法又稱爲模塊化程序設計方法。在C語言中,函數是構成C諳言程序的最小模塊。實際上,C語言的程序是由一個或者多個文件組成的,每個文件叉是由一個或多個函數組成的。因此,一個程序是由一個或多個函數組成的,其中,須有且僅有一個主函數,生函數的名字規定爲rnain() o這樣,組成一個程序的者幹個文件中,僅有一個是主文件,只有主艾件中才含有main ( )函數。另外,函數是由若干條語句組成的,語句是由若干個單詞組成的‘單詞是由若干個字符組成的。字符是構成程序的最小單元。e語言程序的構成如下所示:

程序~文件~函數~語句~單詞、字符。

C語言是結構化程序設計語言,它具有構成三種基本結構模式的語句,這種結構化程序設計應具有的三種基本結構模式如下:

順序結構棋式

它將由若干條順序執行的語句構成,這是程序設計的最基本形式。

分支結構模式

C語言中具有條件語句和開關語句,它將會構成各種需要的分支結構模式。

.循環結構模式

C語言中提供了三種循環語句(for循環,whil。循環和do-while循環),用它們可以構成

各種循環結構模式。

在講述C語言是一種結構化程序設計語言的同時,還必須指出它與其他結構化程序設計語言(如PASCAL語言)相比較,還有一些不完全之處,因此,C語言是一種不完全的結構化程序設計語言。其表現如下:

第一,完全的結構化程序設計語言不允許使用goto語句,因爲goto語句會破壞結構化。

但是。got。語句在某些時候會使得程序簡練,因此,在C語言中原則上允許使用goto語句,爲了減少它對結構化的影響,採取了限制使用的辦法,即規定got。語句的轉向範圍只能在一個函數體內。不得使用gates語句從一個函數體內轉向到另一個函數體中,這種限制性地使用goto語句會給編程帶來一些方便,又不會影響棋塊之間的結構化。但是,建議在G語言的程序中儘量少使用goto語句。

第二,完全的結構化程序設計語言要求一個模塊只有一個入口和一個出口,這樣便於結構化的管理。但是,C語言程序中允許函數使用多個返回語句(return語句),即允許函數有多個出口,返回到調用函數。這樣做也是爲了編程中的方便。在C語言程序中,可以使用條件語句來返回不同的函數值。

由此可見,C語言雖然是一個不夠嚴格的結構化程序設計語言,但它是一個使用起來十分靈活的高級語言。