全國計算機二級C語言公共基礎120題詳解版_第1頁
全國計算機二級C語言公共基礎120題詳解版_第2頁
全國計算機二級C語言公共基礎120題詳解版_第3頁
全國計算機二級C語言公共基礎120題詳解版_第4頁
全國計算機二級C語言公共基礎120題詳解版_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE3公共基礎知識120題詳解篇(1)下面敘述正確的是______。

A.算法的執行效率與數據的存儲結構無關B.算法的空間復雜度是指算法程序中指令(或語句)的條數

C.算法的有窮性是指算法必須能在執行有限個步驟之后終止D.以上三種描述都不對

(1)[答案]C[考點]程序設計基礎

[評析]時間復雜度:在運行算法時所耗費的時間為f(n)(即n的函數)。空間復雜度:實現算法所占用的空間為g(n)(也為n的函數)。A應為有關。

(2)以下數據結構中不屬于線性數據結構的是______。

A.隊列B.線性表C.二叉樹D.棧

(2)[答案]C[考點]數據結構與算法

[評析]一棵二叉樹的一個結點下面可以有2個子結點,故不是線性結構(通俗地理解,看是否能排成條直線)。A是先進先出的線性表;B是宏觀概念,包括順序表、鏈表、堆棧、隊列;D是先進后出的線性表

(3)在一棵二叉樹上第5層的結點數最多是______。

A.8B.16C.32D.15

(3)[答案]B[考點]數據結構與算法

[評析]依次從上到下,可得出:第1層結點數為1;第2層結點數為2*1=2;第3層結點數為2*2=4;第n層結點數為2的n-1次冪。

(4)下面描述中,符合結構化程序設計風格的是______。

A.使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯

B.模塊只有一個入口,可以有多個出口C.注重提高程序的執行效率D.不使用goto語句

(4)[答案]A[考點]程序設計基礎

[評析]B沒這規定,模塊之間的可以通過多個接口來耦合;C結構化程序設計提倡程序的可讀性(可理解性),超過程序執行效率的要求;D結構化程序設計限制goto語句的使用,因為goto語句的功能可以用三種基本的控制結構來代替,但也不是絕對不能用,只是限制使用(少用)。

(5)下面概念中,不屬于面向對象方法的是______。

A.對象B.繼承C.類D.過程調用

(5)[答案]D[考點]軟件工程基礎

[評析]面向對象=對象+類+繼承+通過消息的通信;對象:一組屬性及其上的操作的封裝體;(14)結構化程序設計主要強調的是______。

A.程序的規模B.程序的易讀性C.程序的執行效率D.程序的可移植性

(14)[答案]B[考點]程序設計基礎

[評析]又是結構化的問題,何謂結構化?簡單地比如:VB:If...EndIf,C:if..{...},Pascle:Begin...End

我們在"結構"的中間寫代碼,從哪執行到哪結束我們能很快抓住!此題中重要性為:B>C>D

(15)在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是______。

A.概要設計B.詳細設計C.可行性分析D.需求分析

(15)[答案]D[考點]軟件工程基礎

[評析]題中所述為需求分析。可行性研究包括經濟可行性、技術可行性、操作可行性,即以最小的代價確定系統的規模是否現實。概要設計的任務是確定軟件的總體結構、子結構和模塊的劃分。詳細設計的任務是確定每一模塊的實現細節,包括數據結構、算法和接口。也許有人這么久了還不知道什么叫系統,什么叫模塊。暈倒,這里羅嗦一下,軟件工程中的系統指的整個軟件系統,比如QQ的所有東西,我們用的是客戶端程序,實際的東西放在騰訊公司的服務器上,主要是數據庫,包括在中間的傳輸過程,這一整個相關的東東都叫做OICQ的系統;什么叫模塊,這里不單指如VB里的"標準模塊"、"類模塊",也不單指一個窗體或者一個文件,宏觀上講,軟件工程中把一種功能或相關功能把它做成一個模塊,這個模塊有可能是一個過程,有可能是一個函數…從功能角度度量模塊內的聯系為模塊的內聚(一般來說越強越好,不易出錯);模塊之間的聯系為耦合,比如我們編程中常用把一實參的值賦給了函數中的形參,使函數完成某一功能,耦合度越低越好,獨立性就強;何謂獨立性?比如我們二級編程都有考到全局變量、局部變量,函數中的局部變量獨立性很強,函數外無法訪問…何謂變量?暈~~如果這都要說,那你可以不用考二級了。

(16)數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是______。

A.控制流B.加工C.數據存儲D.源和潭

(16)[答案]A[考點]軟件工程基礎

[評析]數據流圖用于需求分析階段,在此階段我們只考慮大致的數據流流向,而不關心內部具體的處理,以及如何在計算機上實現,不必討論控制流,我們只關心的:數據流、數據儲存、變換/加工(相當于一個黑盒,不關心內部細節)、外部實體,數據流圖通俗易懂,因為它遠離了計算機,用戶(無需懂編程)和軟件人員都易接受。比如一個簡單的軟件系統邏輯模型:

輸入流和輸出流即D中的源和潭。

(17)軟件需求分析階段工作,可以分為4個方面:需求獲取、需求分析、編寫需求規格說明書以及______。

A.階段性報告B.需求評審C.總結D.都不正確

(17)[答案]B[考點]軟件工程基礎

[評析]評審(復審)每階段都有,把前三個方面說完了,還剩什么呢?此題需要記一下,至于各名詞的解釋,顧名即可思義。

(18)下述關于數據庫系統的敘述中正確的是______。

A.數據庫系統減少了數據冗余B.數據庫系統避免了一切冗余

C.數據庫系統中數據的一致性是指數據類型的一致D.數據庫系統比文件系統能管理更多的數據

(18)[答案]A[考點]數據庫設計基礎

[評析]關于數據管理技術的三個階段如下:

1.人工管理階段

人工管理數據的特點是:(1)數據不保存。(2)數據無專門軟件進行管理。

(3)數據不共享。(4)數據不具有獨立性。

2.文件系統階段

該階段的數據管理具有如下特點:(1)數據可以長期保存。(2)由文件系統管理數據。文件系統管理數據存在如下缺點:

(1)數據共享性差,數據冗余度大。(2)數據獨立性差。

3.數據庫系統階段

與人工管理和文件系統階段相比較,數據庫系統階段具有如下的特點:

(1)數據結構化(2)數據共享性高、冗余度小、易擴充(3)數據獨立性高

(4)統一的數據管理和控制數據庫管理系統必須提供以下幾個方面的數據控制和保護功能:

(1)數據的安全性(security)保護。(2)數據的完整性(integrity)控制。

(3)數據庫恢復(recovery)。(4)并發(concurrency)控制。(5)事務(transaction)支持。

B錯,為什么會有關系規范化理論,其主要目的之一是減少數據的冗余,說明數據庫系統還存在一定的冗余;C錯,數據完整性約束指一組完整性規則的集合,不一定是數據類型的一致性;D項也太菜鳥了吧,數據能管理存放多少數據主要看機子硬盤空間和一些相關的設置,比如在數據庫管理系統中設置某個用戶的空間最大為多少。

(19)關系表中的每一橫行稱為一個______。

A.元組B.字段C.屬性D.碼

(19)[答案]A[考點]數據庫設計基礎

[評析]字段:列,屬性名。屬性:實體的某一特性,如學生表中的學號、姓名…碼(主健):元組(實體)的惟一標識,比如學生有同名的,但學號是惟一的。

比如表:學號

姓名

性別

院系

0221301

陳朝霞

油院礦機0221310

周建峰

西南工業大學機電院

0221326

曾曉明

西南工業大學機電院0221315

郭文廣

西南工業大學機電院

(20)數據庫設計包括兩個方面的設計內容,它們是______。

A.概念設計和邏輯設計B.模式設計和內模式設計

C.內模式設計和物理設計D.結構特性設計和行為特性設計

(20)[答案]A[考點]數據庫設計基礎

[評析]需求分析--(需求說明)-->概念設計--(概念結構)-->邏輯結構設計--(邏輯結構)-->物理設計--(物理結構)-->

(21)算法的空間復雜度是指______。

A.算法程序的長度B.算法程序中的指令條數

C.算法程序所占的存儲空間D.算法執行過程中所需要的存儲空間

(21)[答案]D[考點]程序設計基礎

[評析]時間復雜度:在運行算法時所耗費的時間為f(n)(即n的函數)。空間復雜度:實現算法所占用的空間為g(n)(也為n的函數)。算法為什么會占用存儲存空間?主要是內存空間,因為算法中的變量、地址等等通常保存在內存中(如果在虛存、緩存,甚至已在CPU中運行,也算占用了存儲空間)。

(22)下列關于棧的敘述中正確的是______。

A.在棧中只能插入數據B.在棧中只能刪除數據C.棧是先進先出的線性D.棧是先進后出的線性表

(22)[答案]D[考點]數據結構與算法

[評析]此題為基本概念,必記,注意:隊列是先進先出的線性表,結合起來記不要搞混。

(23)在深度為5的滿二叉樹中,葉子結點的個數為______。

A.32B.31C.16D.15

(23)[答案]C[考點]數據結構與算法

[評析]首先搞清楚滿二叉樹與完全二叉樹之間的區別,前面已解釋過。依次從上到下,可得出:

第1層結點數為1;第2層結點數為2*1=2;第3層結點數為2*2=4;第n層結點數為2的n-1次冪。(24)對建立良好的程序設計風格,下面描述正確的是______。

A.程序應簡單、清晰、可讀性好B.符號名的命名要符合語法

C.充分考慮程序的執行效率D.程序的注釋可有可無

(24)[答案]A[考點]程序設計基礎

[評析]結構化程序設計中力求程序的可讀性(如代碼清晰,結構明了,附加注釋……),故D錯;

如果程序寫的都是錯的,談何風格?如果符號名的命名不符合語法,編譯會報錯,也是很基本的錯誤,B錯;追求程序的可讀性要高于執行效率,C錯。

(25)下面對對象概念描述錯誤的是______。

A.任何對象都必須有繼承性B.對象是屬性和方法的封裝體

C.對象間的通訊靠消息傳遞D.操作是對象的動態性屬性

(25)[答案]A[考點]程序設計基礎

[評析]此題為基本概念,必記!(26)下面不屬于軟件工程的3個要素的是______。

A.工具B.過程C.方法D.環境

(26)[答案]D[考點]軟件工程基礎

[評析]這里闡述一下,以上答案為原稿的答案,有的書上答案應該為B,解釋如下:

軟件工程包括的三要素是:軟件開發方法學、工具和環境支持,而其主體內容是軟件開發方法學。

1、軟件開發方法,比如根據瀑布模型有結構化分析與設計方法,有原型化開發方法

2、軟件開發工具各個瀑存模型階段都有相關工具,比如需求分析階段有DFD數據流程圖,詳細設計階段有HIPO圖或PAD圖,編碼工具有VC、VB……

3、軟件開發環境是全面支持軟件開發全過程的軟件工具集合。

軟件工程三要素工具、方法、過程,請大家記一下。

(27)程序流程圖(PFD)中的箭頭代表的是______。

A.數據流B.控制流C.調用關系D.組成關系

(27)[答案]B[考點]軟件工程基礎

[評析]如果A,那么B,否則C,這是我們二級中很熟悉的程序流程方式,我們可以畫成相應的PFD圖或N-S圖。易知箭頭控制應該是哪條語句執行,即B答案。

(28)在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是______。

A.數據庫系統B.文件系統C.人工管理D.數據項管理

(28)[答案]A[考點]數據庫設計基礎

[評析]同(18)

(29)用樹形結構來表示實體之間聯系的模型稱為______。

A.關系模型B.層次模型C.網狀模型D.數據模型

(29)[答案]B[考點]數據庫設計基礎

[評析]層次模型結構是一棵有向樹,樹中的每個結點代表一種記錄類型,這些結點滿足:有且僅有一個結點無雙親(根結點),其它結點有且僅有一個雙親結點。網狀模型則相當于一個有向圖,與層次模型結構不同的是:一個結點可以有多個雙親結點,且多個結點可以無雙親結點。關系模型則是二維表,一張表即為一個關系,這個很常見,如學生關系(學號,姓名,出生年月,性別),就像我們的辦公軟件中電子表格那樣的表格。D項的數據模型不是數據庫的基本模型。

(30)關系數據庫管理系統能實現的專門關系運算包括______。

A.排序、索引、統計B.選擇、投影、連接C.關聯、更新、排序D.顯示、打印、制表

(30)[答案]B[考點]數據庫設計基礎

[評析]此題為數據庫的基本概念,如果你完全沒學過數據庫,可以對照辦工軟件的電子表格進行如下理解:

選擇:我們根據某條件選擇出一行或多行元組(一個元組即為二維表中的一行)

投影:按字段(也稱屬性,比如學生關系(學號,姓名,出生年月,性別),學號、姓名……都是屬性)選取一列或多列(一個二維表中所有元組在某一列或幾列上截取出來)。

連接:2個或2個以上的表連接組成一張新的表,通常有條件連接。比如學生關系(學號,姓名,系號),又有一張系表(系號,系名,主任),2張表可以合并為一張這樣的表(學號,姓名,系號,系名,主任)

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

A.循環、分支、遞歸B.順序、循環、嵌套C.循環、遞歸、選擇D.順序、選擇、循環

(31)[答案]D[考點]數據結構與算法

[評析]結構化程序設計中,基本的控制結構為順序、選擇、循環。各種具體的程序設計語言中的一些控制結構都可以劃分到這些類中。比如VB里的SelectCase語句、If...Elseif...Else...EndIf,C/C++中的switch()、if{}……都屬于選擇控制結構。相應的for循環和while語句都屬于循環結構。按從上到下順序執行的即是順序控制結構。

(32)數據的存儲結構是指______。

A.數據所占的存儲空間量B.數據的邏輯結構在計算機中的表示

C.數據在計算機中的順序存儲方式D.存儲在外存中的數據

(32)[答案]B[考點]數據結構與算法

[評析]這是個基本概念題。存儲空間量只是數據的存儲結構的一個屬性,答案C也太片面,比如鏈表也是種存儲方式,而非線性的還有樹、圖……我們所學的數據結構不涉及到數據在計算機外存(比如硬盤、軟盤)具體的方式,而僅關心它們在內存中邏輯結構,比如數組,它是內存中一片連續的數據存儲,我們對每一個元素都可以順序地訪問,只需要知道某一個元素的地址,其它數據元素的地址可以據庫下標與數組類型(如字符型、整型……)所占的存儲空間就可算出每個元素的地址,故順序訪問所有元素。但是對于具體數據在內存中的物理存儲,我們很少關心。比如某個數組建立時,它的首地址具體是多少?它們在內存中的二進制表示是什么的?另,什么叫物理結構,什么叫邏輯結構,可以這樣來理解,就好比物理結構是一個人的肉體,邏輯結構是一個人的靈魂,類似于計算機中硬件與軟件的說法。就好比我們上QQ,發送消息、接收消息,基本上近似大眾人的思維,但發送消息與接收消息這些的具體技術過程或它們在CPU和硬盤上的活動,甚至二進制是什么呢?去問騰訊公司

(33)設有下列二叉樹:

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

A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA

(33)[答案]B[考點]數據結構與算法

[評析]該題原稿沒圖,故無從解釋,此知識點的詳解部分請看53題

(34)在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發送______。

A.調用語句B.命令C.口令D.消息

(34)[答案]D[考點]程序設計基礎

[評析]通過消息機制。(35)檢查軟件產品是否符合需求定義的過程稱為______。

A.確認測試B.集成測試C.驗證測試D.驗收測試

(35)[答案]A[考點]軟件工程基礎

[評析]A、C、D相近,但A為比較正規的說法名詞。確認測試也稱合格測試或驗收測試,主要由用戶參加,檢驗軟件規格說明的技術標準的符合程度,是保證軟件質量的最后關鍵環節。單元測試主要采用白盒法,之后再采用集成測試,主要采用黑盒法。這些主要由開發者的工作,而無用戶參與,不是檢查是否符合需求定義的。什么叫白盒黑盒?相當于這樣理解吧:白盒測試,我們要注意到代碼;黑盒,我們只關心程序運行的輸入輸出是否正確,一般是大量的測試,主要于非增量測試中使用,而非增量測試又一般適用于規模較小的系統開發。可以想象,一個很大很復雜的系統,我們用黑盒法來集成測試,效果可想而知。

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

A.PADB.PFDC.N-SD.DFD

(36)[答案]D[考點]軟件工程基礎

[評析]PAD,問題分析圖,常用于詳細設計;PFD,程序流程圖,常用于詳細設計,我們很多如C、VB…程序設計書上都有簡單的實例;N-S,方框圖,比程序流程圖更靈活,也常用于詳細設計;DFD,數據流圖,遠離具體在計算機上的實現,不懂計算機的用戶也能看懂,用于需求分析。什么叫詳細設計?它與我們編程有什么區別?這樣理解吧,公司的高級程序員,就是軟件設計師,他們會搞詳細設計的(在概要設計之后),比如用PAD或N-S畫個圖,它不涉及具體的某種程序設計語言的實現,但程序員們都能看懂,程序員再用某種語言(比如C、VB、JAVA…)按照圖來寫代碼。這個過程,高級程序員完成設計工作,程序員完成寫代碼工作。

(37)下面不屬于軟件設計原則的是______。

A.抽象B.模塊化C.自底向上D.信息隱蔽

(37)[答案]C[考點]軟件工程基礎

[評析]我們無論是設計與編寫代碼,無論是畫數據流圖還是程序流圖,習憒性思維都是先有輸入才有輸出,從下至下。自底向上不是軟件設計的原則。

(38)索引屬于______。

A.模式B.內模式C.外模式D.概念模式

(38)[答案]B[考點]數據庫設計基礎

[評析]要特別記住此題的答案。索引的寫入修改了數據庫的物理結構,而不是簡單的邏輯設計。內模式規定了數據在存儲介質上的物理組織方式、記錄錄址方式。

(39)在關系數據庫中,用來表示實體之間聯系的是______。

A.樹結構B.網結構C.線性表D.二維表

(39)[答案]D[考點]數據庫設計基礎

[評析]關系數據庫中的關系,用二維表表示,A為層次數據模型的,B為網狀數據模型的。

數據庫模型分為:層次模型、網狀模型、關系模型、面向對象模型。

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

A.屬性B.關系C.鍵D.域

(40)[答案]B[考點]數據庫設計基礎

[評析]基本概念題,實體與聯系可以表示成關系,關系可以表示成二維表。

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

A.確定性B.可行性C.無窮性D.擁有足夠的情報

(41)[答案]C[考點]程序設計基礎

[評析]算法具有確定性、可行性,并擁有足夠的情報。

(42)希爾排序法屬于哪一種類型的排序法______。

A.交換類排序法B.插入類排序法C.選擇類排序法D.建堆排序法

(42)[答案]B[考點]數據結構與算法

[評析]Shell排序法輸入:數組名稱(也就是數組首地址)、數組中元素個數思想為:在直接插入排序算法中,每次插入一個數,使有序序列只增加1個節點,并且對插入下一個數沒有提供任何幫助。如果比較相隔較遠距離(稱為增量)的數,使得數移動時能跨過多個元素,則進行一次比較就可能消除多個元素交換。D.L.shell于1959年在以他名字命名的排序算法中實現了這一思想。算法先將要排序的一組數按某個增量d分成若干組,每組中記錄的下標相差d.對每組中全部元素進行排序,然后再用一個較小的增量

對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數被分成一組,排序完成。(43)下列關于隊列的敘述中正確的是______。

A.在隊列中只能插入數據B.在隊列中只能刪除數據

C.隊列是先進先出的線性表D.隊列是先進后出的線性表

(43)[答案]C[考點]數據構與算法

[評析]隊列是先進先出的,棧是先進后出的,2者的區別一定要搞清楚。

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

A.N+1B.NC.(N+1)/2D.N/2

(44)[答案]B[考點]數據結構與算法

[評析]很簡單,我們的二級程序設計語言書中都有此算法,另外還要掌握二分法查找,這也是我們二級中常考的。那么二分法最壞的情況為多少次呢?>log2n的最小整數值。比如n為4,最壞的情況要比較3次;n為18,最壞的情況要比較5次。二分法適用于已排序的順序表(我們二級語言中都是數組),考二級書里的,這里不再羅嗦。

(45)信息隱蔽的概念與下述哪一種概念直接相關______。

A.軟件結構定義B.模塊獨立性C.模塊類型劃分D.模擬耦合度

(45)[答案]B[考點]軟件工程基礎

[評析]模塊獨立性越強,則信息隱蔽性越好。

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

A.模擬現實世界中不同事物之間的聯系B.強調模擬現實世界中的算法而不強調概念

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

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

(46)[答案]C[考點]軟件工程基礎

[評析]我們舉個例,從各種語言的結構體類型出發,我們知道,結構體中可以定義很多變量,對每個變量執行相同的操作,挨個挨個寫出,很麻煩。假設該結構體有如下變量:草魚、田魚、鯽魚……它們都在一口池塘里,現在執行:它們都上來。傳統的程序設計是:草魚上來,田魚上來,鯽魚上來……一條一條都寫出,是不是很麻煩?改進一下,我們用個循環:n等于從1到10(假設共有10種魚)。第n種魚上來,還是很麻煩,現實中我們很易想到用"面向對象的思想",池塘里所有的魚都是一個結構體變量,名為魚,執行:

魚上來,意思即所有的魚都上來。現特定于面象對象語言中的類,魚,就可以看作為一類。這就屬于C項:

使用現實世界的概念抽象地思考問題從而自然地解決問題這樣羅嗦的解釋望大家別暈,旨在幫助部分人的確難想通的,為應試,你能背下答案也行。

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

A.詳細設計B.需求分析C.總體設計D.編程調試

(47)[答案]C[考點]軟件工程基礎

[評析]從先到后一排,是:需求分析、總體設計、詳細設計、編程調試。需求分析遠離在計算機上的實現,談不上功能的分解;有了需求分析的報告,軟件設計員可以思考我要讓軟件怎么做,開始總體設計,其間將軟件的功能分解,確定模塊之間的接口;有了每個模塊功能的分解,再對每個模塊進入詳細設計階段;

接下來再是程序員的任務,編寫代碼,開始編程調試。

(48)軟件調試的目的是______。

A.發現錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能

(48)[答案]B[考點]軟件工程基礎

(49)按條件f對關系R進行選擇,其關系代數表達式為______。

A.R|X|RB.R|X|RC.бf(R)D.∏f(R)

(49)[答案]C[考點]數據庫設計基礎

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

(50)數據庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是______。

A.自頂向下B.由底向上C.由內向外D.由整體到局部

(50)[答案]D[考點]數據庫設計基礎

[評析]通常有如下幾種方法:1、自頂向下。先全局框架,然后逐步細化;2、自底向上。先局部概念結構,再集成為全局結構;3、由里向外。先核心結構,再向外擴張;4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構。

(51)在計算機中,算法是指______。

A.查詢方法B.加工方法C.解題方案的準確而完整的描述D.排序方法

(51)[答案]C[考點]數據結構與算法

[評析]A、B、D都過于片面,此題直接選答案也很簡單。

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

A.都是先進后出B.都是先進先出C.只允許在端點處插入和刪除元素D.沒有共同點

(52)[答案]C[考點]數據結構與算法

[評析]棧是先進后出的,隊列是先進先出的,共同點是只允許在端點處插入和刪除元素。棧都是在一端進與出,而隊列是在一端進在另一端出。

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

A.cedbaB.acbedC.decabD.deabc

(53)[答案]A[考點]數據結構與算法

[評析]后序又叫后根,一次遞歸過程是先左再右最后根;中序是先左再根最后右。比如下圖:前序是:abc中序是:bac后序是:bca題中據后序遍歷序列,一眼得知c結點是根,那么據中序deba結點都在一邊,或都在根結點左邊,或右邊;據中序遍歷序列得知全在根結點的左邊。

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

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

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

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

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

A.插入排序B.選擇排序C.快速排序D.歸并排序

(54)[答案]D[考點]數據結構與算法

[分析]我們對比一個排序方法的優越性有"平均時間"、"最壞情況時間"和"輔助空間"。其中輔助空間一般是排序中需要額外的內存開銷,這些內存開銷一般據一些如中間變量(暫存變量)、比較與交換等等來決定。插入排序和選擇排序的輔助空間都是o(1),快速排序是o(nlog2n),歸并排序是o(n)。可知歸并排序要求內存量最大,我們也可以從其變量及循環個數也以看出歸并排序要求內存量最大。(55)在設計程序時,應采納的原則之一是______。

A.程序結構應有助于讀者理解B.不限制goto語句的使用C.減少或取消注解行D.程序越短越好

(55)[答案]A[考點]程序設計基礎

[評析]前面的題中已解釋過,二級的各種程序設計語言教程都會對結構化程序設有一定的介紹,比如goto語句的限制使用,基本上每本書上都會提到。其中A,即易讀性比程序的效率更顯得重要,這是結構化程序設計原則提倡的,也是我們進行開發時非常重要的一點。

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

A.強行排錯法B.集成測試法C.回溯法D.原因排除法

(56)[答案]B[考點]軟件工程基礎

[評析]我們嚴格區分調試與測試,調試是已知有錯誤而來找錯誤,是被動的;測試有很多種,比如未發現錯誤但不能保證程序沒錯而來找BUG,還比如我們運行測試程序是否符合用戶的要求,是主動的。不用說答案就是B了。A、C、D都是具體的程序調試方法,而B是宏觀的程序測試方法。測試有單元測試、集成測試、確認測試、系統測試。比如我們在進行單元測試時,發現程序有錯誤,我們再可以根據A、C、D的方法來找錯誤。(57)下列敘述中,不屬于軟件需求規格說明書的作用的是______。

A.便于用戶、開發人員進行理解和交流B.反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據C.作為確認測試和驗收的依據D.便于開發人員進行需求分析

(57)[答案]D[考點]軟件工程基礎

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

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

A.控制程序的執行順序B.模塊之間的調用關系C.數據的流向D.程序的組成成分

(58)[答案]C[考點]軟件工程基礎

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

(59)SQL語言又稱為______。

A.結構化定義語言B.結構化控制語言C.結構化查詢語言D.結構化操縱語言

(59)[答案]C[考點]數據庫設計基礎

[評析]StructuredQueryLanguage結構化查詢語言(語句)

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

A.自頂向下B.由外向內C.由內向外D.自底向上

(60)[答案]B[考點]數據庫設計基礎

[評析]通常有如下幾種方法:1、自頂向下。先全局框架,然后逐步細化2、自底向上。先局部概念結構,再集成為全局結構3、由里向外。先核心結構,再向外擴張4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構

(61)數據結構中,與所使用的計算機無關的是數據的______。

A.存儲結構B.物理結構C.邏輯結構D.物理和存儲結構

(61)[答案]C[考點]數據結構與算法

[評析]通過前面的一些題的解釋,相信此題對大家也很簡單了。邏輯結構更接近人的思想,比如棧的先進后出的結構,這是邏輯結構,如果研究到了棧在內存中的結構,如地址、地址里的內容等等,這就是物理結構了,我們一般無須過于深入底層地鉆研。

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

A.ABCEDB.DBCEAC.CDABED.DCBEA

(62)[答案]D[考點]數據結構與算法

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

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

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

C.隨機存取的存儲結構、隨機存取的存儲結構D.任意存取的存儲結構、任意存取的存儲結構

(63)[答案]B[考點]數據結構與算法

[評析]順序存儲結構可以以數組為例子,它在內存中的一片連續的儲存空間,從第一個元素到最后一個元素,只要根據下標就可以訪問。二級的各種程序設計語言都有。鏈式存儲結構可以以C/C++語言中的鏈表為例,各個鏈結點無須存放在一片連續的內存空間,而只需要指針變量指過來指過去,實現隨機存取。

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

A.方便運算的實現B.使單鏈表至少有一個結點

C.標識表結點中首結點的位置D.說明單鏈表是線性表的鏈式存儲實現

(64)[答案]A[考點]數據結構與算法

[評析]舉個例子,假如我們寫一個實現鏈表刪除一個元素的函數(或過程),供共享用,函數的參數有2個,一個指針變量(指向鏈表的頭結點),一個字符變量(待刪除的元素)。通過鏈表頭結點的指針傳給函數的第一個指針變量參數,就可方便實現是哪一個鏈表的操作。如果你考的科目沒有指針,此題答案記一下就行了。

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

A.模塊間的關系B.系統結構部件轉換成軟件的過程描述C.軟件層次結構D.軟件開發過程(65)[答案]B[考點]軟件工程基礎

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

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

A.PAD圖B.N-S圖C.結構圖D.數據流圖

(66)[答案]B[考點]軟件工程基礎

[評析]二級科目的很多教程都在前N-S圖的例子,比如C語言教程基本上都有,程序流程圖大部分科目也有例子。這里再舉個例子。比如:如果2等于3,則變量a=1,否則a=0。我們用N-S圖表示:

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

A.數據B.數據元素C.數據項D.數據結構

(67)[答案]C[考點]數據結構與算法

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

A.數據庫是一個DBF文件B.數據庫是一個關系

C.數據庫是一個結構化的數據集合D.數據庫是一組文件

(68)[答案]C[考點]數據庫設計基礎

[評析]A錯,比如ACCESS數據庫的文件是mdb格式的。B錯,數據庫里可能有很多個二維表,一個二維表就是一個關系。D錯,雖有些數據庫底層是些文件組成的,但是從邏輯結構上來說它與文件完全是2個概念,數據庫管理比文件管理更容易、效率更高、安全性更強。

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

A.外模式B.概念模式C.內模式D.存儲模式

(69)[答案]A[考點]數據庫設計基礎

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

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

A.軟件開發方法B.軟件開發工具C.軟件開發費用D.軟件系統功能

(70)[答案]D[考點]軟件工程基礎

[評析]據前面的題的解釋,相信大家對需求分析有個理性認識了。分析員對用戶的要求作出分析,并畫出數據流程圖,該圖通俗易懂,不涉及到如何在計算機上實現,這是需求分析階段,用戶也參與,確定軟件系統功能是一個重要的任務。

(71)算法分析的目的是______。

A.找出數據結構的合理性B.找出算法中輸入和輸出之間的關系

C.分析算法的易懂性和可靠性D.分析算法的效率以求改進

(71)[答案]D[考點]數據結構與算法

[評析]有些場合為了讓程序效率更高,必須改進算法。我們二級熟悉的算法改進,如二分法查找比順序查找更快,仔細分析這些算法以求效率改進。再比如選擇排序、插值排序、冒泡排序,哪個效率高?我們分析算法,可知如果序列初始比較有序的情況下,冒泡法效率最高。

(72)n個頂點的強連通圖的邊數至少有______。

A.n-1B.n(n-1)C.nD.n+1

(72)[答案]C[考點]數據結構與算法

(73)已知數據表A中每個元素距其最終位置不遠,為節省時間,應采用的算法是______。

A.堆排序B.直接插入排序C.快速排序D.直接選擇排序

(73)[答案]B[考點]數據結構與算法

[評析]做此題時,我們可以回想一下每個選項的排序原理。堆排序是邊建堆邊排序的過程,而建堆排序時的效率元素距其最終位置的遠近關系不大。插入排序是把每個元素挨個比較之前的元素,插入到合適的位置,這種排序的比較次數很不固定,它決定于每個元素距其最終位置。快速排序的每一趟可確定一個元素的最終位置,但以某個元素為標準的比較次數還是得比較剩下所有的,它的最大的特點是序列初始無序的情況下排序最快。(初始有序并不是每個元素距其最終位置不遠,而是有一些最終相鄰的元素初始已經相鄰了或大致左右的順序已經好了)。直接選擇排序,就是每一趟選擇序列剩下的元素的一個最大值(或最小值)挨個排在首端(或尾端),是人腦最常使用的方法,所以被人腦最易理解。在電腦上,這種排序效率不受其初始位置的影響。

(74)用鏈表表示線性表的優點是______。

A.便于插入和刪除操作B.數據元素的物理順序與邏輯順序相同

C.花費的存儲空間較順序存儲少D.便于隨機存取

(74)[答案]A[考點]數據結構與算法

[評析]我們知道,如果是緊湊排列的話,數組在刪除一個其中一個元素時極為不方便,因為它需要把后面的元素都要往前移一個位置(插入的話則往后移)。而用鏈表就絕然不同了,它只需要改變指針的指向,指向這指向那的,其它元素都不用動。所以便于插入和刪除操作。

(75)下列不屬于結構化分析的常用工具的是______。

A.數據流圖B.數據字典C.判定樹D.PAD圖

(75)[答案]D[考點]軟件工程基礎

[評析]通過前面題的解釋,數據流圖屬于分析階段相信大家都有所了解了。數據字典也是一種分析階段的工具。什么叫數據字典,我們可以這樣理解。假設給了你一個數據流圖,但上面的文字說明,比如"看書"、"練習"、"考試"、"拿證書"…(假設這些是數據(知識)的處理過程,但可能有些人認為有個"測試",實際上他的意思是"考試",如果寫在數據流圖上,其它人認為是"練習測試"的意思,這就造成了數據流圖不一致的理解,而數據流圖是開發人員和用戶都能看懂的,理解肯定是一致的。所以必須有個數據字典,它標識了數據流圖的所有名詞述語,就好比我們用英漢詞典一樣,不會再有不一致的理解了。

判定樹和判定表都是加工描述方法,當然也是分析階段的。PAD圖(問題分析圖)是詳細設計階段的工具,它的作用類似于程序流程圖和N-S圖。關于程序流圖和N-S圖,二級很多科目都有介紹,前面的題中我也解釋過。

(76)軟件開發的結構化生命周期方法將軟件生命周期劃分成______。

A.定義、開發、運行維護B.設計階段、編程階段、測試階段

C.總體設計、詳細設計、編程調試D.需求分析、功能定義、系統設計

(76)[答案]A[考點]軟件工程基礎

[評析]可從一個軟件的從無到有的過程來看,就是分析人員先分析,開發人員再開發,最終運行和維護。

(77)在軟件工程中,白箱測試法可用于測試程序的內部結構。此方法將程序看做是______。

A.循環的集合B.地址的集合C.路徑的集合D.目標的集合

(77)[答案]C[考點]軟件工程基礎

[評析]白盒測試,我們要深入源代碼的內部;而黑盒測試,我們只關心輸入與輸出數據是否符合要求。

(78)在數據管理技術發展過程中,文件系統與數據庫系統的主要區別是數據庫系統具有______。

A.數據無冗余B.數據可共享C.專門的數據管理軟件D.特定的數據模型

(78)[答案]D[考點]數據庫設計基礎

[評析]文件根據一些壓縮技術也可減少冗余,數據庫也有冗余,只是比文件少;文件也可共享,只是比數據庫共享性能差;也有專門的文件管理軟件;數據庫發展的模型依次是:層次模型、網狀模型、關系模型、面向對象模型。其中關系模型目前應用最廣泛。

(79)分布式數據庫系統不具有的特點是______。

A.分布式B.數據冗余C.數據分布性和邏輯整體性D.位置透明性和復制透明性

(79)[答案]B[考點]數據庫設計基礎

[評析]如果論特點,當然是優點,數據冗余是種害處,怎能論特點?何況分布式數據庫還減少了冗余。

(80)下列說法中,不屬于數據模型所描述的內容的是______。

A.數據結構B.數據操作C.數據查詢D.數據約束

(80)[答案]C40個填空題(1)算法的復雜度主要包括______復雜度和空間復雜度。答:時間

(2)數據的邏輯結構在計算機存儲空間中的存放形式稱為數據的______。答:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論