當前位置:才華齋>計算機>計算機二級>

計算機二級公共基礎知識模擬試題及答案

計算機二級 閱讀(2.88W)

以下是應屆畢業生考試網小編搜尋整理的2017年計算機二級公共基礎知識模擬試題及答案,更多計算機二級考試內容請繼續關注應屆畢業生考試網。

計算機二級公共基礎知識模擬試題及答案

(1) 演算法一般都可以用哪幾種控制結構組合而成______。

A. 迴圈、分支、遞迴

B. 順序、迴圈、巢狀

C. 迴圈、遞迴、選擇

D. 順序、選擇、迴圈

[答案]D

[考點]資料結構與演算法

[評析]

結構化程式設計中,基本的控制結構為順序、選擇、迴圈。各種具體的程式設計語言中的一些控制結構都可以劃分到這些類中。比如VB裡的Select Case語句、 If,C/C++中的switch()、if{}……都屬於選擇控制結構。相應的for迴圈和while語句都屬於迴圈結構。按從上到下順序執行的即是順序控制結構。

(2) 資料的儲存結構是指______。

A. 資料所佔的儲存空間量

B. 資料的邏輯結構在計算機中的表示

C. 資料在計算機中的順序儲存方式

D. 儲存在外存中的資料

[答案]B

[考點]資料結構與演算法

[評析]

這是個基本概念題。儲存空間量只是資料的儲存結構的一個屬性,答案C也太片面,比如連結串列也是種儲存方式,而非線性的還有樹、圖……我們所學的資料結構不涉及到資料在計算機外存(比如硬碟、軟盤)具體的方式,而僅關心它們在記憶體中邏輯結構,比如陣列,它是記憶體中一片連續的資料儲存,我們對每一個元素都可以順序地訪問,只需要知道某一個元素的地址,其它資料元素的地址可以據庫下標與陣列型別(如字元型、整型……)所佔的儲存空間就可算出每個元素的地址,故順序訪問所有元素。但是對於具體資料在記憶體中的物理儲存,我們很少關心。比如某個陣列建立時,它的首地址具體是多少?它們在記憶體中的二進位制表示是什麼的?

另,什麼叫物理結構,什麼叫邏輯結構,可以這樣來理解,就好比物理結構是一個人的肉體,邏輯結構是一個人的靈魂,類似於計算機中硬體與軟體的說法。就好比我們上QQ,傳送訊息、接收訊息,基本上近似大眾人的思維,但傳送訊息與接收訊息這些的具體技術過程或它們在CPU和硬碟上的活動,甚至二進位制是什麼呢?去問騰訊公司

(3) 設有下列二叉樹:

對此二叉樹中序遍歷的結果為______。

A. ABCDEF

B. DBEAFC

C. ABDECF

D. DEBFCA

[答案]B

[考點]資料結構與演算法

[評析]

該題原稿沒圖,故無從解釋,此知識點的詳解部分請看5題

(4) 在面向物件方法中,一個物件請求另一物件為其服務的方式是通過傳送______。

A. 呼叫語句

B. 命令

C. 口令

D. 訊息

[答案]D

[考點]程式設計基礎

[評析]

通過訊息機制。太理論方面的不多說,現舉例說明。

C++:

比如在VC++中,單擊了一個選單命令項"退出",我們要實現退出程式,如何來實現?很簡單,只要向窗體傳送一個PostQuitMessage(0);就可以關閉窗體。

這個在VB中還簡單,三個字元"End"即可解決,相當於向所有窗體傳送一個銷燬窗體的訊息,即"Unload 窗體名"語句。(如果是單個窗體的話,即相當於Unload Me語句)

VB:

Public a As Integer

Private Sub Command1_Click()

a = 20

Print a

End Sub

Private Sub Command2_Click()

Form_Load ''''''''''''''這裡呼叫Form_Load()過程,實用a=10

Print a

End Sub

Private Sub Form_Load()

a = 10

End Sub

命令按紐Command2向其母窗體傳送一個訊息,使其為Command2服務。

Command2是CommandButton類的一個物件,主窗體是窗體類的一個物件。

關於類與物件的理解,請大家看前面的題的詳解。

(5) 檢查軟體產品是否符合需求定義的過程稱為______。

A. 確認測試

B. 整合測試

C. 驗證測試

D. 驗收測試

[答案]A

[考點]軟體工程基礎

[評析]

A、C、D相近,但A為比較正規的說法名詞。

確認測試也稱合格測試或驗收測試,主要由使用者參加,檢驗軟體規格說明的技術標準的符合程度,是保證軟體質量的最後關鍵環節。

單元測試主要採用白盒法,之後再採用整合測試,主要採用黑盒法。這些主要由開發者的工作,而無使用者參與,不是檢查是否符合需求定義的。

什麼叫白盒黑盒?

相當於這樣理解吧:

白盒測試,我們要注意到程式碼;黑盒,我們只關心程式執行的輸入輸出是否正確,一般是大量的測試,主要於非增量測試中使用,而非增量測試又一般適用於規模較小的系統開發。可以想象,一個很大很複雜的系統,我們用黑盒法來整合測試,效果可想而知。

(6) 下列工具中屬於需求分析常用工具的是______。

A. PAD

B. PFD

C. N-S

D. DFD

[答案]D

[考點]軟體工程基礎

[評析]

PAD,問題分析圖,常用於詳細設計;

PFD,程式流程圖,常用於詳細設計,我們很多如C、VB…程式設計書上都有簡單的例項;

N-S,方框圖,比程式流程圖更靈活,也常用於詳細設計;

DFD,資料流圖,遠離具體在計算機上的實現,不懂計算機的使用者也能看懂,用於需求分析。

什麼叫詳細設計?它與我們程式設計有什麼區別?

這樣理解吧,公司的高階程式設計師,就是軟體設計師,他們會搞詳細設計的(在概要設計之後),比如用PAD或N-S畫個圖,它不涉及具體的某種程式設計語言的實現,但程式設計師們都能看懂,程式設計師再用某種語言(比如C、VB、JAVA…)按照圖來寫程式碼。這個過程,高階程式設計師完成設計工作,程式設計師完成寫程式碼工作。

(7) 下面不屬於軟體設計原則的是______。

A. 抽象

B. 模組化

C. 自底向上

D. 資訊隱蔽

[答案]C

[考點]軟體工程基礎

[評析]

我們無論是設計與編寫程式碼,無論是畫資料流圖還是程式流圖,習憒性思維都是先有輸入才有輸出,從下至下。自底向上不是軟體設計的原則。

(8) 索引屬於______。

A. 模式

B. 內模式

C. 外模式

D. 概念模式

[答案]B

[考點]資料庫設計基礎

[評析]

要特別記住此題的答案。

