糯米文學吧

位置:首頁 > 計算機 > 計算機二級

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

以下是應屆畢業生考試網小編搜索整理的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相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構