當前位置:學問谷 >

行業範例 >工程 >

第六章程序設計語言複習題及答案

第六章程序設計語言複習題及答案

1、簡述自然語言與形式語言的概念以及區別、彙編語言與機器語言的概念及區別。

第六章程序設計語言複習題及答案

自然語言是某一社會發展中形成的一種民族語言,而形式語言是進行形式化工作的元語言,它是以數學和數理邏輯為基礎的科學語言。用機器指令形式編寫的程序稱為機器語言, 用帶符號或助記符的指令和地址代替二進制代碼成為語言進化的目標。這些使用助記符語言的語言後來就被稱之為彙編語言。

(P135 P136)

2、什麼是高級程序設計語言?它有什麼特點?

高級語言是彙編語言的一種抽象。高級語言的設計目標就是使程序員擺脱彙編語言細節的繁瑣。高級語言同彙編語言都有一個共性,那就是:它們必須被轉化為機器語言,這個轉化的過程稱為解釋或編譯。

(1)高級語言接近算法語言,易學、易掌握;

(2)高級語言設計出來的程序可讀性好,可維護性強,可靠性高;

(3)高級語言與具體的計算機硬件關係不大,其程序可移植性好,重用率高;

(4)高級語言自動化程度高,開發週期短,利於提高程序的質量。

(P138)

3、列舉程序設計語言的幾種範型。

程序語言大致分為命令式程序設計語言、面向對象的程序設計語言、函數式程序設計語言和邏輯型程序設計語言等範型。

(P138-140)

4、簡述語言虛擬機。

提示:語言虛擬機是某種語言的解釋器。語言虛擬機是建立在硬件和操作系統之上,針對不同的硬件和操作系統有不同的虛擬機,通過語言虛擬機屏蔽掉硬件的差異。這樣使得硬件系統能夠支持這種語言編寫的程序的有效執行。目前最流行的語言虛擬機是Java虛擬機。 (P147)

5、計算機執行用高級語言編寫的程序有哪些途徑?它們之間的主要區別是什麼? 提示:主要有編譯、解釋等方式,也有兩種方式的混合使用的形式。

編譯是使用編譯器將高級語言編寫的源程序轉換成計算機可以執行的機器語言可執行程序,也可以理解為用編譯器產生可執行程序的動作。編譯方式是一次編譯,然後執行程序可以反覆多次執行。

解釋是另一種將高級語言轉換為可執行程序的方式。與編譯不同,解釋性語言的程序不需要編譯,省了道工序,解釋性語言在運行程序的時候才翻譯,每個語句都是執行的時候才翻譯。這樣解釋性語言每執行一次就要翻譯一次,效率比較低。

近來隨着網絡的發展,為了實現跨平台但同時又保證一定的效率,出現了編譯、解釋混合的方式,先用偽編譯形成效率較高中間代碼,再用語言虛擬機進行解釋執行,以屏蔽掉硬件的差異。

(P144-147)

6、試分析對象和類的關係。

對象:對象是人們要進行研究的任何事物,它具有狀態和操作。面嚮對象語言把狀態和操作封裝於對象實體之中,並提供一種訪問機制,使對象的“私有數據”僅能由這個對象的操作來訪問。用户只能通過向允許公開的操作提出要求(或發送消息),才能查詢和修改對象的狀態。這樣,對象狀態的具體表示和操作的具體實現都被隱藏起來了。

類:類是面嚮對象語言必須提供的由用户定義的數據類型,它將具有相同狀態、操作和訪問機制的多個對象抽象成一個對象類。在定義了類以後,屬於這種類的一個對象稱為類實例或類對象。類代表一般,而該類的`一個對象代表具體。

(P139)

7、什麼是IDE?

IDE集成開發環境的簡稱(Integrated Develop Environment)是一套用於程序開發的軟件工具集合,一般包括源代碼編輯器、編譯器、調試器和圖形用户界面工具。(P160)

8、簡述程序設計語言的基本構成元素。

程序設計語言的語法元素主要有:字符集、表達式、語句、標識符、關鍵字和保留字、註釋等組成。

(P140-P141)

9、簡述標識符的概念。

標識符是程序設計時設計人員用來命名事物的符號。

(P151)

10、説明將源程序轉化為計算機能夠識別的指令的過程。

提示:該轉化過程即為編譯的基本過程,包括詞法分析;語法分析;中間代碼生成;代碼優化;目標代碼生成等五個階段,各階段有具體的任務。

(P144-145)

(2) 練習題

1、____________語言的書寫方式接近於人們的思維習慣,使程序更易閲讀和理解。 高級語言 (P149)

2、程序語言中的控制成分包括順序結構、__________和重複結構。

選擇結構 (P155)

3、在基於繼電器的計算機器時代,所謂“程序設計”實際上就是設置__________開關,所以通常的情況是“設置程序”的時間比計算時間長。

繼電器 (P145)

4、自然語言的基本特徵包括_________和_____________________。

歧義性、不夠嚴格和不夠統一的語法結構 (P146)

5、面向對象最基本的概念包括___________、___________和___________。

對象、類、繼承 (P139)

6、函數與過程最明顯的區別在於_________________。

{ 過程本身不返回值,而函數本身返回值 }(P144)

7、通常按照程序運行時數據的_____能否改變,將數據分為常量和變量。

{ 值 } (P142)

8、程序語言的控制成分包括___________、___________、___________等三種。 {順序結構、分支結構、循環結構}(P143)

9、__________是將源程序轉換為一種中間類型的代碼,通常其生成的是非常接近機器語言的二進制代碼。

偽編譯 (P147)

10、集成開發環境(IDE)是一套用於程序開發的軟件工具集合,一般包括___________、___________、___________和___________等工具。

{ 源代碼編輯器、編譯器、調試器和圖形用户界面 } (P148)

11、用運算符號按一定的規則連接起來的、有意義的式子稱為__________。

表達式 (P141)

12、保留字也叫___________,指在語言中已經定義過的字,使用者不能再將這些字來命名其他事物。

關鍵字 (P140)

13、操作符是用來代表運算操作的符號,每個操作符表示一種運算操作。通常語言中具備___________、___________、___________和___________等等幾類。

賦值操作符、算術操作符、比較操作符、邏輯操作符、位操作符 (P140)

14、類是面嚮對象語言必須提供的由用户定義的數據類型,它是將具有相同___________、___________、___________的多個對象抽象而成的。

狀態、操作和訪問機制 (P139)

15、科學的語言基本上是___________性、___________性而非評論性的。

描述性、斷定性 (P147)

16、 子程序 (P143)

17、形式語言是進行形式化工作的元語言,它是以________和________為基礎的科學語言。 數學和數理邏輯 (P136)

18、匈牙利命名法的基本原則是:標識符=____________+____________+____________。 屬性 類型 對象描述 (P140)

19、程序語言的分類沒有統一的標準,根據程序設計的方法將程序語言大致分為____________、____________、____________和____________設計語言等類型。

命令式程序設計語言、面向對象的程序設計語言、函數式程序設計語言和邏輯型程序設計語言 (P149)

20、邏輯型語言是一類以___________為基礎的語言,其代表是Prolog語言,這種語言與數據庫SQL語言有很多相似之處。

形式邏輯 (P139)

21、____________的選擇是語言設計的第一件事。

字符集 (P140)

22、結構化程序設計主要強調的是______。

A、程序的規模 B、程序的易讀性 C、程序的執行效率

B (P138) D、程序的可移植性

23、程序設計語言從機器語言發展到高級語言有好處很多,下列描述中不正確的是_____。

A、高級語言技術先進,運行更快

B、可讀性好,可維護性強,可靠性高

C、設計的程序可移植性好,重用率高

D、高級語言程序設計自動化程度高,開發週期短

A (P138)

24、下面是關於解釋程序和編譯程序的論述,其中正確的一條是__________

A、編譯程序和解釋程序均能產生目標程序

B、編譯程序和解釋程序均不能產生目標程序

C、編譯程序能產生目標程序而解釋程序則不能

D、編譯程序不能產生目標程序而解釋程序能

A (P156)

25、近來計算機報刊中常出現的“Java ”一詞是指_________。

A、一種計算機語言 B、一種計算機設備

C、一個計算機廠商雲集的地方 D、一種新的數據庫軟件

A (P146)

26、採用編譯方法的高級語言源程序在編譯後_________。

A、生成目標程序 B、生成可在DOS下直接運行的目標程序

C、生成可執行程序

C (P156)

D、生成可在DOS下直接運行的可執行程序

27、用高級程序設計語言編寫的程序,要轉換成等價的可執行程序,必須經過____。

A、彙編

D (P156) B、編輯 C、解釋 D、編譯和連接

28、計算機硬件能直接執行的只有____。

A、符號語言B、機器語言 C、機器語言和彙編語言 D、彙編語言

B (P147)

29、只有當程序要執行時,它才會將原程序翻譯成機器語言,並且一次只能讀取、翻譯並執行原程序中的一行語句,此程序稱為____。

A、目標程序; B、編輯程序; C、解釋程序; D、彙編程序。

C ( P158)

30、下列哪些元素不能用於標識符名稱:

A、字母

C (P142) B、數字 C、空格 D、下劃線

31、如果一個變量在整個程序運行期間都存在,但是僅在説明它的函數內是可見的,這個變量的存儲類型應該被説明為____。

A、靜態變量 B、動態變量

D (P154)

32、判斷題

(1)彙編語言語句與特定的機器指令有一一對應的關係 ( )

(2)支撐機器語言的理論基礎是馮諾依曼模型 ( )

(3)形式化語言是人工語言符號系統發展的第三階段 ( ) {(1)對,(2)錯,(3)錯}

33、簡述匈牙利命名法。

匈牙利命名法。其基本原則是:標識符=屬性+類型+對象描述,其中每一對象的名稱都要求有明確含義,可以取對象名字全稱或名字的一部分。命名要基於容易記憶容易理解的原則。(P152)

34、試比較“while型”循環結構和“do-while型”循環結構。

“while型”循環結構的邏輯含義是先判斷條件,若成立,則執行需要重複的程序塊,然後再去判斷重複條件, 以決定是否繼續循環。“do-while型”循環結構的邏輯含義是先執行需要重複的循環體,然後計算關係表達式,以決定是否繼續循環。也就是説使用“while型”循環結構可能不進行入循環,循環體一次也不執行;而“do-while型”循環結構至少要執行一次循環體。

(P155)

C、外部變量 D、內部變量

  • 文章版權屬於文章作者所有,轉載請註明 https://xuewengu.com/flhy/gongcheng/2m0vye.html