1.1.1. c語(yǔ)言的由來(lái)
c語(yǔ)言誕生干19?2年,由美國(guó)電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室的D. M. Ritchie設(shè)計(jì),
并首先在一臺(tái)使用UNIX操作系統(tǒng)的DEC PDP-11計(jì)算機(jī)上實(shí)現(xiàn)。
C語(yǔ)言是在一種稱為B語(yǔ)言的基礎(chǔ)上,克服了B語(yǔ)言依賴于機(jī)器又無(wú)數(shù)據(jù)類型等局限性開(kāi)發(fā)的語(yǔ)言。在1970年,美國(guó)貝爾實(shí)驗(yàn)室的IC. Thompson以BCPL語(yǔ)言為基礎(chǔ),設(shè)計(jì)出一種既簡(jiǎn)單又接近于硬件的B語(yǔ)言,并用它寫成了第一個(gè)UNIX操作系統(tǒng),在PDP-7計(jì)算機(jī)上實(shí)現(xiàn)的。B語(yǔ)言是取了BCPL語(yǔ)言的第一個(gè)字母。而B(niǎo)CPL語(yǔ)言(Basic Combined ProgrammingLanguage)是3.967年英國(guó)劍橋大學(xué)的M. Richard,基于一種CPL語(yǔ)言(combined Program-wing Language)提出的一種改進(jìn)的語(yǔ)言。而CPL語(yǔ)言又是于1963年英國(guó)劍橋大學(xué)根據(jù)AL-GOL 8。推出的一種接近硬件的語(yǔ)言。由此可見(jiàn),G語(yǔ)言的根源可以追溯到ALGOL 60,它的演變過(guò)程如下所示:
ALGOL6o(1960年)與CPL(1963年)一BCPL(1967年)iB<3970年)-->C(1972年)
1. 1. 2C語(yǔ)言的發(fā)展
C語(yǔ)言是在人們?cè)O(shè)想尋找一種既具有一般高級(jí)語(yǔ)言的特征,又具有低級(jí)語(yǔ)言特點(diǎn)的語(yǔ)言
的情況下應(yīng)運(yùn)而生的,它具有人們的這種期望,集中了高級(jí)語(yǔ)言和低級(jí)語(yǔ)言的優(yōu)點(diǎn)。最初的C語(yǔ)言就是為了描述和實(shí)現(xiàn)UNIX操作系統(tǒng)而產(chǎn)生的一種工具語(yǔ)言。1973年,貝爾實(shí)驗(yàn)室的KThampson和D. M. Ri}chie兩人合作使用C語(yǔ)言修改了UNIX操作系統(tǒng),即uNZx第5版本。原來(lái)的UNIX操作系統(tǒng)是用匯編語(yǔ)言寫的,改寫后UNIX操作系統(tǒng)中90%以上使用了C語(yǔ)言。從此,C語(yǔ)言的命運(yùn)與UNIX操作系統(tǒng)便有著密切的聯(lián)系,隨著UNIX操作系統(tǒng)的發(fā)展和推廣,C語(yǔ)言也在被廣泛的使用和發(fā)展。
C語(yǔ)言出世以后。在應(yīng)用中不斷的改進(jìn)。在1975年UN1X第6版本公布以后,C語(yǔ)言開(kāi)始引起人們的注意,它的優(yōu)點(diǎn)逐步被人們所認(rèn)識(shí)。1977年出現(xiàn)了與具體機(jī)器無(wú)關(guān)的C語(yǔ)言編譯文本,推動(dòng)了UNIX操作系統(tǒng)在各種機(jī)器上的迅速地實(shí)現(xiàn)。隨著UNIX的日益廣泛的使用,C語(yǔ)言也得到了迅速的推廣。1978年以后,C語(yǔ)言先后被移植到大、中、小和微型機(jī)上,它很快成為世界上應(yīng)用最廣泛的計(jì)算機(jī)語(yǔ)言之一。
1978年又推出UNIX第8版本,以該版本中的C編譯程序?yàn)榛A(chǔ),B. W. Ketnigha。和D. M. Ritchie合作(被稱為K&R)出版}}The C Programming Language}(C程序設(shè)計(jì)語(yǔ)言)一書,被稱為標(biāo)準(zhǔn)C 1983年,ANSI(美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì))對(duì)G語(yǔ)言的各種版本進(jìn)行了擴(kuò)充,推出了新的標(biāo)準(zhǔn),被稱為ANSI . 它比原來(lái)的標(biāo)準(zhǔn)C有了改進(jìn)和擴(kuò)充。1987年,ANSI又公布了87ANSZC新版本。目前流行的各種c語(yǔ)言編譯系統(tǒng)的版本大多數(shù)都以此為基礎(chǔ),但各有其不同。當(dāng)前微機(jī)上使用的C語(yǔ)言編譯系統(tǒng)多為Microsoft C, Turbo C, Borland C和QuickC等,它們略有差異,按標(biāo)準(zhǔn)C書寫的程序,基本上都可運(yùn)行。讀者要了解不同版本的編譯系統(tǒng)的特點(diǎn)和區(qū)別可參閱有關(guān)的操作說(shuō)明書。

