首頁(yè) 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語(yǔ) | 商務(wù)英語(yǔ) | 公共英語(yǔ) | 托福 | 雅思 | 專(zhuān)四專(zhuān)八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語(yǔ) | 成人英語(yǔ)三級(jí) | 申碩英語(yǔ) | 攻碩英語(yǔ) | 職稱日語(yǔ) | 日語(yǔ)學(xué)習(xí) | 法語(yǔ) | 德語(yǔ) | 韓語(yǔ)
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問(wèn) | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷(xiāo)員 | 國(guó)際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書(shū)資格 | 心理咨詢師考試 | 出版專(zhuān)業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國(guó)際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語(yǔ)學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 軟件水平考試 > 復(fù)習(xí)資料 > 程序員資料 > 正文

2006年11月軟考輔導(dǎo)班資料:程序設(shè)計(jì)語(yǔ)言基礎(chǔ)講義

本系列資料由"思達(dá)網(wǎng)校" 授權(quán)發(fā)布,任何網(wǎng)站不得轉(zhuǎn)載,否則追究法律責(zé)任。

  1. 基礎(chǔ)知識(shí)
  1.1. 基本概念
  程序設(shè)計(jì)語(yǔ)言的定義涉及語(yǔ)法、語(yǔ)義和語(yǔ)用3個(gè)方面。
  語(yǔ)法是指由程序語(yǔ)言的基本符號(hào)組成程序中的各個(gè)語(yǔ)法成分的一組規(guī)則。包括詞法規(guī)則和語(yǔ)法規(guī)則。由形式語(yǔ)言進(jìn)行描述。
  語(yǔ)義是程序語(yǔ)言中按語(yǔ)法規(guī)則構(gòu)成的各個(gè)語(yǔ)法成分的含義,可分為靜態(tài)語(yǔ)義和動(dòng)態(tài)語(yǔ)義。程序運(yùn)行的效果反映了該程序的語(yǔ)義。
  語(yǔ)用表示了構(gòu)成語(yǔ)言的各個(gè)記號(hào)和使用者的關(guān)系,涉及符號(hào)的來(lái)源、使用和影響。

  1.2. 程序設(shè)計(jì)語(yǔ)言的種類(lèi)和特點(diǎn)
  可分為命令式程序設(shè)計(jì)語(yǔ)言、面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言、函數(shù)式程序設(shè)計(jì)語(yǔ)言和邏輯型程序設(shè)計(jì)語(yǔ)言。
  命令式程序設(shè)計(jì)語(yǔ)言是基于動(dòng)作的語(yǔ)言,計(jì)算被看成動(dòng)作的序列。如Pascal、C等。
  面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言主要包括幾個(gè)概念:對(duì)象、類(lèi)和繼承。如C++、Java等。
  函數(shù)式程序設(shè)計(jì)語(yǔ)言是一類(lèi)以λ-演算為基礎(chǔ)的語(yǔ)言。最顯著的特點(diǎn)是語(yǔ)言中程序和數(shù)據(jù)的形式是等價(jià)的。其代表是LISP語(yǔ)言。
  邏輯程序設(shè)計(jì)語(yǔ)言是以形式邏輯為基礎(chǔ)的語(yǔ)言。其代表是PROLOG。

  1.3. 程序設(shè)計(jì)語(yǔ)言的基本成分
  1.3.1. 數(shù)據(jù)成分
  是程序語(yǔ)言的數(shù)據(jù)類(lèi)型。數(shù)據(jù)是程序操作的對(duì)象。包括常量和變量、全局量和局部量。數(shù)據(jù)類(lèi)型有基本類(lèi)型(如整型、字符型等)、特殊類(lèi)型(空類(lèi)型)、構(gòu)造類(lèi)型(數(shù)組、結(jié)構(gòu)、聯(lián)合)、指針類(lèi)型等。

  1.3.2. 運(yùn)算成分
  運(yùn)算成分指明允許使用的運(yùn)算符號(hào)及運(yùn)算規(guī)則。一般包括算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算。

  1.3.3. 控制成分
  控制成分指明語(yǔ)言允許表述的控制結(jié)構(gòu)。包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。參見(jiàn)教材中講述的C(C++)提動(dòng)的控制語(yǔ)句。

  1.3.4. 函數(shù)
  函數(shù)是程序模塊的主要成分,是一段具有獨(dú)立功能的程序。函數(shù)的使用涉及3個(gè)概念:函數(shù)定義、函數(shù)聲明和函數(shù)調(diào)用。函數(shù)調(diào)用時(shí)實(shí)參與形參之間交換信息的方法有傳值調(diào)用和引用調(diào)用兩種。

  2. 語(yǔ)言處理程序基礎(chǔ)
  2.1. 匯編語(yǔ)言基本原理
  2.1.1. 匯編語(yǔ)言
  匯編語(yǔ)言是為特定的計(jì)算機(jī)或者計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的面向機(jī)器的語(yǔ)言。
  匯編語(yǔ)言中的語(yǔ)句可以分成兩大類(lèi):
  與機(jī)器指令相對(duì)應(yīng)的可執(zhí)行匯編語(yǔ)句;
  匯編控制語(yǔ)句,即偽指令。

  [NextPage]

  2.1.2. 匯編程序
  匯編程序的功能是將用匯編語(yǔ)言編寫(xiě)的源程序翻譯成機(jī)器指令程序。
  整個(gè)匯編程序工作通常要對(duì)源程序進(jìn)行兩次掃描才能完成。第一次掃描主要工作是定義符號(hào)的值。第二次掃描的目的則是產(chǎn)生目標(biāo)程序。其中,可執(zhí)行匯編語(yǔ)句被翻譯成對(duì)應(yīng)的二進(jìn)制代碼機(jī)器指令,而偽指令會(huì)根據(jù)偽指令記憶碼調(diào)用偽指令表對(duì)應(yīng)元素所規(guī)定的子程序入口。

  2.2. 編譯程序基本原理
  編譯程序的功能是把用高級(jí)語(yǔ)言書(shū)寫(xiě)的源程序翻譯成與之等價(jià)的目標(biāo)程序(匯編語(yǔ)言或者機(jī)器語(yǔ)言)。
  編譯程序的工作過(guò)程分為6個(gè)階段:詞法分析階段、語(yǔ)法分析階段、語(yǔ)義分析階段、中間代碼生成階段、代碼優(yōu)化階段和目標(biāo)代碼生成階段。參見(jiàn)《程序員教程》的P278 圖6-4。

  2.3. 解釋程序基本原理
  解釋程序是一種語(yǔ)言處理程序,它直接執(zhí)行源程序或源程序的內(nèi)部形式。它并不產(chǎn)生目標(biāo)程序,這是它和編譯程序的主要區(qū)別。
  高級(jí)語(yǔ)言實(shí)現(xiàn)語(yǔ)言處理有4種方案:
  源程序被直接解釋執(zhí)行。
  先將源程序翻譯成高級(jí)中間代碼,然后再掃描和解釋執(zhí)行高級(jí)中間代碼。
  先將源程序轉(zhuǎn)化成和機(jī)器代碼十分接近的低級(jí)中間代碼,再解釋執(zhí)行這種中間代碼。
  源程序被最終翻譯成機(jī)器語(yǔ)言表示的目標(biāo)程序。這類(lèi)系統(tǒng)的目標(biāo)程序執(zhí)行效率最高。
  翻譯系統(tǒng)與解釋系統(tǒng)比較:
  翻譯系統(tǒng)在執(zhí)行速度上都優(yōu)于建立在解釋執(zhí)行基礎(chǔ)上的系統(tǒng);
  翻譯系統(tǒng)的缺點(diǎn)是其復(fù)雜性高,這使得它的開(kāi)發(fā)和維護(hù)費(fèi)用都大;
  解釋系統(tǒng)比較簡(jiǎn)單,可移植性較好,適合于以交互方式執(zhí)行程序;
  解釋系統(tǒng)缺點(diǎn)是執(zhí)行速度慢;
  純粹的解釋和純粹的編譯都是極端,因此一般是兩種技術(shù)的結(jié)合,先將源程序編譯形成中間代碼,然后由解釋器解釋執(zhí)行。
  解釋系統(tǒng)的結(jié)構(gòu)可分成兩個(gè)部分:
  1) 包括通常的詞法分析程序以及語(yǔ)法和語(yǔ)義分析程序,它的作用仍是把源程序翻譯成中間代碼。
  2) 解釋部分,用來(lái)對(duì)第一部分所產(chǎn)生的中間代碼進(jìn)行解釋執(zhí)行,完成真正的解釋。

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。