天天看點

C語言的曆史

c語言

C語言是目前世界上流行、使用非常廣泛的進階程式設計語言。

C語言對作業系統和系統使用程式以及需要對硬體進行操作的場合,用C語言明顯優于其它進階語言,許多大型應用軟體都是用C語言編寫的。

C語言具有繪圖能力強,可移植性,并具備很強的資料處理能力,是以适于編寫系統軟體,三維,二維圖形和動畫它是數值計算的進階語言。

常用的編譯軟體有Microsoft Visual C++,Borland C++,Wat C++ ,Borland C++ ,Borland C++ Builder,Borland C++ 3.1 for DOS,Wat C++ 11.0 for DOS,GNU DJGPP C++ ,Lccwin32 C piler 3.1,Microsoft C,High C,TurboC等等......

C語言的發展曆史

C語言的發展頗為有趣。

它的原型ALGOL 60語言。

(也成為A語言)

1963年,劍橋大學将ALGOL 60語言發展成為CPL(bined Programming Language)語言。

1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,于是産生了BCPL語言。

1970年,美國貝爾實驗室的Ken Thompson将BCPL進行了修改,并為它起了一個有趣的名字“B語言”。

意思是将CPL語言煮幹,提煉出它的精華。

并且他用B語言寫了第一個UNIX作業系統。

而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。

為了使UNIX作業系統推廣,1977年Dennis M.Ritchie 發表了不依賴于具體機器系統的C語言編譯文本《可移植的C語言編譯程式》。

1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,進而使C語言成為目前世界上流行最廣泛的進階程式設計語言。

1988年,随着微型計算機的日益普及, 出現了許多C語言版本。

由于沒有統一的标準,使得這些C語言之間出現了一些不一緻的地方。

為了改變這種情況,美國國家标準研究所(ANSI)為C語言制定了一套ANSI标準, 成為現行的C語言标準 3.C語言的主要特點 。

C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。

許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。

用C語言加上一些彙編語言子程式, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。

C語言版本

目前最流行的C語言有以下幾種:

·Microsoft C 或稱 MS C

·Borland Turbo C 或稱 Turbo C

·AT&T C

這些C語言版本不僅實作了ANSI C标準,而且在此基礎上各自作了一些擴充,使之更加友善、完美。

面向對象的程式設計語言

在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。

C++進一步擴充和完善了C語言,成為一種面向 對象的程式設計語言。

C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。

C++提出了一些更為深入的概念,它所支援的這些面向對象的概念容易将問題空間直接地映射到程式空間,為程式員提供了一種與傳統結構程式設計不同的思維方式和程式設計方法。

因而也增加了整個語言的複雜性,掌握起來有一定難度。

C語言的特點

1. 簡潔緊湊、靈活友善

C語言一共隻有32個關鍵字,9種控制語句,程式書寫自由,主要用小寫字母表示。

它把進階語言的基本結構和語句與低級語言的實用性結合起來。

C 語言可以象彙編語言一樣對位、位元組和位址進行操作, 而這三者是計算機最基本的工作單元。

2. 運算符豐富

C的運算符包含的範圍很廣泛,共有種34個運算符。

C語言把括号、指派、強制類型轉換等都作為運算符處理。

進而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實作在其它進階語言中難以實作的運算。

3. 資料結構豐富

C的資料類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。

能用來實作各種複雜的資料類型的運算。

并引入了指針概念,使程式效率更高。

另外C語言具有強大的圖形功能, 支援多種顯示器和驅動器。

且計算功能、邏輯判斷功能強大。

4. C是結構式語言

結構式語言的顯著特點是代碼及資料的分隔化,即程式的各個部分除了必要的資訊交流外彼此獨立。

這種結構化方式可使程式層次清晰, 便于使用、維護以及調試。

C語言是以函數形式提供給使用者的,這些函數可友善的調用,并具有多種循環、條件語句控制程式流向,進而使程式完全結構化。

5. C文法限制不太嚴格、程式設計自由度大

一般的進階語言文法檢查比較嚴,能夠檢查出幾乎所有的文法錯誤。

而C語言允許程式編寫者有較大的自由度。

6. C語言允許直接通路實體位址,可以直接對硬體進行操作

是以既具有進階語言的功能,又具有低級語言的許多功能,能夠象彙編語言一樣對位、位元組和位址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。

7. C語言程式生成代碼品質高,程式執行效率高

一般隻比彙程式設計式生成的目标代碼效率低10へ20%。

8. C語言适用範圍大,可移植性好

C語言有一個突出的優點就是适合于多種作業系統, 如DOS、UNIX,也适用于多種機型。

C源程式的結構特點

1.一個C語言源程式可以由一個或多個源檔案組成。

2.每個源檔案可由一個或多個函數組成。

3.一個源程式不論由多少個檔案組成,都有一個且隻能有一個main函數,即主函數。

4.源程式中可以有預處理指令(include 指令僅為其中的一種),預處理指令通常應放在源檔案或源程式的最前面。

5.每一個說明,每一個語句都必須以分号結尾。

但預處理指令,函數頭和花括号“}”之後不能加分号。

6.辨別符,關鍵字之間必須至少加一個空格以示間隔。

若已有明顯的間隔符,也可不再加空格來間隔。

書寫程式時應遵循的規則

當然,C語言也有自身的不足,比如:C語言的文法限制不太嚴格,對變量的類型限制不嚴格,影響程式的安全性,對數族下标越界不作檢查等。

從應用的角度,C語言比其他進階語言較難掌握。

總之,C語言既有進階語言的特點,又具有彙編語言的特點;既是一個成功的系統設計語言,有時一個使用的程式設計語言;既能用來編寫不依賴計算機硬體的應用程式,又能用來編寫各種系統程式;是一種受歡迎、應用廣泛的程式設計語言。

C語言有很多的優點

指針就是C語言的一大特色,可以說C語言優于其它進階語言的一個重要原因就是因為它有指針操作可以直接進行靠近硬體的操作,但是C的指針操作也給它帶來了很多不安全的因素.C++在這方面做了很好的改進,在保留了指針操作的同時又增強了安全性。

Java又進一步提高了安全性。

C語言的缺點

C語言的缺點主要是表現在資料的封裝性上,這一點使得C在資料的安全性上做的有很大缺陷,這也是C和C++的一大差別