糯米文學吧

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

2017年9月計算機二級公共基礎知識模擬試題

通過試題練習能夠幫助考生們更好地備考,可以更好的掌握知識點。下面是小編分享的2017年9月計算機二級公共基礎知識模擬試題,歡迎大家練習!

2017年9月計算機二級公共基礎知識模擬試題

A. 查詢方法

B. 加工方法

C. 解題方案准確而完整的描述

D. 排序方法

[答案]C

[考點]數據結構與算法

[評析]

A、B、D都過於片面,此題直接選答案也很簡單。

(2) 棧和隊列的共同點是______。

A. 都是先進後出

B. 都是先進先出

C. 只允許在端點處插入和刪除元素

D. 沒有共同點

[答案]C

[考點]數據結構與算法

[評析]

棧是先進後出的,隊列是先進先出的,共同點是隻允許在端點處插入和刪除元素。棧都是在一端進與出,而隊列是在一端進在另一端出。

(3) 已知二叉樹後序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。

A. cedba

B. acbed

C. decab

D. deabc

[答案]A

[考點]數據結構與算法

[評析]

後序又叫後根,一次遞歸過程是先左再右最後根;中序是先左再根最後右。

比如下圖:

前序是:abc

中序是:bac

後序是:bca

題中據後序遍歷序列,一眼得知c結點是根,那麼據中序deba結點都在一邊,或都在根結點左邊,或右邊;據中序遍歷序列得知全在根結點的左邊。

接下來據後序得出e結點是緊挨着c結點的左子女,再據中序得知d是e的左子女,ba是右子樹。

再據後序得b是e的右子女,再據中序得a是b的右子女。

分析結果得二叉樹圖示如下:

因為我茂葉數據結構是自學的,分析此類型的題我都是用自己的方法(遞歸分析的方法),要邊分析邊畫圖,一步一步連結起來,最後再根據題中的遍歷檢查圖是否畫對,如果都符合題目,最後再可根據圖來得所求的遍歷。

再次聲明,此所有二級公基題全是我一人的思路寫的,如果你覺得不可靠,可以看其它的書。

(4) 在下列幾種排序方法中,要求內存量最大的是______。

A. 插入排序

B. 選擇排序

C. 快速排序

D. 歸併排序

[答案]D

[考點]數據結構與算法

[分析]

我們對比一個排序方法的優越性有"平均時間"、"最壞情況時間"和"輔助空間"。其中輔助空間一般是排序中需要額外的內存開銷,這些內存開銷一般據一些如中間變量(暫存變量)、比較與交換等等來決定。

插入排序和選擇排序的輔助空間都是o(1),快速排序是o(nlog2n),歸併排序是o(n)。

可知歸併排序要求內存量最大,我們也可以從其變量及循環個數也以看出歸併排序要求內存量最大。

(5) 在設計程序時,應採納的原則之一是______。

A. 程序結構應有助於讀者理解

B. 不限制goto語句的使用

C. 減少或取消註解行

D. 程序越短越好

[答案]A

[考點]程序設計基礎

[評析]

前面的題中已解釋過,二級的各種程序設計語言教程都會對結構化程序設有一定的介紹,比如goto語句的限制使用,基本上每本書上都會提到。

其中A,即易讀性比程序的效率更顯得重要,這是結構化程序設計原則提倡的,也是我們進行開發時非常重要的一點。

(6) 下列不屬於軟件調試技術的是______。

A. 強行排錯法

B. 集成測試法

C. 回溯法

D. 原因排除法

[答案]B

[考點]軟件工程基礎

[評析]

我們嚴格區分調試與測試,調試是已知有錯誤而來找錯誤,是被動的;測試有很多種,比如未發現錯誤但不能保證程序沒錯而來找BUG,還比如我們運行測試程序是否符合用户的要求,是主動的。不用説答案就是B了 :)

A、C、D都是具體的程序調試方法,而B是宏觀的程序測試方法。