索引的寫入修改了資料庫的物理結構,而不是簡單的邏輯設計。內模式規定了資料在儲存介質上的`物理組織方式、記錄錄址方式。

(9) 在關係資料庫中,用來表示實體之間聯絡的是______。

A. 樹結構

B. 網結構

C. 線性表

D. 二維表

[答案]D

[考點]資料庫設計基礎

[評析]

關係資料庫中的關係,用二維表表示,A為層次資料模型的,B為網狀資料模型的。

資料庫模型分為:

層次模型、網狀模型、關係模型、面向物件模型。

(10) 將E-R圖轉換到關係模式時,實體與聯絡都可以表示成______。

A. 屬性

B. 關係

C. 鍵

D. 域

[答案]B

[考點]資料庫設計基礎

[評析]

基本概念題,實體與聯絡可以表示成關係,關係可以表示成二維表。

(11) 在下列選項中,哪個不是一個演算法一般應該具有的基本特徵______。

A. 確定性

B. 可行性

C. 無窮性

D. 擁有足夠的情報

[答案]C

[考點]程式設計基礎

[評析]

演算法具有確定性、可行性,並擁有足夠的情報。

(12) 希爾排序法屬於哪一種型別的排序法______。

A. 交換類排序法

B. 插入類排序法

C. 選擇類排序法

D. 建堆排序法

[答案]B

[考點]資料結構與演算法

[評析]

Shell排序法 輸入:陣列名稱(也就是陣列首地址)、陣列中元素個數

思想為:在直接插入排序演算法中,每次插入一個數,使有序序列只增加1個節點,

並且對插入下一個數沒有提供任何幫助。如果比較相隔較遠距離(稱為

增量)的數,使得數移動時能跨過多個元素,則進行一次比較就可能消除

多個元素交換。l於1959年在以他名字命名的排序演算法中實現

了這一思想。演算法先將要排序的一組數按某個增量d分成若干組,每組中

記錄的下標相差d.對每組中全部元素進行排序,然後再用一個較小的增量

對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數被分成

一組,排序完成。

下面的函式是一個希爾排序演算法的一個實現,初次取序列的一半為增量,

以後每次減半,直到增量為1。以C語言為例。

void shell_sort(int *x, int n)

{

int h, j, k, t;

for (h=n/2; h>0; h=h/2) /*控制增量*/

{

for (j=h; j  {

t = *(x+j);

for (k=j-h; (k>=0 && t<*(x+k)); k-=h)

{

*(x+k+h) = *(x+k);

}

*(x+k+h) = t;

}

}

}

故屬於插入類排序法。

(13) 下列關於佇列的敘述中正確的是______。

A. 在佇列中只能插入資料

B. 在佇列中只能刪除資料

C. 佇列是先進先出的線性表

D. 佇列是先進後出的線性表

[答案]C

[考點]資料構與演算法

[評析]

佇列是先進先出的,棧是先進後出的,2者的區別一定要搞清楚。

(14) 對長度為N的線性表進行順序查詢,在最壞情況下所需要的比較次數為______。

A. N+1

B. N

C. (N+1)/2

D. N/2

[答案]B

[考點]資料結構與演算法

[評析]

很簡單,我們的二級程式設計語言書中都有此演算法,另外還要掌握二分法查詢,這也是我們二級中常考的。

那麼二分法最壞的情況為多少次呢?

>log2 n的最小整數值。

比如n為1,最壞的情況要比較次;

n為18,最壞的情況要比較5次。

二分法適用於已排序的順序表(我們二級語言中都是陣列),考二級書裡的,這裡不再羅嗦。

(15) 資訊隱蔽的概念與下述哪一種概念直接相關______。

A. 軟體結構定義

B. 模組獨立性

C. 模組型別劃分

D. 模擬耦合度

[答案]B

[考點]軟體工程基礎

[評析]

模組獨立性越強,則資訊隱蔽性越好。

舉個例,

VB:

在多重窗體設計時,每個窗體裡的變數儘量與其它窗體裡變數無關,比如少用Public宣告的變數,即全域性變數,當多個窗體共享全域性變數越多時,窗體的獨立性就越差。

C:

標頭檔案裡的一些函式,一般不用到全域性變數,否則在主程式裡出亂子的情況很多,我們在模組化開發時,儘量使每個模組獨立,強功能內聚,分工明確,除錯程式也要方便得多。

C++:

考此項的朋友估計不用我多講,類的封裝性就是一個很好的說明。

(16) 面向物件的設計方法與傳統的的面向過程的方法有本質不同,它的基本原理是______。

A. 模擬現實世界中不同事物之間的聯絡

B. 強調模擬現實世界中的演算法而不強調概念

C. 使用現實世界的概念抽象地思考問題從而自然地解決問題

D. 鼓勵開發者在軟體開發的絕大部分中都用實際領域的概念去思考

[答案]C

[考點]軟體工程基礎

[評析]

我們舉個例,

從各種語言的結構體型別出發,我們知道,結構體中可以定義很多變數,對每個變數執行相同的操作,挨個挨個寫出,很麻煩。假設該結構體有如下變數:

草魚、田魚、鯽魚……

它們都在一口池塘裡,現在執行:它們都上來

傳統的程式設計是:

草魚上來

田魚上來

鯽魚上來

……

一條一條都寫出,是不是很麻煩?

改進一下,我們用個迴圈:

n等於從1到10(假設共有10種魚)

第n種魚上來

還是很麻煩,現實中我們很易想到用"面向物件的思想",池塘裡所有的魚都是一個結構體變數,名為魚,執行:

魚上來

意思即所有的魚都上來。

現特定於面象物件語言中的類,魚,就可以看作為一類。

這就屬於 C 項:

使用現實世界的概念抽象地思考問題從而自然地解決問題

這樣羅嗦的解釋望大家別暈,旨在幫助部分人的確難想通的,為應試,你能背下答案也行。

(17) 在結構化方法中,軟體功能分解屬於下列軟體開發中的階段是______。

A. 詳細設計

B. 需求分析

C. 總體設計

D. 程式設計除錯

[答案]C

[考點]軟體工程基礎

[評析]

從先到後一排,是:

需求分析、總體設計、詳細設計、程式設計除錯

需求分析遠離在計算機上的實現,談不上功能的分解;

有了需求分析的報告,軟體設計員可以思考我要讓軟體怎麼做,開始總體設計,其間將軟體的功能分解,確定模組之間的介面;

有了每個模組功能的分解,再對每個模組進入詳細設計階段;

接下來再是程式設計師的任務,編寫程式碼,開始程式設計除錯。

(18) 軟體除錯的目的是______。

A. 發現錯誤

B. 改正錯誤

C. 改善軟體的效能

D. 挖掘軟體的潛能

[答案]B

[考點]軟體工程基礎

[評析]

一個程式除錯是為了幹什麼?

還不是為了改正錯誤?

發現錯誤?這只是一個過程,改正錯誤之前必須先發現錯誤,總不能目的就僅為發現錯誤吧。

(19) 按條件f對關係R進行選擇,其關係代數表示式為______。

A. R|X|R

B. R|X|R

C. бf(R)

D. ∏f(R)

[答案]C

[考點]資料庫設計基礎

[評析]

C是選擇一行,D是投影一列,二者要區分開。

如果不僅談此題的話,有關關係代數,內容有些多,這裡不是一兩句能說清,可以看看相關《資料庫》的資料中的關係代數,裡面寫得很詳細。為應試,情急之下能記住幾個題答案就行。

(20) 資料庫概念設計的過程中,檢視設計一般有三種設計次序,以下各項中不對的是______。

A. 自頂向下

B. 由底向上

C. 由內向外

D. 由整體到區域性

[答案]D

[考點]資料庫設計基礎

[評析]

通常有如下幾種方法:

1、自頂向下。先全域性框架,然後逐步細化

2、自底向上。先區域性概念結構,再整合為全域性結構 、由裡向外。先核心結構,再向外擴張

1、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計區域性概念結構