![國家計算機二級公共基礎真題解析_第1頁](http://file4.renrendoc.com/view/a116525c432f7f6cfc88ca77fd3f0d3a/a116525c432f7f6cfc88ca77fd3f0d3a1.gif)
![國家計算機二級公共基礎真題解析_第2頁](http://file4.renrendoc.com/view/a116525c432f7f6cfc88ca77fd3f0d3a/a116525c432f7f6cfc88ca77fd3f0d3a2.gif)
![國家計算機二級公共基礎真題解析_第3頁](http://file4.renrendoc.com/view/a116525c432f7f6cfc88ca77fd3f0d3a/a116525c432f7f6cfc88ca77fd3f0d3a3.gif)
![國家計算機二級公共基礎真題解析_第4頁](http://file4.renrendoc.com/view/a116525c432f7f6cfc88ca77fd3f0d3a/a116525c432f7f6cfc88ca77fd3f0d3a4.gif)
![國家計算機二級公共基礎真題解析_第5頁](http://file4.renrendoc.com/view/a116525c432f7f6cfc88ca77fd3f0d3a/a116525c432f7f6cfc88ca77fd3f0d3a5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
word文檔可自由復制編輯公共基礎知識120題詳解篇(1)下面敘述正確的是______。
A.算法的執(zhí)行效率與數(shù)據(jù)的存儲結構無關
B.算法的空間復雜度是指算法程序中指令(或語句)的條數(shù)
C.算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D.以上三種描述都不對
(1)
[答案]C
[考點]程序設計基礎
[評析]
時間復雜度:在運行算法時所耗費的時間為f(n)(即n的函數(shù))。
空間復雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
A應為有關。
(2)以下數(shù)據(jù)結構中不屬于線性數(shù)據(jù)結構的是______。
A.隊列
B.線性表
C.二叉樹
D.棧
(2)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
一棵二叉樹的一個結點下面可以有2個子結點,故不是線性結構(通俗地理解,看是否能排成條直線)。
A是先進先出的線性表;B是宏觀概念,包括順序表、鏈表、堆棧、隊列…;D是先進后出的線性表
(3)在一棵二叉樹上第5層的結點數(shù)最多是______。
A.8
B.16
C.32
D.15
(3)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]依次從上到下,可得出:
第1層結點數(shù)為1;
第2層結點數(shù)為2*1=2;
第3層結點數(shù)為2*2=4;
第n層結點數(shù)為2的n-1次冪,如圖所示
(4)下面描述中,符合結構化程序設計風格的是______。
A.使用順序、選擇和重復(循環(huán))三種基本控制結構表示程序的控制邏輯
B.模塊只有一個入口,可以有多個出口
C.注重提高程序的執(zhí)行效率
D.不使用goto語句
(4)
[答案]A
[考點]程序設計基礎
[評析]
B沒這規(guī)定,模塊之間的可以通過多個接口來耦合
C結構化程序設計提倡程序的可讀性(可理解性),超過程序執(zhí)行效率的要求
D結構化程序設計限制goto語句的使用,因為goto語句的功能可以用三種基本的控制結構來代替,但也不是絕對不能用,只是限制使用(少用)。
(5)下面概念中,不屬于面向對象方法的是______。
A.對象
B.繼承
C.類
D.過程調用
(5)
[答案]D
[考點]軟件工程基礎
[評析]
面向對象=對象+類+繼承+通過消息的通信
對象:一組屬性及其上的操作的封裝體
類:一組有相同屬性和操作的對象的集合
繼承:一個類為另一個類上的擴充的方式,子類繼承父類,主要目的是代碼復用
消息:對象間通信的手段
D是結構化程序設計或過程式(函數(shù)式)語言中的,一般的面向對象程序設計語言兼容這種方式,但不是其特征,故最佳選項為D
(6)在結構化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是______。
A.可行性分析
B.需求分析
C.詳細設計
D.程序編碼
(6)
[答案]B
[考點]軟件工程基礎
[評析]
分析員對用戶的要求作出分析,并畫出數(shù)據(jù)流程圖,該圖通俗易懂,不涉及到如何在計算機上實現(xiàn),這是需求分析階段。
軟件工程中的瀑布模型:
問題定義,可行性研究,需求分析,概要設計,詳細設計,編碼,測試,運行和維護
相關鏈點:
層次圖和HIPO圖是概要設計中的工具圖;程序流程圖、N-S圖、問題分析PAD圖、設計程序語言PDL是詳細設計中的工具圖
(7)在軟件開發(fā)中,下面任務不屬于設計階段的是______。
A.數(shù)據(jù)結構設計
B.給出系統(tǒng)模塊結構
C.定義模塊算法
D.定義需求并建立系統(tǒng)模型
(7)
[答案]D
[考點]軟件工程基礎
[評析]
A、B為概要設計中的,C為詳細設計中的,D為分析階段中的
(8)數(shù)據(jù)庫系統(tǒng)的核心是______。
A.數(shù)據(jù)模型
B.數(shù)據(jù)庫管理系統(tǒng)
C.軟件工具
D.數(shù)據(jù)庫
(8)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心,上層與用戶打交道,底層與操作系統(tǒng)接口
注意點:數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)的區(qū)別
前者指的一整套業(yè)務系統(tǒng),包括用戶、應用程序、DBMS及操作系統(tǒng)的支持
(9)下列敘述中正確的是______。
A.數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫設計是指設計數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫技術的根本目標是要解決數(shù)據(jù)共享的問題
D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結構必須與邏輯結構一致
(9)
[答案]C
[考點]數(shù)據(jù)庫設計基礎
[評析]
暈倒,數(shù)據(jù)庫管理系統(tǒng)是人人都可設計的嗎?那SYBASE和ORACLE等不都沒飯吃了?普通人的數(shù)據(jù)庫設計就是在DBMS的支持下設計幾張表格,命幾個名而已;D也錯了的,數(shù)據(jù)庫具有物理獨立性和邏輯獨立性,比如QQ是一個完整的數(shù)據(jù)庫系統(tǒng),我們使用的只是客戶端應用程序,其數(shù)據(jù)庫在騰訊的服務器上,物理獨立性呢指的是數(shù)據(jù)庫的底層結構改變了,而QQ的客戶端不用變,對應地,邏輯獨立性是指QQ的客戶端改變了,數(shù)指據(jù)庫的結構不用變了,否則,這么多QQ版本,那騰訊的服務器不是亂了套?
(10)下列模式中,能夠給出數(shù)據(jù)庫物理存儲結構與物理存取方法的是______。
A.內模式
B.外模式
C.概念模式
D.邏輯模式
(10)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
通過前些題可知道,數(shù)據(jù)庫的物理結構最底層,即對應內模式,對應的模式映像為內模式/模式(概念模式映像),邏輯獨立性則對應于模式/外模式映像
(11)算法的時間復雜度是指______。
A.執(zhí)行算法程序所需要的時間
B.算法程序的長度
C.算法執(zhí)行過程中所需要的基本運算次數(shù)
D.算法程序中的指令條數(shù)
(11)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
算法的復雜度分時間復雜度和空間復雜度。
時間復雜度:在運行算法時所耗費的時間為f(n)(即n的函數(shù))。
空間復雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
稱O(f(n))和O(g(n))為該算法的復雜度。
簡單的例子比如常見的順序結構時間復雜度為O(1),1層循環(huán)里面次數(shù)為n,時間復雜度就是O(n),2層循環(huán)fori=1ton,forj=1ton算法時間復雜度為O(n2)(里面為n的平方),復雜度主要用于算法的效率比較與優(yōu)化,比如排序,查找…
(12)下列敘述中正確的是______。
A.線性表是線性結構
B.棧與隊列是非線性結構
C.線性鏈表是非線性結構
D.二叉樹是線性結構
(12)
[答案]A
[考點]數(shù)據(jù)結構與算法
[評析]
一棵二叉樹的一個結點下面可以有2個子結點,故不是線性結構(通俗地理解,看是否能排成條直線)。
此題與(2)題類似
(13)設一棵完全二叉樹共有699個結點,則在該二叉樹中的葉子結點數(shù)為______。
A.349
B.350
C.255
D.351
(13)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
完全二叉樹:若二叉樹中最多只有最下面兩層的結點的度可以小于2,并且最下面一層的結點(葉結點)都依次排列在該層最左邊的位置上,這樣的二叉樹為完全二叉樹。
比如圖:
完全二叉樹除葉結點層外的所有結點數(shù)(葉結點層以上所有結點數(shù))為奇數(shù),此題中,699是奇數(shù),葉結點層以上的所有結點數(shù)為保證是奇數(shù),則葉結點數(shù)必是偶數(shù),這樣我們可以立即選出答案為B!
如果完全二叉樹的葉結點都排滿了,則是滿二叉樹,易得滿二叉樹的葉結點數(shù)是其以上所有層結點數(shù)+1比如圖:
此題的其實是一棵滿二叉樹,我們根據(jù)以上性質,699+1=700,700/2=350,即葉結點數(shù)為350,葉結點層以上所有結點數(shù)為350-1=349。
(14)結構化程序設計主要強調的是______。
A.程序的規(guī)模
B.程序的易讀性
C.程序的執(zhí)行效率
D.程序的可移植性
(14)
[答案]B
[考點]程序設計基礎
[評析]
又是結構化的問題,何謂結構化?
簡單地比如:
VB:If...EndIf
C:if..{...}
Pascle:Begin...End
我們在"結構"的中間寫代碼,從哪執(zhí)行到哪結束我們能很快抓??!
此題中重要性為:B>C>D
(15)在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是______。
A.概要設計
B.詳細設計
C.可行性分析
D.需求分析
(15)
[答案]D
[考點]軟件工程基礎
[評析]
題中所述為需求分析
可行性研究包括經(jīng)濟可行性、技術可行性、操作可行性,即以最小的代價確定系統(tǒng)的規(guī)模是否現(xiàn)實
概要設計的任務是確定軟件的總體結構、子結構和模塊的劃分
詳細設計的任務是確定每一模塊的實現(xiàn)細節(jié),包括數(shù)據(jù)結構、算法和接口
也許有人這么久了還不知道什么叫系統(tǒng),什么叫模塊。
暈倒,這里羅嗦一下,軟件工程中的系統(tǒng)指的整個軟件系統(tǒng),比如QQ的所有東西,我們用的是客戶端程序,實際的東西放在騰訊公司的服務器上,主要是數(shù)據(jù)庫,包括在中間的傳輸過程,這一整個相關的東東都叫做OICQ的系統(tǒng);什么叫模塊,這里不單指如VB里的"標準模塊"、"類模塊",也不單指一個窗體或者一個文件,宏觀上講,軟件工程中把一種功能或相關功能把它做成一個模塊,這個模塊有可能是一個過程,有可能是一個函數(shù)…從功能角度度量模塊內的聯(lián)系為模塊的內聚(一般來說越強越好,不易出錯);模塊之間的聯(lián)系為耦合,比如我們編程中常用把一實參的值賦給了函數(shù)中的形參,使函數(shù)完成某一功能,耦合度越低越好,獨立性就強;
何謂獨立性?比如我們二級編程都有考到全局變量、局部變量,函數(shù)中的局部變量獨立性很強,函數(shù)外無法訪問…
何謂變量?暈~~~~~~~如果這都要說,那你可以不用考二級了。
(16)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流
B.加工
C.數(shù)據(jù)存儲
D.源和潭
(16)
[答案]A
[考點]軟件工程基礎
[評析]
數(shù)據(jù)流圖用于需求分析階段,在此階段我們只考慮大致的數(shù)據(jù)流流向,而不關心內部具體的處理,以及如何在計算機上實現(xiàn),不必討論控制流,我們只關心的:數(shù)據(jù)流、數(shù)據(jù)儲存、變換/加工(相當于一個黑盒,不關心內部細節(jié))、外部實體,數(shù)據(jù)流圖通俗易懂,因為它遠離了計算機,用戶(無需懂編程)和軟件人員都易接受。
比如一個簡單的軟件系統(tǒng)邏輯模型:
輸入流和輸出流即D中的源和潭。
(17)軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及______。
A.階段性報告
B.需求評審
C.總結
D.都不正確
(17)
[答案]B
[考點]軟件工程基礎
[評析]
評審(復審)每階段都有,把前三個方面說完了,還剩什么呢?
此題需要記一下,至于各名詞的解釋,顧名即可思義。
(18)下述關于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是______。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
(18)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
關于數(shù)據(jù)管理技術的三個階段如下:
1.人工管理階段
人工管理數(shù)據(jù)的特點是:
(1)數(shù)據(jù)不保存。
(2)數(shù)據(jù)無專門軟件進行管理。
(3)數(shù)據(jù)不共享。
(4)數(shù)據(jù)不具有獨立性。
2.文件系統(tǒng)階段
該階段的數(shù)據(jù)管理具有如下特點:
(1)數(shù)據(jù)可以長期保存。
(2)由文件系統(tǒng)管理數(shù)據(jù)。文件系統(tǒng)管理數(shù)據(jù)存在如下缺點:
(1)數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大。
(2)數(shù)據(jù)獨立性差。
3.數(shù)據(jù)庫系統(tǒng)階段
與人工管理和文件系統(tǒng)階段相比較,數(shù)據(jù)庫系統(tǒng)階段具有如下的特點:
(1)數(shù)據(jù)結構化
(2)數(shù)據(jù)共享性高、冗余度小、易擴充
(3)數(shù)據(jù)獨立性高
(4)統(tǒng)一的數(shù)據(jù)管理和控制數(shù)據(jù)庫管理系統(tǒng)必須提供以下幾個方面的數(shù)據(jù)控制和保護功能:
(1)數(shù)據(jù)的安全性(security)保護。
(2)數(shù)據(jù)的完整性(integrity)控制。
(3)數(shù)據(jù)庫恢復(recovery)。
(4)并發(fā)(concurrency)控制。
(5)事務(transaction)支持。
B錯,為什么會有關系規(guī)范化理論,其主要目的之一是減少數(shù)據(jù)的冗余,說明數(shù)據(jù)庫系統(tǒng)還存在一定的冗余;C錯,數(shù)據(jù)完整性約束指一組完整性規(guī)則的集合,不一定是數(shù)據(jù)類型的一致性;D項也太菜鳥了吧,數(shù)據(jù)能管理存放多少數(shù)據(jù)主要看機子硬盤空間和一些相關的設置,比如在數(shù)據(jù)庫管理系統(tǒng)中設置某個用戶的空間最大為多少。
(19)關系表中的每一橫行稱為一個______。
A.元組
B.字段
C.屬性
D.碼
(19)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
字段:列,屬性名
屬性:實體的某一特性,如學生表中的學號、姓名…
碼(主?。涸M(實體)的惟一標識,比如學生有同名的,但學號是惟一的。
比如表:
學號
姓名
性別
院系
0221301
陳朝霞
女
油院礦機
0221310
周建峰
男
西南工業(yè)大學機電院
0221326
曾曉明
男
西南工業(yè)大學機電院
0221315
郭文廣
男
西南工業(yè)大學機電院
0123456
茂葉
男
油院機電&軟件
(20)數(shù)據(jù)庫設計包括兩個方面的設計內容,它們是______。
A.概念設計和邏輯設計
B.模式設計和內模式設計
C.內模式設計和物理設計
D.結構特性設計和行為特性設計
(20)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
需求分析--(需求說明)-->概念設計--(概念結構)-->邏輯結構設計--(邏輯結構)-->物理設計--(物理結構)-->
(21)算法的空間復雜度是指______。
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲空間
D.算法執(zhí)行過程中所需要的存儲空間
(21)
[答案]D
[考點]程序設計基礎
[評析]
時間復雜度:在運行算法時所耗費的時間為f(n)(即n的函數(shù))。
空間復雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
算法為什么會占用存儲存空間?
主要是內存空間,因為算法中的變量、地址等等通常保存在內存中(如果在虛存、緩存,甚至已在CPU中運行,也算占用了存儲空間)。
(22)下列關于棧的敘述中正確的是______。
A.在棧中只能插入數(shù)據(jù)
B.在棧中只能刪除數(shù)據(jù)
C.棧是先進先出的線性表
D.棧是先進后出的線性表
(22)
[答案]D
[考點]數(shù)據(jù)結構與算法
[評析]
此題為基本概念,必記,注意:隊列是先進先出的線性表,結合起來記不要搞混。
(23)在深度為5的滿二叉樹中,葉子結點的個數(shù)為______。
A.32
B.31
C.16
D.15
(23)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
首先搞清楚滿二叉樹與完全二叉樹之間的區(qū)別,前面已解釋過。
依次從上到下,可得出:
第1層結點數(shù)為1;
第2層結點數(shù)為2*1=2;
第3層結點數(shù)為2*2=4;
第n層結點數(shù)為2的n-1次冪,如圖所示
(24)對建立良好的程序設計風格,下面描述正確的是______。
A.程序應簡單、清晰、可讀性好
B.符號名的命名要符合語法
C.充分考慮程序的執(zhí)行效率
D.程序的注釋可有可無
(24)
[答案]A
[考點]程序設計基礎
[評析]
結構化程序設計中力求程序的可讀性(如代碼清晰,結構明了,附加注釋……),故D錯;
如果程序寫的都是錯的,談何風格?如果符號名的命名不符合語法,編譯會報錯,也是很基本的錯誤,B錯;
追求程序的可讀性要高于執(zhí)行效率,C錯。
(25)下面對對象概念描述錯誤的是______。
A.任何對象都必須有繼承性
B.對象是屬性和方法的封裝體
C.對象間的通訊靠消息傳遞
D.操作是對象的動態(tài)性屬性
(25)
[答案]A
[考點]程序設計基礎
[評析]
此題為基本概念,必記!這里舉幾個例子說明以助大家理解:
比如
VB:
Command按紐類是個類,在窗體上畫一個名為Command1的按紐即是創(chuàng)建該類的一個實例,也可創(chuàng)建另外一個實例如Command2,他們的屬性可以調置為不同的,但是都是Command類的實例。Command1,Command2都是對象,它們封裝了屬性和方法,都是封裝體,比如Name屬性,Caption屬性……宏觀上可說Command1的Move操作是動態(tài)屬性,對象間的通讀靠消息傳遞,比如在Command1的單擊事件中寫上:
Picture1.Print"消息傳遞"
Picture1是一個圖片框對象,我們還可以調用Form_Load事件等等,都是通過消息傳遞的,即對象A向對象B發(fā)出消息,對象B執(zhí)行怎樣的操作。
C++:
classBase
{
Public:
Base(){}
~Base(){}
...
};
classDerive:PublicBase
{
Public:
...
Print()
{
Cout<<"打印函數(shù)!"<<endl;
}
};
voidmain()
{
Derivea;
Base*p;
...
}
Base為基類,Derive為基類上的派生類,它繼承了基類的一些屬性和方法等,a為創(chuàng)建的實例,即是一個對象,它封裝了類Derive的所有性性和方法,特別是私有的屬性和方法,直接調用它們會失敗,這就是類的封裝性。對象間的通訊是靠消息傳遞的,比如我們在內存中刪除p所指的一個對象,用deletep語句,會調用類Base的析構函數(shù)~Base();我們也可用a.Print()語句來調用Derive類的Print()函數(shù),對象a具有類Derive的屬性和方法(在C++中一般用函數(shù)來實現(xiàn),比如Print(),我們可以說這操作是對象a的動態(tài)屬性)
(26)下面不屬于軟件工程的3個要素的是______。
A.工具
B.過程
C.方法
D.環(huán)境
(26)
[答案]D
[考點]軟件工程基礎
[評析]
這里闡述一下,以上答案為原稿的答案,有的書上答案應該為B,解釋如下:
軟件工程包括的三要素是:軟件開發(fā)方法學、工具和環(huán)境支持,而其主體內容是軟件開發(fā)方法學。
1、軟件開發(fā)方法,比如根據(jù)瀑布模型有結構化分析與設計方法,有原型化開發(fā)方法
2、軟件開發(fā)工具各個瀑存模型階段都有相關工具,比如需求分析階段有DFD數(shù)據(jù)流程圖,詳細設計階段有HIPO圖或PAD圖,編碼工具有VC、VB……
3、軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。
如果你有權威且詳盡的解釋,還請郵給茂葉:dj8529@或去我主頁上留言
此題的爭論,意義性不大,燃眉之急是應負考試。:)
軟件工程三要素工具、方法、過程,請大家記一下。
(27)程序流程圖(PFD)中的箭頭代表的是______。
A.數(shù)據(jù)流
B.控制流
C.調用關系
D.組成關系
(27)
[答案]B
[考點]軟件工程基礎
[評析]
如果A,那么B,否則C,這是我們二級中很熟悉的程序流程方式,我們可以畫成相應的PFD圖或N-S圖。易知箭頭控制應該是哪條語句執(zhí)行,即B答案。
(28)在數(shù)據(jù)管理技術的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是______。
A.數(shù)據(jù)庫系統(tǒng)
B.文件系統(tǒng)
C.人工管理
D.數(shù)據(jù)項管理
(28)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
關于數(shù)據(jù)管理技術的三個階段如下表:
1.人工管理階段
人工管理數(shù)據(jù)的特點是:
(1)數(shù)據(jù)不保存。
(2)數(shù)據(jù)無專門軟件進行管理。
(3)數(shù)據(jù)不共享。
(4)數(shù)據(jù)不具有獨立性。
2.文件系統(tǒng)階段
該階段的數(shù)據(jù)管理具有如下特點:
(1)數(shù)據(jù)可以長期保存。
(2)由文件系統(tǒng)管理數(shù)據(jù)。文件系統(tǒng)管理數(shù)據(jù)存在如下缺點:
(1)數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大。
(2)數(shù)據(jù)獨立性差。
3.數(shù)據(jù)庫系統(tǒng)階段
與人工管理和文件系統(tǒng)階段相比較,數(shù)據(jù)庫系統(tǒng)階段具有如下的特點:
(1)數(shù)據(jù)結構化
(2)數(shù)據(jù)共享性高、冗余度小、易擴充
(3)數(shù)據(jù)獨立性高
(4)統(tǒng)一的數(shù)據(jù)管理和控制數(shù)據(jù)庫管理系統(tǒng)必須提供以下幾個方面的數(shù)據(jù)控制和保護功能:
(1)數(shù)據(jù)的安全性(security)保護。
(2)數(shù)據(jù)的完整性(integrity)控制。
(3)數(shù)據(jù)庫恢復(recovery)。
(4)并發(fā)(concurrency)控制。
(5)事務(transaction)支持。
(29)用樹形結構來表示實體之間聯(lián)系的模型稱為______。
A.關系模型
B.層次模型
C.網(wǎng)狀模型
D.數(shù)據(jù)模型
(29)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
層次模型結構是一棵有向樹,樹中的每個結點代表一種記錄類型,這些結點滿足:有且僅有一個結點無雙親(根結點),其它結點有且僅有一個雙親結點。
網(wǎng)狀模型則相當于一個有向圖,與層次模型結構不同的是:一個結點可以有多個雙親結點,且多個結點可以無雙親結點。
關系模型則是二維表,一張表即為一個關系,這個很常見,如學生關系(學號,姓名,出生年月,性別),就像我們的辦公軟件中電子表格那樣的表格。
D項的數(shù)據(jù)模型不是數(shù)據(jù)庫的基本模型。
(30)關系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關系運算包括______。
A.排序、索引、統(tǒng)計
B.選擇、投影、連接
C.關聯(lián)、更新、排序
D.顯示、打印、制表
(30)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
此題為數(shù)據(jù)庫的基本概念,如果你完全沒學過數(shù)據(jù)庫,可以對照辦工軟件的電子表格進行如下理解:
選擇:我們根據(jù)某條件選擇出一行或多行元組(一個元組即為二維表中的一行)
投影:按字段(也稱屬性,比如學生關系(學號,姓名,出生年月,性別),學號、姓名……都是屬性)選取一列或多列(一個二維表中所有元組在某一列或幾列上截取出來)。
連接:2個或2個以上的表連接組成一張新的表,通常有條件連接。比如學生關系(學號,姓名,系號),又有一張系表(系號,系名,主任),2張表可以合并為一張這樣的表(學號,姓名,系號,系名,主任)
(31)算法一般都可以用哪幾種控制結構組合而成______。
A.循環(huán)、分支、遞歸
B.順序、循環(huán)、嵌套
C.循環(huán)、遞歸、選擇
D.順序、選擇、循環(huán)
(31)
[答案]D
[考點]數(shù)據(jù)結構與算法
[評析]
結構化程序設計中,基本的控制結構為順序、選擇、循環(huán)。各種具體的程序設計語言中的一些控制結構都可以劃分到這些類中。比如VB里的SelectCase語句、If...Elseif...Else...EndIf,C/C++中的switch()、if{}……都屬于選擇控制結構。相應的for循環(huán)和while語句都屬于循環(huán)結構。按從上到下順序執(zhí)行的即是順序控制結構。
(32)數(shù)據(jù)的存儲結構是指______。
A.數(shù)據(jù)所占的存儲空間量
B.數(shù)據(jù)的邏輯結構在計算機中的表示
C.數(shù)據(jù)在計算機中的順序存儲方式
D.存儲在外存中的數(shù)據(jù)
(32)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
這是個基本概念題。存儲空間量只是數(shù)據(jù)的存儲結構的一個屬性,答案C也太片面,比如鏈表也是種存儲方式,而非線性的還有樹、圖……我們所學的數(shù)據(jù)結構不涉及到數(shù)據(jù)在計算機外存(比如硬盤、軟盤)具體的方式,而僅關心它們在內存中邏輯結構,比如數(shù)組,它是內存中一片連續(xù)的數(shù)據(jù)存儲,我們對每一個元素都可以順序地訪問,只需要知道某一個元素的地址,其它數(shù)據(jù)元素的地址可以據(jù)庫下標與數(shù)組類型(如字符型、整型……)所占的存儲空間就可算出每個元素的地址,故順序訪問所有元素。但是對于具體數(shù)據(jù)在內存中的物理存儲,我們很少關心。比如某個數(shù)組建立時,它的首地址具體是多少?它們在內存中的二進制表示是什么的?
另,什么叫物理結構,什么叫邏輯結構,可以這樣來理解,就好比物理結構是一個人的肉體,邏輯結構是一個人的靈魂,類似于計算機中硬件與軟件的說法。就好比我們上QQ,發(fā)送消息、接收消息,基本上近似大眾人的思維,但發(fā)送消息與接收消息這些的具體技術過程或它們在CPU和硬盤上的活動,甚至二進制是什么呢?去問騰訊公司
(33)設有下列二叉樹:
對此二叉樹中序遍歷的結果為______。
A.ABCDEF
B.DBEAFC
C.ABDECF
D.DEBFCA
(33)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
該題原稿沒圖,故無從解釋,此知識點的詳解部分請看53題
(34)在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發(fā)送______。
A.調用語句
B.命令
C.口令
D.消息
(34)
[答案]D
[考點]程序設計基礎
[評析]
通過消息機制。太理論方面的不多說,現(xiàn)舉例說明。
C++:
比如在VC++中,單擊了一個菜單命令項"退出",我們要實現(xiàn)退出程序,如何來實現(xiàn)?很簡單,只要向窗體發(fā)送一個PostQuitMessage(0);就可以關閉窗體。
這個在VB中還簡單,三個字符"End"即可解決,相當于向所有窗體發(fā)送一個銷毀窗體的消息,即"Unload窗體名"語句。(如果是單個窗體的話,即相當于UnloadMe語句)
VB:
PublicaAsInteger
PrivateSubCommand1_Click()
a=20
Printa
EndSub
PrivateSubCommand2_Click()
Form_Load''''''''''''''這里調用Form_Load()過程,實用a=10
Printa
EndSub
PrivateSubForm_Load()
a=10
EndSub
命令按紐Command2向其母窗體發(fā)送一個消息,使其為Command2服務。
Command2是CommandButton類的一個對象,主窗體是窗體類的一個對象。
關于類與對象的理解,請大家看前面的題的詳解。
(35)檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。
A.確認測試
B.集成測試
C.驗證測試
D.驗收測試
(35)
[答案]A
[考點]軟件工程基礎
[評析]
A、C、D相近,但A為比較正規(guī)的說法名詞。
確認測試也稱合格測試或驗收測試,主要由用戶參加,檢驗軟件規(guī)格說明的技術標準的符合程度,是保證軟件質量的最后關鍵環(huán)節(jié)。
單元測試主要采用白盒法,之后再采用集成測試,主要采用黑盒法。這些主要由開發(fā)者的工作,而無用戶參與,不是檢查是否符合需求定義的。
什么叫白盒黑盒?
相當于這樣理解吧:
白盒測試,我們要注意到代碼;黑盒,我們只關心程序運行的輸入輸出是否正確,一般是大量的測試,主要于非增量測試中使用,而非增量測試又一般適用于規(guī)模較小的系統(tǒng)開發(fā)。可以想象,一個很大很復雜的系統(tǒng),我們用黑盒法來集成測試,效果可想而知。
(36)下列工具中屬于需求分析常用工具的是______。
A.PAD
B.PFD
C.N-S
D.DFD
(36)
[答案]D
[考點]軟件工程基礎
[評析]
PAD,問題分析圖,常用于詳細設計;
PFD,程序流程圖,常用于詳細設計,我們很多如C、VB…程序設計書上都有簡單的實例;
N-S,方框圖,比程序流程圖更靈活,也常用于詳細設計;
DFD,數(shù)據(jù)流圖,遠離具體在計算機上的實現(xiàn),不懂計算機的用戶也能看懂,用于需求分析。
什么叫詳細設計?它與我們編程有什么區(qū)別?
這樣理解吧,公司的高級程序員,就是軟件設計師,他們會搞詳細設計的(在概要設計之后),比如用PAD或N-S畫個圖,它不涉及具體的某種程序設計語言的實現(xiàn),但程序員們都能看懂,程序員再用某種語言(比如C、VB、JAVA…)按照圖來寫代碼。這個過程,高級程序員完成設計工作,程序員完成寫代碼工作。
(37)下面不屬于軟件設計原則的是______。
A.抽象
B.模塊化
C.自底向上
D.信息隱蔽
(37)
[答案]C
[考點]軟件工程基礎
[評析]
我們無論是設計與編寫代碼,無論是畫數(shù)據(jù)流圖還是程序流圖,習憒性思維都是先有輸入才有輸出,從下至下。自底向上不是軟件設計的原則。
(38)索引屬于______。
A.模式
B.內模式
C.外模式
D.概念模式
(38)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
要特別記住此題的答案。
索引的寫入修改了數(shù)據(jù)庫的物理結構,而不是簡單的邏輯設計。內模式規(guī)定了數(shù)據(jù)在存儲介質上的物理組織方式、記錄錄址方式。
(39)在關系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是______。
A.樹結構
B.網(wǎng)結構
C.線性表
D.二維表
(39)
[答案]D
[考點]數(shù)據(jù)庫設計基礎
[評析]
關系數(shù)據(jù)庫中的關系,用二維表表示,A為層次數(shù)據(jù)模型的,B為網(wǎng)狀數(shù)據(jù)模型的。
數(shù)據(jù)庫模型分為:
層次模型、網(wǎng)狀模型、關系模型、面向對象模型。
(40)將E-R圖轉換到關系模式時,實體與聯(lián)系都可以表示成______。
A.屬性B.關系
C.鍵
D.域
(40)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
基本概念題,實體與聯(lián)系可以表示成關系,關系可以表示成二維表。
(41)在下列選項中,哪個不是一個算法一般應該具有的基本特征______。
A.確定性
B.可行性
C.無窮性
D.擁有足夠的情報
(41)
[答案]C
[考點]程序設計基礎
[評析]
算法具有確定性、可行性,并擁有足夠的情報。
(42)希爾排序法屬于哪一種類型的排序法______。
A.交換類排序法
B.插入類排序法
C.選擇類排序法
D.建堆排序法
(42)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
Shell排序法輸入:數(shù)組名稱(也就是數(shù)組首地址)、數(shù)組中元素個數(shù)思想為:在直接插入排序算法中,每次插入一個數(shù),使有序序列只增加1個節(jié)點,
并且對插入下一個數(shù)沒有提供任何幫助。如果比較相隔較遠距離(稱為
增量)的數(shù),使得數(shù)移動時能跨過多個元素,則進行一次比較就可能消除
多個元素交換。D.L.shell于1959年在以他名字命名的排序算法中實現(xiàn)
了這一思想。算法先將要排序的一組數(shù)按某個增量d分成若干組,每組中
記錄的下標相差d.對每組中全部元素進行排序,然后再用一個較小的增量
對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數(shù)被分成
一組,排序完成。下面的函數(shù)是一個希爾排序算法的一個實現(xiàn),初次取序列的一半為增量,
以后每次減半,直到增量為1。以C語言為例。
voidshell_sort(int*x,intn)
{
inth,j,k,t;
for(h=n/2;h>0;h=h/2)/*控制增量*/
{
for(j=h;j<n;j++)/*這個實際上就是上面的直接插入排序*/
{
t=*(x+j);
for(k=j-h;(k>=0&&t<*(x+k));k-=h)
{
*(x+k+h)=*(x+k);
}
*(x+k+h)=t;
}
}
}
故屬于插入類排序法。
(43)下列關于隊列的敘述中正確的是______。
A.在隊列中只能插入數(shù)據(jù)
B.在隊列中只能刪除數(shù)據(jù)
C.隊列是先進先出的線性表
D.隊列是先進后出的線性表
(43)
[答案]C
[考點]數(shù)據(jù)構與算法
[評析]
隊列是先進先出的,棧是先進后出的,2者的區(qū)別一定要搞清楚。
(44)對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為______。
A.N+1
B.N
C.(N+1)/2
D.N/2
(44)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
很簡單,我們的二級程序設計語言書中都有此算法,另外還要掌握二分法查找,這也是我們二級中??嫉?。
那么二分法最壞的情況為多少次呢?
>log2n的最小整數(shù)值。
比如n為4,最壞的情況要比較3次;
n為18,最壞的情況要比較5次。
二分法適用于已排序的順序表(我們二級語言中都是數(shù)組),考二級書里的,這里不再羅嗦。
(45)信息隱蔽的概念與下述哪一種概念直接相關______。
A.軟件結構定義
B.模塊獨立性
C.模塊類型劃分
D.模擬耦合度
(45)
[答案]B
[考點]軟件工程基礎
[評析]
模塊獨立性越強,則信息隱蔽性越好。
舉個例,
VB:
在多重窗體設計時,每個窗體里的變量盡量與其它窗體里變量無關,比如少用Public聲明的變量,即全局變量,當多個窗體共享全局變量越多時,窗體的獨立性就越差。
C:
頭文件里的一些函數(shù),一般不用到全局變量,否則在主程序里出亂子的情況很多,我們在模塊化開發(fā)時,盡量使每個模塊獨立,強功能內聚,分工明確,調試程序也要方便得多。
C++:
考此項的朋友估計不用我多講,類的封裝性就是一個很好的說明。
(46)面向對象的設計方法與傳統(tǒng)的的面向過程的方法有本質不同,它的基本原理是______。
A.模擬現(xiàn)實世界中不同事物之間的聯(lián)系
B.強調模擬現(xiàn)實世界中的算法而不強調概念
C.使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
D.鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領域的概念去思考
(46)
[答案]C
[考點]軟件工程基礎
[評析]
我們舉個例,
從各種語言的結構體類型出發(fā),我們知道,結構體中可以定義很多變量,對每個變量執(zhí)行相同的操作,挨個挨個寫出,很麻煩。假設該結構體有如下變量:
草魚、田魚、鯽魚……
它們都在一口池塘里,現(xiàn)在執(zhí)行:它們都上來
傳統(tǒng)的程序設計是:
草魚上來
田魚上來
鯽魚上來
……
一條一條都寫出,是不是很麻煩?
改進一下,我們用個循環(huán):
n等于從1到10(假設共有10種魚)
第n種魚上來
還是很麻煩,現(xiàn)實中我們很易想到用"面向對象的思想",池塘里所有的魚都是一個結構體變量,名為魚,執(zhí)行:
魚上來
意思即所有的魚都上來。
現(xiàn)特定于面象對象語言中的類,魚,就可以看作為一類。
這就屬于C項:
使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題
這樣羅嗦的解釋望大家別暈,旨在幫助部分人的確難想通的,為應試,你能背下答案也行。
(47)在結構化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是______。
A.詳細設計
B.需求分析
C.總體設計
D.編程調試
(47)
[答案]C
[考點]軟件工程基礎
[評析]
從先到后一排,是:
需求分析、總體設計、詳細設計、編程調試
需求分析遠離在計算機上的實現(xiàn),談不上功能的分解;
有了需求分析的報告,軟件設計員可以思考我要讓軟件怎么做,開始總體設計,其間將軟件的功能分解,確定模塊之間的接口;
有了每個模塊功能的分解,再對每個模塊進入詳細設計階段;
接下來再是程序員的任務,編寫代碼,開始編程調試。
(48)軟件調試的目的是______。
A.發(fā)現(xiàn)錯誤
B.改正錯誤
C.改善軟件的性能
D.挖掘軟件的潛能
(48)
[答案]B
[考點]軟件工程基礎
[評析]
倒!
一個程序調試是為了干什么?
還不是為了改正錯誤?
發(fā)現(xiàn)錯誤?這只是一個過程,改正錯誤之前必須先發(fā)現(xiàn)錯誤,總不能目的就僅為發(fā)現(xiàn)錯誤吧。
(49)按條件f對關系R進行選擇,其關系代數(shù)表達式為______。
A.R|X|R
B.R|X|R
f
C.бf(R)
D.∏f(R)
(49)
[答案]C
[考點]數(shù)據(jù)庫設計基礎
[評析]
C是選擇一行,D是投影一列,二者要區(qū)分開。
如果不僅談此題的話,有關關系代數(shù),內容有些多,這里不是一兩句能說清,可以看看相關《數(shù)據(jù)庫》的資料中的關系代數(shù),里面寫得很詳細。為應試,情急之下能記住幾個題答案就行。
(50)數(shù)據(jù)庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是______。
A.自頂向下
B.由底向上
C.由內向外
D.由整體到局部
(50)
[答案]D
[考點]數(shù)據(jù)庫設計基礎
[評析]
通常有如下幾種方法:
1、自頂向下。先全局框架,然后逐步細化
2、自底向上。先局部概念結構,再集成為全局結構
3、由里向外。先核心結構,再向外擴張
4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構
(51)在計算機中,算法是指______。
A.查詢方法
B.加工方法
C.解題方案的準確而完整的描述
D.排序方法
(51)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
A、B、D都過于片面,此題直接選答案也很簡單。
(52)棧和隊列的共同點是______。
A.都是先進后出
B.都是先進先出
C.只允許在端點處插入和刪除元素
D.沒有共同點
(52)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
棧是先進后出的,隊列是先進先出的,共同點是只允許在端點處插入和刪除元素。棧都是在一端進與出,而隊列是在一端進在另一端出。
(53)已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______。
A.cedba
B.acbed
C.decab
D.deabc
(53)
[答案]A
[考點]數(shù)據(jù)結構與算法
[評析]
后序又叫后根,一次遞歸過程是先左再右最后根;中序是先左再根最后右。比如下圖:
前序是:abc
中序是:bac
后序是:bca題中據(jù)后序遍歷序列,一眼得知c結點是根,那么據(jù)中序deba結點都在一邊,或都在根結點左邊,或右邊;據(jù)中序遍歷序列得知全在根結點的左邊。
接下來據(jù)后序得出e結點是緊挨著c結點的左子女,再據(jù)中序得知d是e的左子女,ba是右子樹。
再據(jù)后序得b是e的右子女,再據(jù)中序得a是b的右子女。
分析結果得二叉樹圖示如下:
因為我茂葉數(shù)據(jù)結構是自學的,分析此類型的題我都是用自己的方法(遞歸分析的方法),要邊分析邊畫圖,一步一步連結起來,最后再根據(jù)題中的遍歷檢查圖是否畫對,如果都符合題目,最后再可根據(jù)圖來得所求的遍歷。
再次聲明,此所有二級公基題全是我一人的思路寫的,如果你覺得不可靠,可以看其它的書。
(54)在下列幾種排序方法中,要求內存量最大的是______。
A.插入排序
B.選擇排序
C.快速排序
D.歸并排序
(54)
[答案]D
[考點]數(shù)據(jù)結構與算法
[分析]
我們對比一個排序方法的優(yōu)越性有"平均時間"、"最壞情況時間"和"輔助空間"。其中輔助空間一般是排序中需要額外的內存開銷,這些內存開銷一般據(jù)一些如中間變量(暫存變量)、比較與交換等等來決定。
插入排序和選擇排序的輔助空間都是o(1),快速排序是o(nlog2n),歸并排序是o(n)。
可知歸并排序要求內存量最大,我們也可以從其變量及循環(huán)個數(shù)也以看出歸并排序要求內存量最大。(55)在設計程序時,應采納的原則之一是______。
A.程序結構應有助于讀者理解
B.不限制goto語句的使用
C.減少或取消注解行
D.程序越短越好
(55)
[答案]A
[考點]程序設計基礎
[評析]
前面的題中已解釋過,二級的各種程序設計語言教程都會對結構化程序設有一定的介紹,比如goto語句的限制使用,基本上每本書上都會提到。
其中A,即易讀性比程序的效率更顯得重要,這是結構化程序設計原則提倡的,也是我們進行開發(fā)時非常重要的一點。
(56)下列不屬于軟件調試技術的是______。
A.強行排錯法
B.集成測試法
C.回溯法
D.原因排除法
(56)
[答案]B
[考點]軟件工程基礎
[評析]
耍個小聰明:)
我們嚴格區(qū)分調試與測試,調試是已知有錯誤而來找錯誤,是被動的;測試有很多種,比如未發(fā)現(xiàn)錯誤但不能保證程序沒錯而來找BUG,還比如我們運行測試程序是否符合用戶的要求,是主動的。不用說答案就是B了:)
A、C、D都是具體的程序調試方法,而B是宏觀的程序測試方法。
測試有單元測試、集成測試、確認測試、系統(tǒng)測試。比如我們在進行單元測試時,發(fā)現(xiàn)程序有錯誤,我們再可以根據(jù)A、C、D的方法來找錯誤。
題外話:
很多人學軟件工程時認為軟件工程太無聊了,似乎全部都是些背背記記的東西,但對于一個軟件構架師,軟件工程是非常重要的,這就不能是些背背的東西了,最重要的是理解,要徹底地理解,還得有些開發(fā)經(jīng)驗才行?!盾浖こ獭愤@學科是從實踐中得出來的,同樣也需要賦予給實踐中去,這樣才有用!(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。
A.便于用戶、開發(fā)人員進行理解和交流
B.反映出用戶問題的結構,可以作為軟件開發(fā)工作的基礎和依據(jù)
C.作為確認測試和驗收的依據(jù)
D.便于開發(fā)人員進行需求分析
(57)
[答案]D
[考點]軟件工程基礎
[評析]
A、B、C都是作用,D說法有一定的錯誤,開發(fā)人員包括很多,比如程序員的工作就不是進行需求分析。
(58)在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序
B.模塊之間的調用關系
C.數(shù)據(jù)的流向
D.程序的組成成分
(58)
[答案]C
[考點]軟件工程基礎
[評析]
顧名思義,數(shù)據(jù)流圖就是帶有方框(外部實體)、圓圈(變換/加工)和帶有名字的箭頭以表示數(shù)據(jù)的流向。需求分析中常用的分析圖,它遠離計算機上的具體實現(xiàn),軟件人員和用戶都能看懂,有益于和用戶交流。
(59)SQL語言又稱為______。
A.結構化定義語言
B.結構化控制語言
C.結構化查詢語言
D.結構化操縱語言
(59)
[答案]C
[考點]數(shù)據(jù)庫設計基礎
[評析]
學VF和ACCESS的朋友輕而易舉選出答案,考其它的朋友們若沒學數(shù)據(jù)庫技術這一章節(jié),則要記一下了。
StructuredQueryLanguage
結構化查詢語言(語句)
(60)視圖設計一般有3種設計次序,下列不屬于視圖設計的是______。
A.自頂向下
B.由外向內
C.由內向外
D.自底向上
(60)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
通常有如下幾種方法:
1、自頂向下。先全局框架,然后逐步細化
2、自底向上。先局部概念結構,再集成為全局結構
3、由里向外。先核心結構,再向外擴張
4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構
(61)數(shù)據(jù)結構中,與所使用的計算機無關的是數(shù)據(jù)的______。
A.存儲結構
B.物理結構
C.邏輯結構
D.物理和存儲結構
(61)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
通過前面的一些題的解釋,相信此題對大家也很簡單了。
邏輯結構更接近人的思想,比如棧的先進后出的結構,這是邏輯結構,如果研究到了棧在內存中的結構,如地址、地址里的內容等等,這就是物理結構了,我們一般無須過于深入底層地鉆研。
(62)棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是______。
A.ABCED
B.DBCEA
C.CDABE
D.DCBEA
(62)
[答案]D
[考點]數(shù)據(jù)結構與算法
[評析]
棧是先進后出的,因為在E放入前,A、B、C、D已經(jīng)依次放進棧里了,故這四個元素出棧的順序只能是D、C、B、A,E可是其中排序的任何位置,答案只有D符合了。
(63)線性表的順序存儲結構和線性表的鏈式存儲結構分別是______。
A.順序存取的存儲結構、順序存取的存儲結構
B.隨機存取的存儲結構、順序存取的存儲結構
C.隨機存取的存儲結構、隨機存取的存儲結構
D.任意存取的存儲結構、任意存取的存儲結構
(63)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
順序存儲結構可以以數(shù)組為例子,它在內存中的一片連續(xù)的儲存空間,從第一個元素到最后一個元素,只要根據(jù)下標就可以訪問。二級的各種程序設計語言都有。
鏈式存儲結構可以以C/C++語言中的鏈表為例,各個鏈結點無須存放在一片連續(xù)的內存空間,而只需要指針變量指過來指過去,實現(xiàn)隨機存取。
(64)在單鏈表中,增加頭結點的目的是______。
A.方便運算的實現(xiàn)
B.使單鏈表至少有一個結點
C.標識表結點中首結點的位置
D.說明單鏈表是線性表的鏈式存儲實現(xiàn)
(64)
[答案]A
[考點]數(shù)據(jù)結構與算法
[評析]
舉個例子,假如我們寫一個實現(xiàn)鏈表刪除一個元素的函數(shù)(或過程),供共享用,函數(shù)的參數(shù)有2個,一個指針變量(指向鏈表的頭結點),一個字符變量(待刪除的元素)。通過鏈表頭結點的指針傳給函數(shù)的第一個指針變量參數(shù),就可方便實現(xiàn)是哪一個鏈表的操作。
如果你考的科目沒有指針,此題答案記一下就行了。
(65)軟件設計包括軟件的結構、數(shù)據(jù)接口和過程設計,其中軟件的過程設計是指______。
A.模塊間的關系
B.系統(tǒng)結構部件轉換成軟件的過程描述
C.軟件層次結構
D.軟件開發(fā)過程(65)
[答案]B
[考點]軟件工程基礎
[評析]
相當于詳細設計,比如N-S圖就是一種,它不用具體的某種語言實現(xiàn),但描述了程序的思路,有了這就可以很輕松轉換為某種語言的程序源代碼。這是一種系統(tǒng)結構部件轉換成軟件的過程描述。
(66)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為______。
A.PAD圖
B.N-S圖
C.結構圖
D.數(shù)據(jù)流圖
(66)
[答案]B
[考點]軟件工程基礎
[評析]
二級科目的很多教程都在前N-S圖的例子,比如C語言教程基本上都有,程序流程圖大部分科目也有例子。這里再舉個例子。
比如:
如果2等于3,則變量a=1,否則a=0。
我們用N-S圖表示:
轉換成VB:
If2=3Then
a=1
else
a=0
EndIf
轉換成C/C++/JAVA:
if(2==3)
a=1;
else
a=0;
(67)數(shù)據(jù)處理的最小單位是______。
A.數(shù)據(jù)
B.數(shù)據(jù)元素
C.數(shù)據(jù)項
D.數(shù)據(jù)結構
(67)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
此題比較弱智,本來無從解釋。
"數(shù)據(jù)"過于宏觀,比如數(shù)據(jù)庫里的所有內容都可叫數(shù)據(jù),它是不是數(shù)據(jù)處理的最小單位呢?
"數(shù)據(jù)元素"中的"元素",如果要死鉆牛角尖,的確沒"數(shù)據(jù)項"說得更合適。
"數(shù)據(jù)結構",這個范圍又過于大了。
(68)下列有關數(shù)據(jù)庫的描述,正確的是______。
A.數(shù)據(jù)庫是一個DBF文件
B.數(shù)據(jù)庫是一個關系
C.數(shù)據(jù)庫是一個結構化的數(shù)據(jù)集合
D.數(shù)據(jù)庫是一組文件
(68)
[答案]C
[考點]數(shù)據(jù)庫設計基礎
[評析]
A錯,比如ACCESS數(shù)據(jù)庫的文件是mdb格式的。
B錯,數(shù)據(jù)庫里可能有很多個二維表,一個二維表就是一個關系。
D錯,雖有些數(shù)據(jù)庫底層是些文件組成的,但是從邏輯結構上來說它與文件完全是2個概念,數(shù)據(jù)庫管理比文件管理更容易、效率更高、安全性更強。
(69)單個用戶使用的數(shù)據(jù)視圖的描述稱為______。
A.外模式
B.概念模式
C.內模式
D.存儲模式
(69)
[答案]A
[考點]數(shù)據(jù)庫設計基礎
[評析]
外模式、模式(概念模式)、內模式(存儲模式),分別是視圖級、概念級、物理級。視圖級即是用戶使用的數(shù)據(jù)視圖級,主要為局部邏輯結構,因為模式上很多個外模式,外模式到模式的映射定義了局部數(shù)據(jù)邏輯結構與全局邏輯結構之間的對應關系,表現(xiàn)了數(shù)據(jù)的邏輯獨立性。模式到內模式則表現(xiàn)了數(shù)據(jù)物理獨立性。
(70)需求分析階段的任務是確定______。
A.軟件開發(fā)方法
B.軟件開發(fā)工具
C.軟件開發(fā)費用
D.軟件系統(tǒng)功能
(70)
[答案]D
[考點]軟件工程基礎
[評析]
據(jù)前面的題的解釋,相信大家對需求分析有個理性認識了。
分析員對用戶的要求作出分析,并畫出數(shù)據(jù)流程圖,該圖通俗易懂,不涉及到如何在計算機上實現(xiàn),這是需求分析階段,用戶也參與,確定軟件系統(tǒng)功能是一個重要的任務。
(71)算法分析的目的是______。
A.找出數(shù)據(jù)結構的合理性
B.找出算法中輸入和輸出之間的關系
C.分析算法的易懂性和可靠性
D.分析算法的效率以求改進
(71)
[答案]D
[考點]數(shù)據(jù)結構與算法
[評析]
為什么要講各種各樣的算法,只要達到功能不就行了嗎?
有些場合為了讓程序效率更高,必須改進算法。
我們二級熟悉的算法改進,如二分法查找比順序查找更快,仔細分析這些算法以求效率改進。
再比如選擇排序、插值排序、冒泡排序,哪個效率高?
我們分析算法,可知如果序列初始比較有序的情況下,冒泡法效率最高。
各種例子都說明D是正確答案。
(72)n個頂點的強連通圖的邊數(shù)至少有______。
A.n-1
B.n(n-1)
C.n
D.n+1
(72)
[答案]C
[考點]數(shù)據(jù)結構與算法
[評析]
此題超綱不用看啦!
圖這一節(jié)超綱,軟考的程序員的難度也不考的,等考三級也考不到,只有計算機四級與高級程序員或以上級別才考到。
關于圖的概念,我們在這里結合樹來講。
通過前面的一些題,我們了解了樹與二叉樹,其實樹也算是圖的一種,樹從上到下是一對多關系的,而圖不單從上到下,而且可以是任意的多對多聯(lián)系,它還可以有回路(結點與線合成回路),無方向的叫無向圖,有箭頭方向的叫有向圖。
連通圖(又叫弱連通圖):有頂點間存在通路(就是2點間有條路徑,從這可到那)(如果是有向圖,則略去方向)。
強連通圖:圖中任何兩點都可相互到達(有向圖不能略去方向)。強連通圖一定是弱連通圖。
此題問要是強連通圖至少應有的邊數(shù),我們可以設想個一個環(huán)的特例,假設箭頭全部是順時針(或逆時針),可以構成任何兩點都可到達的強連通圖,假設有n個頂點,我們很快得出它的邊數(shù)也為n。
(73)已知數(shù)據(jù)表A中每個元素距其最終位置不遠,為節(jié)省時間,應采用的算法是______。
A.堆排序
B.直接插入排序
C.快速排序
D.直接選擇排序
(73)
[答案]B
[考點]數(shù)據(jù)結構與算法
[評析]
做此題時,我們可以回想一下每個選項的排序原理。
堆排序是邊建堆邊排序的過程,而建堆排序時的效率元素距其最終位置的遠近關系不大。
插入排序是把每個元素挨個比較之前的元素,插入到合適的位置,這種排序的比較次數(shù)很不固定,它決定于每個元素距其最終位置。
快速排序的每一趟可確定一個元素的最終位置,但以某個元素為標準的比較次數(shù)還是得比較剩下所有的,它的最大的特點是序列初始無序的情況下排序最快。(初始有序并不是每個元素距其最終位置不遠,而是有一些最終相鄰的元素初始已經(jīng)相鄰了或大致左右的順序已經(jīng)好了)。
直接選擇排序,就是每一趟選擇序列剩下的元素的一個最大值(或最小值)挨個排在首端(或尾端),是人腦最常使用的方法,所以被人腦最易理解。在電腦上,這種排序效率不受其初始位置的影響。
茂葉特注:上述解釋都是我自己的理解,書上并沒有如此解釋,有錯誤還望大俠們指正!
(74)用鏈表表示線性表的優(yōu)點是______。
A.便于插入和刪除操作
B.數(shù)據(jù)元素的物理順序與邏輯順序相同
C.花費的存儲空間較順序存儲少
D.便于隨機存取
(74)
[答案]A
[考點]數(shù)據(jù)結構與算法
[評析]
我們知道,如果是緊湊排列的話,數(shù)組在刪除一個其中一個元素時極為不方便,因為它需要把后面的元素都要往前移一個位置(插入的話則往后移)。而用鏈表就絕然不同了,它只需要改變指針的指向,指向這指向那的,其它元素都不用動。
所以便于插入和刪除操作。
(75)下列不屬于結構化分析的常用工具的是______。
A.數(shù)據(jù)流圖
B.數(shù)據(jù)字典
C.判定樹
D.PAD圖
(75)
[答案]D
[考點]軟件工程基礎
[評析]
通過前面題的解釋,數(shù)據(jù)流圖屬于分析階段相信大家都有所了解了。
數(shù)據(jù)字典也是一種分析階段的工具。什么叫數(shù)據(jù)字典,我們可以這樣理解。假設給了你一個數(shù)據(jù)流圖,但上面的文字說明,比如"看書"、"練習"、"考試"、"拿證書"…(假設這些是數(shù)據(jù)(知識)的處理過程,但可能有些人認為有個"測試",實際上他的意思是"考試",如果寫在數(shù)據(jù)流圖上,其它人認為是"練習測試"的意思,這就造成了數(shù)據(jù)流圖不一致的理解,而數(shù)據(jù)流圖是開發(fā)人員和用戶都能看懂的,理解肯定是一致的。所以必須有個數(shù)據(jù)字典,它標識了數(shù)據(jù)流圖的所有名詞述語,就好比我們用英漢詞典一樣,不會再有不一致的理解了。
判定樹和判定表都是加工描述方法,當然也是分析階段的。
PAD圖(問題分析圖)是詳細設計階段的工具,它的作用類似于程序流程圖和N-S圖。
關于程序流圖和N-S圖,二級很多科目都有介紹,前面的題中我也解釋過。
(76)軟件開發(fā)的結構化生命周期方法將軟件生命周期劃分成______。
A.定義、開發(fā)、運行維護
B.設計階段、編程階段、測試階段
C.總體設計、詳細設計、編程調試
D.需求分析、功能定義、系統(tǒng)設計
(76)
[答案]A
[考點]軟件工程基礎
[評析]
我們可從一個軟件的從無到有的過程來看,就是分析人員先分析,開發(fā)人員再開發(fā),最終運行和維護。
(77)在軟件工程中,白箱測試法可用于測試程序的內部結構。此方法將程序看做是______。
A.循環(huán)的集合
B.地址的集合
C.路徑的集合
D.目標的集合
(77)
[答案]C
[考點]軟件工程基礎
[評析]
白盒測試,我們要深入源代碼的內部;而黑盒測試,我們只關心輸入與輸出數(shù)據(jù)是否符合要求。
(78)在數(shù)據(jù)管理技術發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有______。
A.數(shù)據(jù)無冗余
B.數(shù)據(jù)可共享
C.專門的數(shù)據(jù)管理軟件
D.特定的數(shù)據(jù)模型
(78)
[答案]D
[考點]數(shù)據(jù)庫設計基礎
[評析]
文件根據(jù)一些壓縮技術也可減少冗余,數(shù)據(jù)庫也有冗余,只是比文件少;
文件也可共享,只是比數(shù)據(jù)庫共享性能差;
也有專門的文件管理軟件;
數(shù)據(jù)庫發(fā)展的模型依次是:
層次模型、網(wǎng)狀模型、關系模型、面向對象模型。
其中關系模型目前應用最廣泛。
(79)分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是______。
A.分布式
B.數(shù)據(jù)冗余
C.數(shù)據(jù)分布性和邏輯整體性
D.位置透明性和復制透明性
(79)
[答案]B
[考點]數(shù)據(jù)庫設計基礎
[評析]
如果論特點,當然是優(yōu)點,數(shù)據(jù)冗余是種害處,怎能論特點?
何況分布式數(shù)據(jù)庫還減少了冗余。
(80)下列說法中,不屬于數(shù)據(jù)模型所描述的內容的是______。
A.數(shù)據(jù)結構
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國克菌寧行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國重型材質球閥數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國聚乙烯泡沫塑料板材數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國電話自動錄音系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國現(xiàn)場隔爆流量定值儀數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國不銹鋼對開門數(shù)據(jù)監(jiān)測研究報告
- 2025-2030年披薩快速送行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年商用大容量冷藏庫企業(yè)制定與實施新質生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年推拿力度反饋機器人行業(yè)跨境出海戰(zhàn)略研究報告
- 2025-2030年廚電全渠道營銷平臺行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 《石油產(chǎn)品分析》課件-車用汽油
- 《你為什么不開花》兒童故事繪本
- 15篇文章包含英語四級所有詞匯
- 王陽明心學完整版本
- 四年級上冊豎式計算300題及答案
- 保潔班長演講稿
- 課題研究實施方案 范例及課題研究方法及技術路線圖模板
- 牙髓炎中牙髓干細胞與神經(jīng)支配的相互作用
- 勞務雇傭協(xié)議書范本
- 【2022屆高考英語讀后續(xù)寫】主題升華積累講義及高級句型積累
- 環(huán)境監(jiān)測的基本知識
評論
0/150
提交評論