




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
計算機編程語言熱動12-2農(nóng)建中2012210835【摘要】本文主要介紹了計算機編程語言的基本定義、分類以及各類編程語言的形式與特點,通過對各種編程語言的比較,來進一步理解計算機編程語言的實質(zhì)?!娟P(guān)鍵詞】CJAVA機器語言比較【正文】總述計算機語言包括機器語言和高級語言。機器語言是用二進制代碼表示的計算機能直接識別和執(zhí)行的一種機器指令的集合。它是計算機的設(shè)計者通過計算機的硬件結(jié)構(gòu)賦予計算機的操作功能,比如匯編語言(assemblylanguage)。機器語言具有靈活、直接執(zhí)行和速度快等特點。高級語言比較容易識記和理解,像CB語言等。機器語言由二進制數(shù)字0和1構(gòu)成的語言我們稱為機器語言,它是計算機唯一能直接識別的語言。早期的計算設(shè)備曾使用十進制,如我國的算盤,法國的帕斯卡計算機;萊布尼茲從中國的八卦圖得到啟發(fā),意識到計算機的設(shè)計可以采用二進制;布爾代數(shù)理論的成熟為二進制的應(yīng)用奠定了理論基礎(chǔ);香農(nóng)把布爾代數(shù)理論應(yīng)用到了電路實踐;先是繼電器用于計算機的制造,隨著電子管的出現(xiàn),電子時代來臨,1946年,第一臺電子計算機ENIAC在美國誕生,它通過打孔的紙帶向計算機內(nèi)輸入數(shù)據(jù):有孔的地方表示0,沒孔的地方表示1(或相反);1974年,第一臺微機“牛郎星”誕生,它通過扳動面板上的開關(guān)來向電腦輸入數(shù)據(jù):開關(guān)閉合表示1,開關(guān)斷開表示0(或相反);通過面板上的指示燈來表示輸出信息:燈亮表示1,燈滅表示0(或相反)。可見,電腦發(fā)展初期人們通過機器語言現(xiàn)人機交互。隨著電腦的進一步發(fā)展,鍵盤、顯示器的出現(xiàn)了,匯編語言以及BASIC語言、C語言等高級語言也出現(xiàn)了,機器語言的使用已經(jīng)越來越少了。在某些時候機器語言還是有它的用武之地的,例如在對空間、效率的要求很嚴格的領(lǐng)域。微軟賴以起家的BASIC語言就是比爾蓋茨用機器語言寫出來的。這里有必要提一下某些病毒,顯然是某些心懷叵測的電腦高手所編寫,他們?yōu)榱藴p少病毒的大小,某些代碼就是用機器語言寫的。某些軟件的破解,就是通過逆向工程得到到軟件的匯編代碼甚至機器代碼來進行分析實現(xiàn)的。雖然我們現(xiàn)在很少用到機器語言,但是了解機器語言必會大大加深對計算機原理的理解,對病毒、計算機安全等的認識也能提高到一個新的層次。匯編語言為了克服機器語言難讀、難編、難記和易出錯的缺點,人們就用與代碼指令實際含義相近的英文縮寫詞、字母和數(shù)字等符號來取代指令代碼(如用ADD表示運算符號“+”的機器代碼),于是就產(chǎn)生了匯編語言。所以說,匯編語言是一種用助記符表示的仍然面向機器的計算機語言。匯編語言亦稱符號語言。匯編語言由于是米用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在一定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼。而且助記符與指令代碼一一對應(yīng),基本保留了機器語言的靈活性。使用匯編語言能面向機器并較好地發(fā)揮機器的特性,得到質(zhì)量較高的程序。匯編語言中由于使用了助記符號,用匯編語言編制的程序送入計算機,計算機不能象用機器語言編寫的程序一樣直接識別和執(zhí)行,必須通過預(yù)先放入計算機的“匯編程序“的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它一經(jīng)被安置在內(nèi)存的預(yù)定位置上,就能被計算機的CPU處理和執(zhí)行。匯編語言像機器指令一樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。匯編語言是低級語言。但是,匯編語言用來編制系統(tǒng)軟件和過程控制軟件,其目標程序占用內(nèi)存空間少,運行速度快,有著高級語言不可替代的用途。高級語言不論是機器語言還是匯編語言都是面向硬件的具體操作的,語言對機器的過分依賴,要求使用者必須對硬件結(jié)構(gòu)及其工作原理都十分熟悉,這對非計算機專業(yè)人員是難以做到的,對于計算機的推廣應(yīng)用是不利的。計算機事業(yè)的發(fā)展,促使人們?nèi)で笠恍┡c人類自然語言相接近且能為計算機所接受的語意確定、規(guī)則明確、自然直觀和通用易學(xué)的計算機語言。這種與自然語言相近并為計算機所接受和執(zhí)行的計算機語言稱高級語言。高級語言是面向用戶的語言。無論何種機型的計算機,只要配備上相應(yīng)的高級語言的編譯或解釋程序,則用該高級語言編寫的程序就可以通用。如今被廣泛使用的高級語言有BASIC>PASCAL,C>COBOL,FORTRAN,LOGO以及VC、VB等。這些語言都是屬于系統(tǒng)軟件。C語言C語言是相應(yīng)的計算機的程序中的一種進行相關(guān)設(shè)計的語言,它包含了相關(guān)的高級語言的特點以及匯編語言的相應(yīng)特點。1972年,美國貝爾研究所的D.M.里奇推出了C語言。在1978年之后,C語言相繼被移植到大、中、小的微機之上。C語言有著較為豐富的一些功能。它首先可以進行對于相關(guān)工作系統(tǒng)進行一定程度上的設(shè)計,它還可以在一定程度上進行對于相關(guān)應(yīng)用程序的編寫。除此之外,它同樣也可進行對于相關(guān)應(yīng)用程序的設(shè)計。相應(yīng)的C語言具有較為廣泛的應(yīng)用。具備很強的數(shù)據(jù)處理能力,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到C語言,適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。具體應(yīng)用比如單片機以及嵌入式系統(tǒng)開發(fā)。C語言被廣泛地進行使用是因為它具有較多的優(yōu)點以及特點,主要如下:(一)C語言進行相關(guān)操作的時候較為簡易,且具有一定的靈活性。它擁有著32個關(guān)鍵字以9種控制語言。對其進行相關(guān)的程序書寫的形式較為自由,并區(qū)分大小寫。它可以把相應(yīng)的高級語言的一些基本結(jié)構(gòu)與相應(yīng)的低級語言的實用性進行一定程度上的結(jié)合。(二)對于C語言的相關(guān)運算符來說,它說涉及的范圍較為廣泛,它總共有著3運算符。而相應(yīng)的C語言對于一些括號、賦值以及一定程度上的強制類型的轉(zhuǎn)換等,C語言在進行對其的一定程度上的處理都將之視為運算符。這樣所達到的效果就是:使得相應(yīng)的C語言的運算類型較為豐富,不像一些語言那樣比較單一。而且C語言的表達式類型也表現(xiàn)出一定程度上的多樣化。(三)在C語言中,除實現(xiàn)順序、選擇和循環(huán)三種基本結(jié)構(gòu)等的9條控制語句外,輸入操作均由標準庫函數(shù)來實現(xiàn)。所以學(xué)習C語言,不僅要學(xué)習這9條控制語句和各種運算符,而且要學(xué)習并掌握常用標準庫函數(shù)的使用。函數(shù)是C語言程序的基本單位。main()函數(shù)的作用,相當于其它高級語言中的主程序;其它函數(shù)的作用,相當于子程序。C語言程序總是從main()函數(shù)開始執(zhí)行。一個C語言程序,總是從main()函數(shù)開始執(zhí)行,而不論其在程序中的位置。當主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。(四)生成的目標代碼質(zhì)量高,程序執(zhí)行效率高??梢浦残院茫ㄝ^之匯編語言);可以直接操縱硬件。(五)函數(shù)的一般結(jié)構(gòu)。任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成,其一般結(jié)構(gòu)如下:[函數(shù)類型]函數(shù)名(函數(shù)參數(shù)表)說明語句部分;執(zhí)行語句部分;(六)C語言的函數(shù)體。在函數(shù)說明部分的下面、大括號(必須配對使用)內(nèi)的部分函數(shù)體一般由說明語句和可執(zhí)行語句兩部分構(gòu)成。(七)C語言的源程序書寫格式。所有語句都必須以分號七”結(jié)束,函數(shù)的最后一個語句也不例外。程序行的書寫格式自由,既允許1行內(nèi)寫幾條語句,也允許1條語句分寫在幾行上。(八)C語言允許使用的注釋。C語言的注釋格式為:/**/“/*”和“/*”必須成對使用,且“/*”和“*“、以及“*”和“/”之是不能有空格,否則都出錯。注釋的位置,可以單占1行,也可以跟在語句的后面。如果1行寫不下,可另起1行繼續(xù)寫。注釋中允許使用漢字,在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程序運行。(九)C語言的語句。與其它高級語言一樣,C語言也是利用函數(shù)體中的可執(zhí)行語句,向計算機系統(tǒng)發(fā)出操作命令。按照語句功能或構(gòu)成的不同,可將C語言的語句分為五類??刂普Z句:控制語句完成一定的控制功能。C語言只有9條控制語句,又可細分為三種:選擇結(jié)構(gòu)控制語句:if()~else~,switch(廣循環(huán)結(jié)構(gòu)控制語句:do~while(),for(廣,while(廣,break,continue其它控制語句:goto,return函數(shù)調(diào)用語句:函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個分號語句結(jié)束標志)構(gòu)成。表達式語句由表達工后加一個分號構(gòu)成。最典型的表達式語句是,在賦值表達式后加一個分號構(gòu)成的賦值語句。C語言的發(fā)展還在進行著,并且不斷趨于完善,它具有較多的優(yōu)點。然而,它也存在著一定程度上的弊端,相信隨著時代的發(fā)展,相應(yīng)的科學(xué)技術(shù)水平會不斷的提高,會對C語言的一些弊端進行修改與完善。JAVA1995年5月,當SunMierosystems公司把Java在Internet上分發(fā)時,立即引起世界的震動。從那時起Java語言逐步成Internet上的主力開發(fā)語言,成為Internet上的世界語。它徹底改變應(yīng)用軟件的開發(fā)模式,帶來自PC機以來的又一次技術(shù)革命。成為人們關(guān)注的“以網(wǎng)絡(luò)為中心的計算時代”的一顆明星。在JAVA成為一種主流的平臺之前,它必須是一個被大多數(shù)公司、商用軟件開發(fā)者所普遍接受的編程語言。也就是說,它應(yīng)滿足軟件開發(fā)者的種種要求,并受到業(yè)界的普遍重視與興趣。Java包括四個部分:①Java語言,包括其語句、格式和定義;②Java虛擬機,包括Java解釋器、運行系統(tǒng)和環(huán)境;③Java基本應(yīng)用編程接口(BaseAPI)或叫核心API(CoreAPI);④Java標準擴展接口(StandardExtensionAPI)。其中Java語言、基本API、擴展API是一般應(yīng)用開發(fā)最常用到的。Java語言是一種適用于分布式計算環(huán)境的面向?qū)ο蟮某绦蛟O(shè)計語言。使用它可在各式各樣不同機器、不同種操作平臺的網(wǎng)絡(luò)環(huán)境中開發(fā)軟件。Java語言徹底改變了應(yīng)用軟件的開發(fā)模式,帶來了自PC機以來又一次技術(shù)革命,為迅速發(fā)展的信息世界增添了新的活力。Java語言具有以下特點:Java是一種“超C++”Java語言是由改寫C而發(fā)展的一門新的編程語言,保留了C++的許多特點,語言結(jié)構(gòu)與C++大致相同Java語言所有對象都是通過指向該對象結(jié)構(gòu)的指針進行操作的,但不允許進行指針運算,即Java語言丟棄了C++中危險的指針操作,保證了對網(wǎng)絡(luò)管理的檢查工作和安全性。Java語言采用了垃圾回收的自動存儲管理技術(shù),避免出現(xiàn)C++中的內(nèi)存泄露問題。Java是一個更簡潔、安全的程序設(shè)計語言。平臺無關(guān)性Java語言依靠Java虛擬機將Java源代碼編譯成與機器無關(guān)的字節(jié)碼,實現(xiàn)了目標代碼級的平臺無關(guān)性,從而實現(xiàn)了應(yīng)用程序的“一次編寫,到處運行”,大大加快和促進了軟件產(chǎn)品的開發(fā)。迎合了網(wǎng)絡(luò)計算機(NC)的思想,用戶不需要大量的磁盤空間來存放應(yīng)用軟件,只需要Java解釋器即可,應(yīng)用軟件只在需要時,通過Internet下載。與語種無關(guān)性Java字符類型采用的是Unicode16位字符,可以支持所有的歐洲和亞洲語言。支持多線程線程是從一個完整應(yīng)用程序分出的單獨的處理步驟,是程序內(nèi)部的一個順序控制流。一個小程序中可含一個或多個線程并可同時運行,實現(xiàn)多線程即用搶占資源的方式對多個線程實行輪流執(zhí)行Java語言內(nèi)在支持多線程,有效地實現(xiàn)了多任務(wù)的并發(fā)執(zhí)行。支持多媒體Java中設(shè)計了Graphics類可方便地構(gòu)造圖形,開發(fā)了許多Java包,在基本AWT集中增加了許多新的圖形控件。只要WWW瀏覽器上注明了“支持Java”,你就可看到生動的主頁。實際上Java推出時,主要是演示Java如何通過動畫和交互性來為靜止的Web頁增加情趣。加快了應(yīng)用軟件的小型化、網(wǎng)絡(luò)化在Internet、Java時代,由眾多小應(yīng)用程序(Applet)相互協(xié)作完成信息的處理與傳遞,使巨型的、臃腫的應(yīng)用軟件向小型化發(fā)展。Applet是一個對象,由一組屬性和方法構(gòu)成,有數(shù)據(jù)的狀態(tài)和定義在其上的操作,是一個可執(zhí)行的實體。易于學(xué)習對于熟悉C/C++的編程人員,只需另學(xué)很少的語法就可掌握Java。Java和C的比較由于高級計算機編程語言種類的豐富性以及本文篇幅所限,這里就不能再更多的描述其他高級語言的特點及發(fā)展了,但在減少內(nèi)容的同時,為了不使文章過于單調(diào)和空洞,以下的部分將對Java和C進行初步的比較,加強對兩者的了解。1、從編程思想來看C語言為面向過程語言,Java為面向?qū)ο笳Z言。2、從對地址的可操作性上來看C語言可以直接對硬件操作;Java不能直接對硬件操作。小結(jié):在硬件安全性上考慮;Java更安全,不容易引發(fā)硬件崩潰。3、從效率上來看C語言效率非常高,在所有編程語言中名列前茅;Java執(zhí)行效率一般,計算效率還不錯,總體上來講效率馬馬虎虎。4、從可移植性上來看C語言硬件依賴極高,一旦硬件環(huán)境改變,程序運行不能的可能性很高;java硬件依賴幾乎為零,只要機器裝有相匹配的虛擬機,任何機器上編寫的代碼都可以通用。5、語言背景:C語言是在單機時代應(yīng)用非常廣泛,它融合了高級語言的簡單易用和匯編語言的執(zhí)行效率;Java是在研究電子消費產(chǎn)品開發(fā)平臺和互聯(lián)網(wǎng)應(yīng)用的基礎(chǔ)上實現(xiàn)的,它的許多語言特性也是從c語言那里沿用和發(fā)展,并且使面向?qū)ο蟾幼匀缓屯晟疲ㄈ绨踩院痛a的移動性)。6、語言跨平臺:C語言不可以跨平臺;Java可以跨平臺,在windows和unix等系統(tǒng)上都可以很好的運行。7、指針管理:指針是c語言最大的優(yōu)點,它可以使用戶幾乎可以訪問計算機的所有內(nèi)存資源和其他部分資源(就是指那里打那里)。同時也卷語言程序最難掌握和調(diào)試的問題,并且給系統(tǒng)的安全性和穩(wěn)定性帶來很大的困難;java中沒有指針的概念,盡管也有數(shù)組和對象的引用的概念,但它的管理全部交給系統(tǒng)管理,這樣限制了用戶的資源的訪問,但是也給java系統(tǒng)帶來安全性和穩(wěn)定性。JAVA語言讓編程者無法找到指針來直接訪問內(nèi)存無指針,并且增添了自動的內(nèi)存管理功能,從而有效地防止了c語言中指針操作失誤,如野指針所造成的系統(tǒng)崩潰。但也不是說JAVA沒有指針,虛擬機內(nèi)部還是使用了指針,只是外人不得使用而已。這有利于Java程序的安全。9、封裝c語言中沒有package概念,需要其他方式來實現(xiàn);在java中引入了package的概念,使面向?qū)ο蠛兔嫦蚪M件開發(fā)更加方便,Java都能夠?qū)崿F(xiàn)面向?qū)ο笏枷耄ǚ庋b,繼乘,多態(tài))。JAVA則是完全的面向?qū)ο笳Z言,它句法更清晰,規(guī)模更小,更易學(xué)。它是在對多種程序設(shè)計語言進行了深入細致研究的基礎(chǔ)上,據(jù)棄了其他語言的不足之處,從根本上解決了c語言的固有缺陷。10、數(shù)據(jù)類型及類c語言允許將函數(shù)和變量定義為全局的;Java是完全面向?qū)ο蟮恼Z言,所有函數(shù)和變量部必須是類的一部分。除了基本數(shù)據(jù)類型之外,其余的都作為類對象,包括數(shù)組。對象將數(shù)據(jù)和方法結(jié)合起來,把它們封裝在類中,這樣每個對象都可實現(xiàn)自己的特點和行為。11、自動內(nèi)存管理C語言沒有內(nèi)存管理,必須手動(添加語句)釋放內(nèi)存,增加了程序設(shè)計者的負擔;Java程序中所有的對象都是用new操作符建立在內(nèi)存堆棧上,Java自動進行無需內(nèi)存回收操
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO 5840-2:2021/Amd 1:2025 EN Cardiovascular implants - Cardiac valve prostheses - Part 2: Surgically implanted heart valve substitutes - Amendment 1
- 不同行業(yè)交叉數(shù)據(jù)分析表
- 教育科技融合發(fā)展模式創(chuàng)新研究報告
- 2025年節(jié)能技術(shù)服務(wù)項目發(fā)展計劃
- 2025廣西農(nóng)村投資集團有限公司校園招聘140人筆試參考題庫附帶答案詳解
- 2025年通信計費軟件合作協(xié)議書
- 2025年河北石家莊建筑行業(yè)大型國有企業(yè)公開招聘46人筆試參考題庫附帶答案詳解
- 2025天津市南華工程建設(shè)監(jiān)理有限公司招聘10人筆試參考題庫附帶答案詳解
- 汽車車載網(wǎng)絡(luò)控制技術(shù) 試題庫及答案 判斷題
- 2024年低輻射玻璃(采暖地區(qū)用)項目資金申請報告代可行性研究報告
- 勞務(wù)派遣勞務(wù)外包項目方案投標文件(技術(shù)方案)
- 2025年安全員C證(專職安全員)考試題庫
- 地理-天一大聯(lián)考2025屆高三四省聯(lián)考(陜晉青寧)試題和解析
- 2025年廣州市公安局招考聘用交通輔警200人高頻重點模擬試卷提升(共500題附帶答案詳解)
- 貴州省貴陽市2024-2025學(xué)年九年級上學(xué)期期末語文試題(含答案)
- 2025年江蘇海事職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 計件工資計算表格模板
- 兩癌防治知識培訓(xùn)
- 小學(xué)生主題班會 傳承雷鋒精神 爭做時代新人 課件
- rcs-9611c-線路保護測控裝置-技術(shù)使用說明
- 走遍德國-(課堂PPT)課件
評論
0/150
提交評論