計(jì)算機(jī)導(dǎo)論第3章程序設(shè)計(jì)語(yǔ)言(答案)_第1頁(yè)
計(jì)算機(jī)導(dǎo)論第3章程序設(shè)計(jì)語(yǔ)言(答案)_第2頁(yè)
計(jì)算機(jī)導(dǎo)論第3章程序設(shè)計(jì)語(yǔ)言(答案)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章程序設(shè)計(jì)語(yǔ)言習(xí)

題一、選擇題1.A

2.A

3.D

4.A

5.AB6.C

7.D

8.C

9.D

10.D11.ABCD

12.B

13.A

14.ABD二、簡(jiǎn)答題1.簡(jiǎn)述程序的概念。答:一個(gè)程序就是能夠?qū)崿F(xiàn)特定功能的一組指令序列的集合?;蛘叱绦颍剿惴ǎ珨?shù)據(jù)結(jié)構(gòu)。2.簡(jiǎn)述程序設(shè)計(jì)語(yǔ)言的發(fā)展階段。經(jīng)歷了機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言三個(gè)發(fā)展階段。機(jī)器語(yǔ)言又稱面向機(jī)器的語(yǔ)言,是特定的計(jì)算機(jī)硬件系統(tǒng)所固有的語(yǔ)言,是CPU唯一能夠真正不經(jīng)過(guò)翻譯而直接識(shí)別和執(zhí)行的語(yǔ)言。相比而言,其他任何語(yǔ)言編寫(xiě)的程序都必須最終轉(zhuǎn)換成機(jī)器語(yǔ)言以后才能在CPU上執(zhí)行。由于二進(jìn)制編碼形式的機(jī)器指令不便于記憶和使用,人們很快引入了便于記憶、易于閱讀和理解、由英文單詞或其縮寫(xiě)符號(hào)表示的指令,稱為匯編指令,又稱符號(hào)指令或助記符。利用匯編指令編寫(xiě)得到的程序稱為匯編語(yǔ)言程序。通過(guò)引入?yún)R編語(yǔ)言,在一定程度上解決了低級(jí)語(yǔ)言程序設(shè)計(jì)的問(wèn)題,之后又出現(xiàn)了程序的“可移植性”問(wèn)題,即程序員編寫(xiě)的源程序如何從一臺(tái)計(jì)算機(jī)方便地轉(zhuǎn)移到另一臺(tái)計(jì)算機(jī)上執(zhí)行。為了解決這個(gè)問(wèn)題,人們引入了高級(jí)語(yǔ)言。高級(jí)語(yǔ)言是一種利用意義比較直觀的各種“單詞”和“公式”,按照一定的“語(yǔ)法規(guī)則”來(lái)編寫(xiě)程序的語(yǔ)言,又稱為程序設(shè)計(jì)語(yǔ)言或算法語(yǔ)言。高級(jí)語(yǔ)言之所以“高級(jí)”,是因?yàn)楦呒?jí)語(yǔ)言把很多硬件上復(fù)雜費(fèi)解的概念抽象化了,從而使得程序員可以繞開(kāi)復(fù)雜的計(jì)算機(jī)硬件的問(wèn)題、無(wú)需了解計(jì)算機(jī)的指令系統(tǒng),就能完成程序設(shè)計(jì)的工作。3.簡(jiǎn)述程序設(shè)計(jì)過(guò)程的一般步驟。程序設(shè)計(jì)的過(guò)程一般有四個(gè)步驟。(1)分析問(wèn)題在著手解決問(wèn)題之前,應(yīng)該通過(guò)分析,充分理解問(wèn)題,明確原始數(shù)據(jù)、解題要求、需要輸出的數(shù)據(jù)及形式等。(2)設(shè)計(jì)算法算法是解題的過(guò)程。首先集中精力于算法的總體規(guī)劃,然后逐層降低問(wèn)題的抽象性,逐步充實(shí)細(xì)節(jié),直到最終把抽象的問(wèn)題具體化成可用程序語(yǔ)句表達(dá)的算法。這是一個(gè)自上而下、逐步細(xì)化的過(guò)程。(3)編碼利用程序設(shè)計(jì)語(yǔ)言表示算法的過(guò)程稱為編碼。(4)調(diào)試程序調(diào)試程序包括編譯和連接等操作。編譯程序?qū)⒃闯绦蜣D(zhuǎn)換為目標(biāo)程序,它對(duì)程序員編寫(xiě)的源程序進(jìn)行語(yǔ)法檢查,程序員根據(jù)編譯過(guò)程中的錯(cuò)誤提示信息,查找并改正源程序的錯(cuò)誤后再重新編譯,直到?jīng)]有語(yǔ)法錯(cuò)誤為止。大多數(shù)程序設(shè)計(jì)語(yǔ)言還要使用連接程序把目標(biāo)程序與系統(tǒng)提供的庫(kù)文件進(jìn)行連接以得到最終的可執(zhí)行文件。在連接過(guò)程中若程序使用了錯(cuò)誤的內(nèi)部函數(shù)名,將會(huì)引起連接錯(cuò)誤。對(duì)于經(jīng)過(guò)編譯和連接,并最終運(yùn)行結(jié)束的程序,程序員還要對(duì)程序執(zhí)行的結(jié)果進(jìn)行分析,只有得到正確結(jié)果的程序才是所需的程序。4.簡(jiǎn)述機(jī)器語(yǔ)言和匯編語(yǔ)言的共同特點(diǎn)。匯編語(yǔ)言具有一個(gè)本質(zhì)上與機(jī)器語(yǔ)言一一對(duì)應(yīng)的指令系統(tǒng)。大多數(shù)情況下,一條匯編指令直接對(duì)應(yīng)一條機(jī)器指令,少數(shù)匯編指令對(duì)應(yīng)幾條機(jī)器指令,所以,匯編語(yǔ)言的實(shí)質(zhì)和機(jī)器語(yǔ)言是相同的。與機(jī)器指令一樣,匯編指令直接針對(duì)計(jì)算機(jī)硬件進(jìn)行操作,要求程序員具有較為深厚的計(jì)算機(jī)專業(yè)知識(shí);每一條指令只能實(shí)現(xiàn)一個(gè)非常細(xì)微的操作(例如移動(dòng)、自增),因而源程序一般比較冗長(zhǎng)、復(fù)雜、容易出錯(cuò)。5.簡(jiǎn)述高級(jí)語(yǔ)言程序的運(yùn)行過(guò)程。使用高級(jí)語(yǔ)言編寫(xiě)程序的一般過(guò)程可以歸納為以下幾個(gè)步驟:(1)使用文本編輯工具,逐條編寫(xiě)源程序的語(yǔ)句。保存源程序的文件時(shí),文件的后綴名與所用的高級(jí)語(yǔ)言有關(guān)。(2)編譯源程序文件,生成目標(biāo)文件,文件后綴名通常為obj。(3)鏈接目標(biāo)文件,生成可執(zhí)行文件,文件后綴名通常為exe。(4)在計(jì)算機(jī)上運(yùn)行可執(zhí)行程序,并進(jìn)行調(diào)試和維護(hù)。程序的執(zhí)行環(huán)境由操作系統(tǒng)提供,一般分為命令行環(huán)境和圖形用戶界面環(huán)境。在DOS與大多數(shù)Unix類操作系統(tǒng)中,提供的就是命令行用戶界面,用戶需要在系統(tǒng)命令提示符后面輸入各種操作命令以實(shí)現(xiàn)需要的功能;在Windows操作系統(tǒng)中,提供的是圖形用戶界面,用戶可以通過(guò)點(diǎn)擊鼠標(biāo)等操作完成希望的功能。“界面就是程序”反映了在程序設(shè)計(jì)中為用戶提供良好的操作界面的重要性。用戶使用界面的好壞直接影響著程序的質(zhì)量,要樹(shù)立以人為本的思想,盡量為用戶提供便利。6.簡(jiǎn)述編譯程序的概念。編譯程序是把高級(jí)語(yǔ)言程序(源程序)作為一個(gè)整體來(lái)處理,在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語(yǔ)言),編譯后與系統(tǒng)提供的代碼庫(kù)鏈接,形成—個(gè)完整的可執(zhí)行的機(jī)器語(yǔ)言程序(目標(biāo)程序代碼)。7.用圖示法表示編譯程序的框架。答:編譯程序的框架如圖所示:8.詞法分析的任務(wù)是什么?答:作為編譯過(guò)程的第一個(gè)階段,其任務(wù)是從左到右一個(gè)字符,一個(gè)字符地對(duì)源程序進(jìn)行掃描,讀入源程序,對(duì)構(gòu)成源程序的字符流進(jìn)行掃描和分解,通過(guò)詞法分析從而識(shí)別出一個(gè)個(gè)單詞(也稱單詞符號(hào)或符號(hào))。9.語(yǔ)法分析的任務(wù)是什么?答:語(yǔ)法分析是編譯過(guò)程的第二個(gè)階段,任務(wù)是在詞法分析的基礎(chǔ)上將單詞序列分解成各類語(yǔ)法短語(yǔ),如“程序”、“語(yǔ)句”、“表達(dá)式”等等。10.簡(jiǎn)述語(yǔ)義處理的功能。答:編譯過(guò)程中的語(yǔ)義處理實(shí)現(xiàn)兩個(gè)功能:(1)審查每個(gè)語(yǔ)法結(jié)構(gòu)的靜態(tài)語(yǔ)義,即驗(yàn)證語(yǔ)法結(jié)構(gòu)合法的程序是否真正有意義,有時(shí)把這個(gè)工作稱為靜態(tài)語(yǔ)義分析或靜態(tài)審查。(2)如果靜態(tài)語(yǔ)義正確,則語(yǔ)義處理要執(zhí)行真正的翻譯,要么生成程序的一種中間表示形式(中間代碼),要么生成實(shí)際的目標(biāo)代碼。11.簡(jiǎn)述中間代碼的概念。答:所謂“中間代碼”是一種結(jié)構(gòu)簡(jiǎn)單、含義明確的記號(hào)系統(tǒng),這種記號(hào)系統(tǒng)可以設(shè)計(jì)為多種多樣的形式,重要的設(shè)計(jì)原則為兩點(diǎn):一是容易生成;二是容易將它翻譯成目標(biāo)代碼。12.目標(biāo)代碼生成階段的任務(wù)是什么?答:目標(biāo)代碼生成階段的任務(wù)是把中間代碼變換成特定機(jī)器上的絕對(duì)指令代碼或可重定位的指令代碼或匯編指令代碼。這是編譯的最后階段,它的工作與硬件系統(tǒng)結(jié)構(gòu)和指令含義有關(guān),這個(gè)階段的工作很復(fù)雜,涉及到硬件系統(tǒng)功能部件的運(yùn)用、機(jī)器指令的選擇、各種數(shù)據(jù)類型變量的存儲(chǔ)空間分配以及寄存器和后援寄存器的調(diào)度等。三、討論題1.作為一個(gè)計(jì)算

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論