測試有單元測試、集成測試、確認測試、系統測試。比如我們在進行單元測試時,發現程序有錯誤,我們再可以根據A、C、D的方法來找錯誤。

題外話:

很多人學軟件工程時認為軟件工程太無聊了,似乎全部都是些背背記記的東西,但對於一個軟件構架師,軟件工程是非常重要的,這就不能是些背背的東西了,最重要的是理解,要徹底地理解,還得有些開發經驗才行。《軟件工程》這學科是從實踐中得出來的,同樣也需要賦予給實踐中去,這樣才有用!

(7) 下列敍述中,不屬於軟件需求規格説明書的作用的是______。

A. 便於用户、開發人員進行理解和交流

B. 反映出用户問題的結構,可以作為軟件開發工作的基礎和依據

C. 作為確認測試和驗收的依據

D. 便於開發人員進行需求分析

[答案]D

[考點]軟件工程基礎

[評析]

A、B、C都是作用,D説法有一定的錯誤,開發人員包括很多,比如程序員的工作就不是進行需求分析。

(8) 在數據流圖(DFD)中,帶有名字的箭頭表示______。

A. 控制程序的執行順序

B. 模塊之間的.調用關係

C. 數據的流向

D. 程序的組成成分

[答案]C

[考點]軟件工程基礎

[評析]

顧名思義,數據流圖就是帶有方框(外部實體)、圓圈(變換/加工)和帶有名字的箭頭以表示數據的流向。需求分析中常用的分析圖,它遠離計算機上的具體實現,軟件人員和用户都能看懂,有益於和用户交流。

(9) SQL語言又稱為______。

A. 結構化定義語言

B. 結構化控制語言

C. 結構化查詢語言

D. 結構化操縱語言

[答案]C

[考點]數據庫設計基礎

[評析]

學VF和ACCESS的朋友輕而易舉選出答案,考其它的朋友們若沒學數據庫技術這一章節,則要記一下了。

Structured Query Language

結構化 查詢 語言(語句)

(10) 視圖設計一般有3種設計次序,下列不屬於視圖設計的是______。

A. 自頂向下

B. 由外向內

C. 由內向外

D. 自底向上

[答案]B

[考點]數據庫設計基礎

[評析]

通常有如下幾種方法:

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

2、自底向上。先局部概念結構,再集成為全局結構

3、由裏向外。先核心結構,再向外擴張

4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構 (11) 數據結構中,與所使用的計算機無關的是數據的______。

A. 存儲結構

B. 物理結構

C. 邏輯結構

D. 物理和存儲結構

[答案]C

[考點]數據結構與算法

[評析]

通過前面的一些題的解釋,相信此題對大家也很簡單了。

邏輯結構更接近人的思想,比如棧的先進後出的結構,這是邏輯結構,如果研究到了棧在內存中的結構,如地址、地址裏的內容等等,這就是物理結構了,我們一般無須過於深入底層地鑽研。

(12) 棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是______。

A. ABCED

B. DBCEA

C. CDABE

D. DCBEA

[答案]D

[考點]數據結構與算法

[評析]

棧是先進後出的,因為在E放入前,A、B、C、D已經依次放進棧裏了,故這四個元素出棧的順序只能是D、C、B、A,E可是其中排序的任何位置,答案只有D符合了。

(13) 線性表的順序存儲結構和線性表的鏈式存儲結構分別是______。

A. 順序存取的存儲結構、順序存取的存儲結構

B. 隨機存取的存儲結構、順序存取的存儲結構

C. 隨機存取的存儲結構、隨機存取的存儲結構

D. 任意存取的存儲結構、任意存取的存儲結構

[答案]B

[考點]數據結構與算法

[評析]

順序存儲結構可以以數組為例子,它在內存中的一片連續的儲存空間,從第一個元素到最後一個元素,只要根據下標就可以訪問。二級的各種程序設計語言都有。

鏈式存儲結構可以以C/C++語言中的鏈表為例,各個鏈結點無須存放在一片連續的內存空間,而只需要指針變量指過來指過去,實現隨機存取。

