Newest Viewed Downloaded

參考文獻http://public.research.att.com/~bs/homepage.html http://www.hitmill.com/programming/cpp/cppHistory.html http://www.circlemud.org/~jelson/560/1998-august/day1/sld001.htm http://www.dotspace.idv.tw/sofeeng/sofeeng_8.htm http://www.pconline.com.cn/pcedu/rookie/basic/10111/16058.html http://content.edu.tw/junior/computer/ks_mc/chapter/ch08/c08_03_02.htm http://cc2-bsd.cksh.tp.edu.tw/teach/cprogram/cporgram1.files/frame.htm

資訊文獻導讀 TEAM_PAPER 指導老師:張佑康老師

C語言的介紹

內容摘要

程式語言 C語言的歷史 C的特色 C++的特色 結論 參考文獻 組員

程式語言

機器語言 機器語言(Machine Language)是電腦可以直接執行的語言,它的語言指令是由一連串 0 與 1 所排列組合而成的。不同的機器有不同的機器語言,因此要使用機器語言必須對機器本身的架構相當熟悉,因為語言的內容都是0與1,所以在撰寫及維護上都很困難。 組合語言 機器語言的指令是由 0 與 1 組成,對人類來講很難辨識。於是便將機器語言基本指令用符號來幫助人類記憶,這些符號就稱為記憶符號。所有的記憶符號就組成了組合語言(Assembly Language)。組合語言是一種以符號來代替機器語言的程式語言,因此也是最接近機器語言的程式語言。但是組合語言和機器語言一樣,設計師對機器的架構都必須相當熟悉。 高階語言 低階語言的程式設計師除了要對語言的指令相當了解之外,對於機器本身的硬體組成也必須相當熟悉,在學習及使用上都相當的不方便。為了讓人類能更方便、更快速的使用程式語言,因此發展出一些比較接近人類日常生活用語的程式語言,這就是高階語言(High-leveI Language)。常見的高階語言如 FORTRAN、COBOL、PASCAL、BASIC都是只著重於程式程序的撰寫,而不須要對硬體非常了解。高階語言撰寫出來的程式只要經過編譯器(Compiler)轉換成對應機器語言後,便可以在不同的機器上執行。有些高階語言則是透過直譯程式(Interpreter)才能執行,它沒有獨立執行的能力。

C語言的歷史

目的 早期的系統軟體皆需用組合語言來編寫,而用組合語言來編寫程式雖然比機器碼純數字的程式內容在可讀性上來得更高,但程式碼還是難以了解內容且編寫不易。而當時高階語言的缺點就是難以控制硬體,效率比不上組合語言,有人便希望能發展出一個便於控制硬體和容易編寫高階語言能取代組合語言,而C語言便是為了因應此種情形而生的。

C語言的歷史

C#(2000.9) C++(1983~1985) C(1973) (Dennis Ritchie, Bell Labs) B(1970) (Ken Thompson, Bell Labs) BCPL(1967) (Martin Richards, Cambridge) CPL(1963) (Cambridge & London University) ALGOL 60(1960) 演進 1960年的ALGOL 60是一種高階語言,但偏離硬體太遠,不適合用來寫系統程式。 1963年,英國的劍橋大學和倫敦大學以ALGOL 60為基礎,共同推出了CPL (Combined Programming Language)語言但是格局太大,編寫程式上仍嫌不方便。 1967年,英國劍橋大學的 Martin Richards對CPL語言做了簡化,推出了BCPL (Base Combined Programming Language)語言。 1970年,美國貝爾實驗室簡化了BCPL語言,設計出十分接近硬體的B語言,寫出早期的UNIX作業系統。

C語言的歷史

C#(2000.9) C++(1983~1985) C(1973) (Dennis Ritchie, Bell Labs) B(1970) (Ken Thompson, Bell Labs) BCPL(1967) (Martin Richards, Cambridge) CPL(1963) (Cambridge & London University) ALGOL 60(1960) 演進 然而由於BCPL資料沒有在分資料型態,再加上實在是太精簡了,功能實在是有限,故於1972年至1973年間,貝爾實驗室的Dennis Ritchie以B語言為基礎,結合了B語言及BCPL語言的一些重要觀念,再加資料型態的概念及其他的一些強而有力的觀念之後,設計出功能佳的C語言。 在1983至1985年間,他又在C語言中加入了Simula語言的class(類別)的概念,以及物件導向的概念,產生出C++語言,於是我們所熟知的C++便產生了。 在2000年9月,Microsoft在自己的.NET Framework計畫中,以C語言為樣本,沿用了C++的函式庫,自行研發了一個類似於C語言的C#語言,而C++和C#都是C語言後來的演化。

特色

