資源描述:
《第2章程序設(shè)計語言ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第2章程序設(shè)計語言本章簡介程序設(shè)計語言是一種重要的計算機(jī)軟件技術(shù)。沒有程序設(shè)計語言,就沒有計算機(jī)程序,自然也就談不上計算機(jī)軟件。在計算機(jī)軟件領(lǐng)域,程序設(shè)計語言種類眾多,不同的程序設(shè)計語言有不同的應(yīng)用特點。但是,不同的程序設(shè)計語言在語法上,有許多共同之處。本章不是研究某一種具體的程序設(shè)計語言的語法,而是講述這些程序設(shè)計語言的共同特點。通過本章的學(xué)習(xí),使讀者對程序設(shè)計語言的特點、發(fā)展歷史、基本語法、典型語言的特點以及程序設(shè)計語言的發(fā)展趨勢有一個全面地概括性了解。本章提要2.1典型示例2.2程序設(shè)計語言的演變簡史2.3程序設(shè)計語言的分類2.4程序
2、設(shè)計語言的基本元素2.1典型示例2.1典型示例下面,給出一些典型程序設(shè)計語言的程序片斷,以便讀者能對程序設(shè)計語言的特點有一個初步的感性認(rèn)識。BASIC語言和VB語言C語言C#語言COBOL語言Java語言BASIC語言和VB語言C語言C#語言COBOL語言Java語言2.2程序設(shè)計語言的演變簡史2.2程序設(shè)計語言的演變簡史第一代語言第二代語言第三代語言第四代語言第五代語言第一代語言最早的程序設(shè)計語言是機(jī)器語言,出現(xiàn)在20世紀(jì)50年代初。機(jī)器語言(machinelanguage)也稱為機(jī)器代碼指令(machinecodeinstruction
3、)。直接用二進(jìn)制的機(jī)器代碼指令編寫的、由處理器執(zhí)行的程序就是機(jī)器語言程序。這是早期的程序設(shè)計語言,雖然計算機(jī)可以直接執(zhí)行這種語言編寫的程序,而且效率高、速度快,但是這種程序的可讀性較差、難以記憶、與計算機(jī)處理器硬件緊密相關(guān)導(dǎo)致可移植性差。第一個商用計算機(jī)UNIVAC就使用了機(jī)器語言編程。有人把這種語言稱為第一代語言(firstgenerationlanguage,1GL)。第二代語言機(jī)器語言很快被稱為第二代語言(2GL)的匯編語言所代替。匯編語言(assemblylanguage)是指用符號代替數(shù)字機(jī)器代碼指令和其他常量進(jìn)行編程的程序設(shè)計語
4、言。匯編語言通常由計算機(jī)硬件制造商定義,使用的符號是有助于程序設(shè)計人員記憶的機(jī)器代碼的縮寫。被稱為匯編程序的實用工具把匯編語言符號翻譯成目標(biāo)計算機(jī)的機(jī)器指令代碼。這種語言依然是低級程序設(shè)計語言,因為一條匯編語言編寫的語句只能翻譯成一條機(jī)器指令代碼。……MOVAX,DATAMOVDS,AXMOVAL,XXCMPAL,0JGEBIGRMOVAL,0FFHMOVYY,AL……第三代語言第三代語言(3GL)是從2GL精煉而來的。2GL側(cè)重于改進(jìn)語言的邏輯結(jié)構(gòu),3GL主要是提高了語言的用戶友好性。許多常見的語言都是3GL,例如FORTRAN、COBO
5、L、BASIC、C、C++、VisualBasic、Java、C#等,都是典型的3GL。第四代語言第四代語言(4GL)是從3GL演變而來的,具有更高抽象級別程序設(shè)計語言或程序設(shè)計環(huán)境。雖然說3GL是更加自然的、塊結(jié)構(gòu)的語言,但是3GL的開發(fā)方法依然比較緩慢、容易出錯。與3GL相比,4GL是針對特定目的的、面向問題和系統(tǒng)工程的程序設(shè)計語言。4GL可以分為:一般作用的語言(例如Clipper、Foxpro、PowerBuilder等)數(shù)據(jù)庫查詢語言(例如SQL語言)報表生成語言(例如Metafont、OracleReport、NATURAL等語
6、言)數(shù)據(jù)操縱和統(tǒng)計分析語言(例如MATLAB、SAS、SPSS、Stata等語言)Web開發(fā)語言(例如ColdFusion)等。第五代語言目前,有關(guān)第五代語言(5GL)的話題正處于討論中。一般地認(rèn)為,5GL關(guān)注的是約束條件和邏輯,而不是如何去實現(xiàn)算法。例如,對于一個給定的問題,5GL側(cè)重于寫出解決這種問題需要的條件和約束,而不是關(guān)注如何編寫算法來解決這種問題。5GL主要用于解決人工智能領(lǐng)域中的問題。2.3程序設(shè)計語言的分類2.2程序設(shè)計語言的分類程序設(shè)計語言有許多分類方式,除了前面介紹的按代劃分之外,還可以按照程序設(shè)計風(fēng)格進(jìn)行分類。指令式程
7、序設(shè)計風(fēng)格和聲明式程序設(shè)計風(fēng)格都是典型的程序設(shè)計風(fēng)格。指令式程序設(shè)計風(fēng)格指令式程序設(shè)計風(fēng)格(imperativeprogrammingparadigm)是指根據(jù)改變程序狀態(tài)的語句描述計算過程的程序設(shè)計風(fēng)格。也就是說,指令式程序包含了計算機(jī)按照序列執(zhí)行的指令或語句,描述計算機(jī)如何執(zhí)行相應(yīng)的操作。大多數(shù)程序設(shè)計語言都是指令式程序設(shè)計語言。指令式程序設(shè)計語言又可以進(jìn)一步劃分為過程式程序設(shè)計語言和面向?qū)ο蟪绦蛟O(shè)計語言。過程式程序設(shè)計語言過程式程序設(shè)計語言(proceduralprogramminglanguages)是一種為程序設(shè)計人員提供準(zhǔn)確定義
8、任務(wù)執(zhí)行步驟的語言。在過程式程序設(shè)計語言中,程序設(shè)計人員可以指定計算機(jī)將要執(zhí)行的詳細(xì)的算法步驟。有時,也把過程式程序設(shè)計語言看成是指令式程序設(shè)計語言。所不同的是,過程式程序設(shè)計語