(14) 在單鏈表中,增加頭結點的目的是______。

A. 方便運算的實現

B. 使單鏈表至少有一個結點

C. 標識表結點中首結點的位置

D. 説明單鏈表是線性表的鏈式存儲實現

[答案]A

[考點]數據結構與算法 考試大(www.Examda。com)

[評析]

舉個例子,假如我們寫一個實現鏈表刪除一個元素的函數(或過程),供共享用,函數的參數有2個,一個指針變量(指向鏈表的頭結點),一個字符變量(待刪除的元素)。通過鏈表頭結點的指針傳給函數的第一個指針變量參數,就可方便實現是哪一個鏈表的操作。

如果你考的科目沒有指針,此題答案記一下就行了。

(15) 軟件設計包括軟件的結構、數據接口和過程設計,其中軟件的過程設計是指______。

A. 模塊間的關係

B. 系統結構部件轉換成軟件的過程描述

C. 軟件層次結構

D. 軟件開發過程

[答案]B

[考點]軟件工程基礎

[評析]

相當於詳細設計,比如N-S圖就是一種,它不用具體的某種語言實現,但描述了程序的思路,有了這就可以很輕鬆轉換為某種語言的程序源代碼。這是一種系統結構部件轉換成軟件的過程描述。

(16) 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為______。

A. PAD圖

B. N-S圖

C. 結構圖

D. 數據流圖

[答案]B

[考點]軟件工程基礎

[評析]

二級科目的很多教程都在前N-S圖的例子,比如C語言教程基本上都有,程序流程圖大部分科目也有例子。這裏再舉個例子。

比如:

如果2等於3,則變量a=1,否則a=0。

我們用N-S圖表示:

轉換成VB:

If 2=3 Then

a=1

else

a=0

End If

轉換成C/C++/JAVA:

if(2==3)

a=1;

else

a=0;

(17) 數據處理的最小單位是______。

A. 數據

B. 數據元素

C. 數據項

D. 數據結構

[答案]C

[考點]數據結構與算法

[評析]

此題比較弱智,本來無從解釋。

"數據"過於宏觀,比如數據庫裏的所有內容都可叫數據,它是不是數據處理的最小單位呢?

"數據元素"中的"元素",如果要死鑽牛角尖,的確沒"數據項"説得更合適。

"數據結構",這個範圍又過於大了。

(18) 下列有關數據庫的描述,正確的是______。

A. 數據庫是一個DBF文件

B. 數據庫是一個關係

C. 數據庫是一個結構化的數據集合

D. 數據庫是一組文件

[答案]C

[考點]數據庫設計基礎

[評析]

A錯,比如ACCESS數據庫的文件是mdb格式的。

B錯,數據庫裏可能有很多個二維表,一個二維表就是一個關係。

D錯,雖有些數據庫底層是些文件組成的,但是從邏輯結構上來説它與文件完全是2個概念,數據庫管理比文件管理更容易、效率更高、安全性更強。

(19) 單個用户使用的數據視圖的描述稱為______。

A. 外模式

B. 概念模式

C. 內模式

D. 存儲模式

[答案]A

[考點]數據庫設計基礎

[評析]

外模式、模式(概念模式)、內模式(存儲模式),分別是視圖級、概念級、物理級。視圖級即是用户使用的數據視圖級,主要為局部邏輯結構,因為模式上很多個外模式,外模式到模式的映射定義了局部數據邏輯結構與全局邏輯結構之間的對應關係,表現了數據的邏輯獨立性。模式到內模式則表現了數據物理獨立性。

(20) 需求分析階段的任務是確定______。

A. 軟件開發方法

B. 軟件開發工具

C. 軟件開發費用

D. 軟件系統功能

[答案]D

[考點]軟件工程基礎

[評析]

據前面的題的解釋,相信大家對需求分析有個理性認識了。

分析員對用户的要求作出分析,並畫出數據流程圖,該圖通俗易懂,不涉及到如何在計算機上實現,這是需求分析階段,用户也參與,確定軟件系統功能是一個重要的任務。