使用範圍廣,用途廣大: C語言可以寫的程式很多,應用程式、系統程式、網路上的應用、操控硬體的應用程式、甚至是一些驅動程式,皆可以用C語言來編寫! 兼具高階語言和低階語言的優點: 低階語言可讀性都比較低,而高階的程式語言控制硬體的能力也比較差,C語言卻突破了這一層障礙,它的程式碼不僅易讀易懂、可讀性高,同時又能輕鬆地控制硬體! 執行效率高、速度快: C語言不僅在寫程式的過程中容易編寫,在控制硬體上亦比較輕鬆,同時在執行程式上,用C語言所編寫出來的軟體效率亦是十分地高的!執行速度很快!

特色

語法較自由、較隨性: 寫程式的新手在了解電腦聰明度上的限制之後,往往會用比較死板的語法來寫程式,因為他們知道電腦並不是十分地聰明;但是他們可能在學習C語言的過程之中會慢慢發現,C語言比他們想像的要來得聰明多了!他們可以用更靈活、更有效率的寫法來寫程式!此外,C語言的某一些語法和關鍵字的設計便是刻意要設計出自由度高的寫法的!而這些語法和關鍵字使得人們可以以比較自由、比較有效率的思維去編寫程式!而這些都是C語言語法自由的地方! 允許直接控制硬體: C語言可以利用設計得當的函式庫來直接操作硬體!許多地方存在有許多種處理硬體的函式庫可供程式設計者使用。倘若函式庫不足以程式設計者控制硬體的話,程式設計者可以自行製作所需的函式庫。

C++的特色

C++是由C演進來,早期的C++ 版本稱為「C with Classes」,是C語言多了class功能,最重要的是加入物件導向程式設計的概念。 以下是物件導向的三個性質: 封裝(Encapsulation) 繼承(Inheritance) 多型(polymorphism) 優點: 由C語言發展出來,具備了C語言的優點。 符合重大專案所需的切合實際、高效能、高彈性 。 在任和平台下皆能執行,廣泛應用在各種組織機構和各種研發環境及執行環境中。

結論

C語言是一個十分棒的語言,相信之後C語言仍會為世人所廣泛接受,也可能難能再有比C語言更好的語言了!此外,C++的物件導向概念亦是十分地不錯的!存在有一些優於C語言的優點,難怪會有人認為C++比C語言好!不過物件導向存在有一些小缺點,故C++並非全然優於C語言。近來已湧現一股抗拒Java、C#等新式程式語言的反動浪潮,許多開發人員紛紛回頭使用C++。所謂Java、C#之類的新式語言已超越C++的說法,其實是誤解。現在,C++程式設計師總數超過300萬人。無論在何處,都可見到開發人員揭竿起義--愈來愈多計畫採用C++。有許多課程教授Java,但更多人重新再教C++。已興起一股反彈。

參考文獻

http://public.research.att.com/~bs/homepage.html http://www.hitmill.com/programming/cpp/cppHistory.html http://www.circlemud.org/~jelson/560/1998-august/day1/sld001.htm http://www.dotspace.idv.tw/sofeeng/sofeeng_8.htm http://www.pconline.com.cn/pcedu/rookie/basic/10111/16058.html http://content.edu.tw/junior/computer/ks_mc/chapter/ch08/c08_03_02.htm http://cc2-bsd.cksh.tp.edu.tw/teach/cprogram/cporgram1.files/frame.htm

參考文獻

http://content.edu.tw/senior/computer/ks_ks/student/program/chapter.htm http://cm.bell-labs.com/cm/cs/who/dmr/chist.html http://www.na.ntu.edu.tw/chinese/course/online/cplus/chap0.htm http://en.wikipedia.org/wiki/C_plus_plus http://faculty.ccbcmd.edu/~ssorkin/DWHhtml/Ch1/sld001.htm http://docs.hp.com/en/92501-90029/ch01s01.html http://www.shylar.com/jenkins/2001/post1945/complang/cpphistory.htm http://portal.acm.org/citation.cfm?id=155375

組員

資工進修二B 王耀德 9303006B 簡谷勳 9303008B 王逸婷 9303024B 陳聖彰 9303032B 林偉淳 9303038B 曾祥俊 9303066B

Showing 1 - 13 of 13 items Details

Name: 
termpaper
Author: 
uuuiii00
Company: 
CMT
Description: 
參考文獻http://public.research.att.com/~bs/homepage.html http://www.hitmill.com/programming/cpp/cppHistory.html http://www.circlemud.org/~jelson/560/1998-august/day1/sld001.htm http://www.dotspace.idv.tw/sofeeng/sofeeng_8.htm http://www.pconline.com.cn/pcedu/rookie/basic/10111/16058.html http://content.edu.tw/junior/computer/ks_mc/chapter/ch08/c08_03_02.htm http://cc2-bsd.cksh.tp.edu.tw/teach/cprogram/cporgram1.files/frame.htm
Tags: 
http | htm | html | labs | edu | bell | language | c語言的歷史
Created: 
1/10/2006 5:41:23 PM
Slides: 
13
Views: 
0
Downloads: 
0
Rating: 
0


> Comment



Share this presentation
|

Comments

Share this presentation:

|
Sitemap