【面試筆試】程序設計基礎

一.程序設計方法與風格

  1. 在結構化程序設計思想提出之前,在程序設計中曾強調程序的效率。與程序的效率相比,人們更重視程序的( C )。
    A.安全性 B.一致性 C.可理解性 D.合理性

  2. 對建立良好的程序設計風格,下面的描述正確的是(A )
    A.程序應簡單、清晰、可讀性好 B.符號名的命名只要符合語法
    C.充分考慮程序的執行效率 D.程序的註釋可有可無

  3. 在設計程序時.應採納的原則之一是( D)。
    A.不限制GOTO語句的使用
    B.減少或取消註解行
    C.程序越短越好
    D.程序結構應有助於讀者理解

  4. 程序應該簡單易懂,語句構造應該簡單直接,不應該爲提高效率而把語句複雜化。

  5. 源程序文檔化要求程序應加註釋,註釋一般分爲序言性註釋和 功能性註釋 。

  6. 在編寫程序時,需要注意 數據說明 的風格,以便使程序中的數據說明更易理解和維護。

  7. 當程序設計語言對輸入格式有嚴格要求時,應保持輸入格式與輸入語句的一致性
    程序設計語言的基本成分是數據成分、運算成分、控制成分和(傳輸成分)。

二.結構化程序設計

  1. 結構化程序設計方法的主要原則是:自頂向下、逐步求精、模塊化、限制使用goto語句

  2. 結構化程序設計主要強調的是(B)
    A.程序的規模 B.程序的易讀性 C.程序的執行效率 D.程序的可移植性

  3. 結構化程序設計的3種結構是(順序結構、選擇結構、循環結構)。
    結構化程序設計方法是程序設計的先進方法和工具。下面爲三種基本的控制結構:
    順序結構:是一種簡單的程序設計,它是最基本,最常用的結構
    選擇結構:又稱爲分支結構,包括簡單選擇和多分支選擇結構
    重複結構:又稱循環結構,有兩類循環語句:當型循環結構(先判斷後執行循環體)和直到型循環結構(先執行循環體後判斷)
    按結構化程序設計方法設計出的程序具有兩大明顯的優點:(1)程序易於理解、使用和維護。(2)提高了編程工作效率,降低了軟件開發成本。

  4. 結構化程序設計的主要特點是(每個控制結構只有一個入口和一個出口)

  5. 下列敘述中,不屬於結構化程序設計方法的主要原則的是(B)。
    A.自頂向下 B.由底向上 C.模塊化 D.限制使用GOTO語句

在結構化程序設計的具體實施中,要注意如下要素:
使用程序設計語言中的順序、選擇、循環等有限的控制結構表示程序的控制邏輯;選用的控制結構只准許的一個入口和一個出口;程序語句組成容易識別的塊,每塊只有一個入口和一人出口;複雜結構應該用嵌套的基本控制結構進行組合嵌套來實現;語言中所沒有的控制結構,應該採用前後一致的方法來模擬;嚴格控制GOTO語句的使用。其意思有三:1.用一個非結構化的程序設計語言去實現一個結構化的構造;2.如不使用GOTO語句會使功能模糊;3.在某種可以改善而不是損害程序可讀性的情況下。

三.面向對象的程序設計

1. 關於面向對象方法
(1)面向對象的程序設計方法中涉及的對象是系統中用來描述客觀事物的一個 實體
傳統的程序設計方法是面向過程的,其核心方法是以 算法 爲核心。面向對象方法和技術以 對象 爲核心。對象是由 數據 和 容許的操作 組成的封裝體,與客觀實體有直接的對應關係。對象之間通過傳遞 消息 互相聯繫,以模擬現實世界中不同事物彼此之間的聯繫。
面向對象方法基於構造問題領域的對象模型,以對象爲中心構造軟件系統。它的基本作法是用 對象 模擬問題領域中的實體,以 對象間的聯繫 刻畫實體間的聯繫。
軟件重用 是指在不同的軟件開發過程中重複使用相同的或者相似軟件元素的過程。 重用是提高軟件生產率的最主要的方法。
2. 面向對象方法的基本概念(對象、類、消息、繼承、多態性)
(1).面向對象的模型中,最基本的概念是對象和類

(2)類是一個支持集成的抽象數據類型,而對象是類的實例
對象:面向對象的程序設計方法中涉及的對象是系統中用來描述客觀事物的一個實體,是構成系統一個基本單位,它由一組表示靜態特徵的屬性和它可執行的一組操作組成。(是由描述該對象屬性的數據以及可以對這些數據施加的所有操作封裝在一起構成的統一體。)
屬性:是對象所包含的信息,它在設計對象時確定,一般只能通過執行對象的操作來改變。
操作:描述了對象執行的功能,若通過信息傳遞,還可爲其它對象使用。操作過程對外是封閉的,用戶只能看到這一操作實施後的結果,對象的這一特性,即是對象的封裝體。

(3)對象實現了數據和操作的結合,是指對數據和數據的操作進行(封裝)。

(4)封裝是一種(信息屏蔽)技術,封裝的目的是使對象的定義和實現分離。

(5)以下不屬於對象的基本特點的是(C)。
A.分類性 B.多態性 C.繼承性 D.封裝性
對象有如下一些基本特點.即標識惟一性、分類性、多態性、封裝性和模塊獨立性。

(6)下面關於對象的描述錯誤的是(A)
A.任何對象都必須有繼承性
B.對象是屬性和方法的封裝體
C.對象間的通迅靠消息傳遞
D.操作是對象的動態屬性

(7)信息隱蔽的概念與下述哪能一種概念直接相關(模塊獨立性)

(8)可以把具有相同屬性的一些不同對象歸類,稱爲 對象類 。
類:是具有其同屬性、共同方法的對象的集合。所以,類是對象的抽象,這描述了屬於該對象類型的所有對象的性質,而一個對象則是其對應類的一個實例。類同對象一樣,包括一組數據屬性和在數據上的一組合法操作。 對象可以是一個具體的對象也可以是泛指一般的對象,而實例必然是指一個具體的對象。

(9)在面向對象方法中,一個對象請求另一對象爲其服務的方式是通過發送(消息)
消息:面向對象的世界是通過對象與對象間彼此的相合合作來推動的,對象間這種合作需要一個機制協助進行,這樣的機制稱爲“消息”。消息就是一個實例與另一個實例之間傳遞的信息,它統一了數據流和控制流。一個消息由下述三部分組成:1、接收消息的對象的名稱。 2、消息標識符(即消息名)3、零個或多個參數。

(10)在面向對象方法中,類之間共享屬性和操作的機制稱爲繼承。

(11)一個類可以從直接或間接的祖先中繼承所有屬性和方法。採用此方法提高了軟件的可重用性
繼承:是面向對象方法的一個主要特徵。繼承是使用已有的定義作爲基礎建立新類的定義技術。也就是說繼承是指能夠直接獲得已有的功能和突出的優點,而不必重複定義它們。
繼承具有傳遞性,可分爲單繼承與多重繼承。單繼承是指一個類只允許有一人父類,即類等級爲樹形結構。多重繼承是指一個類允許有多個父類。多態性:對象根據所接受的消息而做出動作,同樣的消息被不同的對象接受時可導致完全不同的行動,這種現象即爲多態性。多態性機制可提高軟件系統的靈活性,可重用性和可擴充性。

(12)子程序通常分爲兩類: 過程 和函數,前者是命令的抽象,後者是爲了求值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章