閱讀屋>輔助設計與工程計算> 第六章程式設計語言複習題及答案

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

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

  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、內部變數

【第六章程式設計語言複習題及答案】相關文章: