一、C 語言的發(fā)展和過程

程序設(shè)計(jì)語言的發(fā)展.png
- 高級語言:a+b
- 匯編語言:ADD AX,BX
- 機(jī)器語言:0000 0001 1101 10000
在高級語言的執(zhí)行速度上,c是最快的,c++其次,而 java
和 c#是最后的。Java 和 c#流行,主要的一個(gè)原因是可
以跨平臺。
C 語言的發(fā)展和過程:
- 產(chǎn)生時(shí)間:1972-1973
- 產(chǎn)生地點(diǎn):美國貝爾實(shí)驗(yàn)室(Bell)
- 創(chuàng)始人:Dennis.M.Ritchie 和 Ken.Thompson
- 目的:改寫UNIX操作系統(tǒng)
- 1983年 ANSI C
- 1987年 ANSI 87
- 1994年 C99
二、C 語言的特點(diǎn)
優(yōu)點(diǎn):
- 代碼量小,速度快,功能強(qiáng)大。
缺點(diǎn):
- 危險(xiǎn)性高,開發(fā)周期長,可移植性弱。
危險(xiǎn)性高:寫同一個(gè)程序,在 java 中會報(bào)錯(cuò),而在 c 中不會報(bào)錯(cuò),因?yàn)?c 認(rèn)為程序你想怎么寫就怎么寫,c 語言認(rèn)為你寫的程序不是很離譜,他都認(rèn)為你寫的這個(gè)程序有特殊的含義??梢灾苯油ㄟ^,而 java則不可以。 - 開發(fā)周期長。
c 語言是面向過程的語言,面向過程的語言的特點(diǎn)就是在開發(fā)大項(xiàng)目的時(shí)候,很容易崩潰,現(xiàn)在市場上的語言分三塊C/c++:單純的學(xué)習(xí) c 是什么都做不了的。Java C# - 可移植性不強(qiáng)。
這是針對 java 來說的,因?yàn)?java 的可移植性太強(qiáng)了,所以就感覺說 c 的可移植性不強(qiáng)。金山公司最主要是靠 wps 辦公軟件來發(fā)展的。Wps 是 c
語言開發(fā)的。
三大系統(tǒng):windows,unix,linux
Windows 內(nèi)核是 c 語言寫的,而外殼是 c++寫的。Java永遠(yuǎn)不可能寫操作系統(tǒng)。因?yàn)?java 運(yùn)行速度太慢了。
而 linux 和 unix 都是純 c 寫的。操作系統(tǒng)控制了硬件,如果說操作系統(tǒng)的運(yùn)行速度慢,那么當(dāng)我們在運(yùn)行軟件的時(shí)候,運(yùn)行速度會更慢。
為什么使用 c 語言寫操作系統(tǒng)呢,首先是因?yàn)?c 的運(yùn)行速度快,然后是因?yàn)?c 可以直接控制硬件,而其他語言不可以。沒有指針的語言是不能直接訪問硬件的。
三、C 語言的應(yīng)用領(lǐng)域
系統(tǒng)軟件開發(fā)
- 操作系統(tǒng):Windows、Linux、Unix
- 驅(qū)動(dòng)程序:主板驅(qū)動(dòng)、顯卡驅(qū)動(dòng)、攝像頭驅(qū)動(dòng)
- 數(shù)據(jù)庫:DB2、Oracle、Sql Server
應(yīng)用軟件開發(fā):
- 辦公軟件:WPS
- 圖像圖形多媒體:ACDSee、Photoshop、MediaPlayer
- 嵌入式軟件開發(fā);智能手機(jī)、掌上電腦
- 游戲開發(fā):2D、3D游戲
驅(qū)動(dòng)一般是用 c 和匯編來寫的。
數(shù)據(jù)庫一般是用 c 和 c++來寫的。