全國計算機等級考試二級C語言公共基礎(chǔ)復(fù)習(xí)資料_第1頁
全國計算機等級考試二級C語言公共基礎(chǔ)復(fù)習(xí)資料_第2頁
全國計算機等級考試二級C語言公共基礎(chǔ)復(fù)習(xí)資料_第3頁
全國計算機等級考試二級C語言公共基礎(chǔ)復(fù)習(xí)資料_第4頁
全國計算機等級考試二級C語言公共基礎(chǔ)復(fù)習(xí)資料_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、全國計算機等級考試C語言二級公共基礎(chǔ)復(fù)習(xí)資料二級公共基礎(chǔ)知識總結(jié)(紅色筆記的部分為重點部分)第一章 數(shù)據(jù)結(jié)構(gòu)與算法1.1 算法算法:是指解題方案的準(zhǔn)確而完整的描述。算法不等于程序,也不等計算機方法,程序的編制不可能優(yōu)于算法的設(shè)計。算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運算順序的規(guī)則,每一個規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不充許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止,包括合理的執(zhí)行時間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數(shù)據(jù)對象的

2、運算和操作;二是算法的控制結(jié)構(gòu)。指令系統(tǒng):一個計算機系統(tǒng)能執(zhí)行的所有指令的集合。基本運算包括:算術(shù)運算、邏輯運算、關(guān)系運算、數(shù)據(jù)傳輸。算法的控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。算法基本設(shè)計方法:列舉法、歸納法、遞推、遞歸、減斗遞推技術(shù)、回溯法。算法復(fù)雜度:算法時間復(fù)雜度和算法空間復(fù)雜度。算法時間復(fù)雜度是指執(zhí)行算法所需要的計算工作量。算法空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。1.2 數(shù)據(jù)結(jié)構(gòu)的基本基本概念數(shù)據(jù)結(jié)構(gòu)研究的三個方面:(1)數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);(2)在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在計算機中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);(3)對各種數(shù)據(jù)結(jié)

3、構(gòu)進行的運算。數(shù)據(jù)結(jié)構(gòu)是指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合。數(shù)據(jù)的邏輯結(jié)構(gòu)包含:(1)表示數(shù)據(jù)元素的信息; (2)表示各數(shù)據(jù)元素之間的前后件關(guān)系。數(shù)據(jù)的存儲結(jié)構(gòu)有順序、鏈接、索引等。線性結(jié)構(gòu)條件:(1)有且只有一個根結(jié)點;(2)每一個結(jié)點最多有一個前件,也最多有一個后件。非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的數(shù)據(jù)結(jié)構(gòu)。13 線性表及其順序存儲結(jié)構(gòu)線性表是由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的。在復(fù)雜線性表中,由若干項數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄,而由多個記錄構(gòu)成的線性表又稱為文件。非空線性表的結(jié)構(gòu)特征:(1)且只有一個根結(jié)點a1,它無前件;(2)有且只有一個終端

4、結(jié)點an,它無后件;(3)除根結(jié)點與終端結(jié)點外,其他所有結(jié)點有且只有一個前件,也有且只有一個后件。結(jié)點個數(shù)n稱為線性表的長度,當(dāng)n=0時,稱為空表。線性表的順序存儲結(jié)構(gòu)具有以下兩個基本特點:(1)線性表中所有元素的所占的存儲空間是連續(xù)的;(2)線性表中各數(shù)據(jù)元素在存儲空間中是按邏輯順序依次存放的。ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個元素的地址,k代表每個元素占的字節(jié)數(shù)。順序表的運算:插入、刪除。 (詳見14-16頁)14 棧和隊列棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進

5、后出”(FILO)或“后進先出”(LIFO)組織數(shù)據(jù),棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。棧的基本運算:(1)插入元素稱為入棧運算;(2)刪除元素稱為退棧運算;(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。隊列是“先進行出”(FIFO)或“后進后出”(LILO)的線性表。隊列運算包括(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。循環(huán)隊列:s=0表示隊列空,s=1且front=rear表示隊列滿15 線性鏈表數(shù)

6、據(jù)結(jié)構(gòu)中的每一個結(jié)點對應(yīng)于一個存儲單元,這種存儲單元稱為存儲結(jié)點,簡稱結(jié)點。結(jié)點由兩部分組成:(1)用于存儲數(shù)據(jù)元素值,稱為數(shù)據(jù)域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結(jié)點。在鏈?zhǔn)酱鎯Y(jié)構(gòu)中,存儲數(shù)據(jù)結(jié)構(gòu)的存儲空間可以不連續(xù),各數(shù)據(jù)結(jié)點的存儲順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。鏈?zhǔn)酱鎯Ψ绞郊纯捎糜诒硎揪€性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結(jié)點,右指針(Rlink)指向后件結(jié)點。線性鏈表的基本運算:查找、插入、刪除。16 樹與二

7、叉樹樹是一種簡單的非線性結(jié)構(gòu),所有元素之間具有明顯的層次特性。在樹結(jié)構(gòu)中,每一個結(jié)點只有一個前件,稱為父結(jié)點,沒有前件的結(jié)點只有一個,稱為樹的根結(jié)點,簡稱樹的根。每一個結(jié)點可以有多個后件,稱為該結(jié)點的子結(jié)點。沒有后件的結(jié)點稱為葉子結(jié)點。在樹結(jié)構(gòu)中,一個結(jié)點所擁有的后件的個數(shù)稱為該結(jié)點的度,所有結(jié)點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。二叉樹的特點:(1)非空二叉樹只有一個根結(jié)點;(2)每一個結(jié)點最多有兩棵子樹,且分別稱為該結(jié)點的左子樹與右子樹。二叉樹的基本性質(zhì):(1)在二叉樹的第k層上,最多有2(k-1) (k1)個結(jié)點;(2)深度為m的二叉樹最多有(2m)-1個結(jié)點;(3)度為0的

8、結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個;(4)具有n個結(jié)點的二叉樹,其深度至少為log2n+1,其中l(wèi)og2n表示取log2n的整數(shù)部分;(5)具有n個結(jié)點的完全二叉樹的深度為log2n+1;(6)設(shè)完全二叉樹共有n個結(jié)點。如果從根結(jié)點開始,按層序(每一層從左到右)用自然數(shù)1,2,.n給結(jié)點進行編號(k=1,2.n),有以下結(jié)論:若k=1,則該結(jié)點為根結(jié)點,它沒有父結(jié)點;若k>1,則該結(jié)點的父結(jié)點編號為INT(k/2);若2kn,則編號為k的結(jié)點的左子結(jié)點編號為2k;否則該結(jié)點無左子結(jié)點(也無右子結(jié)點);若2k+1n,則編號為k的結(jié)點的右子結(jié)點編號為2k+1;否則該結(jié)點無右子結(jié)點。滿

9、二叉樹是指除最后一層外,每一層上的所有結(jié)點有兩個子結(jié)點,則k層上有2k-1個結(jié)點深度為m的滿二叉樹有2m-1個結(jié)點。完全二叉樹是指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干結(jié)點。二叉樹存儲結(jié)構(gòu)采用鏈?zhǔn)酱鎯Y(jié)構(gòu),對于滿二叉樹與完全二叉樹可以按層序進行順序存儲。二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;(3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結(jié)點。17 查找技術(shù)順序查找的使用情況:(1)線性表為無序表;(2)表采用鏈?zhǔn)酱?/p>

10、儲結(jié)構(gòu)。二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。18 排序技術(shù)排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。交換類排序法:(1)冒泡排序法,需要比較的次數(shù)為n(n-1)/2; (2)快速排序法。插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要O(n1.5)次比較。選擇類排序法:(1)簡單選擇排序法, 最壞情況需要n(n-1)/2次比較;(2)堆排序法,最壞情況需要O(nlog2n)次比較。第二章程序設(shè)計基礎(chǔ)21 程序設(shè)計設(shè)計方法和風(fēng)格如何形成良好的程序設(shè)計風(fēng)格1、源程序文檔化;

11、 2、數(shù)據(jù)說明的方法;3、語句的結(jié)構(gòu); 4、輸入和輸出。注釋分序言性注釋和功能性注釋,語句結(jié)構(gòu)清晰第一、效率第二。22 結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計方法的四條原則是:1. 自頂向下;2. 逐步求精;3.模塊化;4.限制使用goto語句。結(jié)構(gòu)化程序的基本結(jié)構(gòu)和特點:(1)順序結(jié)構(gòu):一種簡單的程序設(shè)計,最基本、最常用的結(jié)構(gòu);(2)選擇結(jié)構(gòu):又稱分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu),可根據(jù)條件,判斷應(yīng)該選擇哪一條分支來執(zhí)行相應(yīng)的語句序列;(3)循環(huán)結(jié)構(gòu):可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段。23 面向?qū)ο蟮某绦蛟O(shè)計面向?qū)ο蟮某绦蛟O(shè)計:以60年代末挪威奧斯陸大學(xué)和挪威計算機中心研制的S

12、IMULA語言為標(biāo)志。面向?qū)ο蠓椒ǖ膬?yōu)點:(1)與人類習(xí)慣的思維方法一致; (2)穩(wěn)定性好; (3)可重用性好;(4)易于開發(fā)大型軟件產(chǎn)品; (5)可維護性好。對象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向?qū)ο蟮某绦蛟O(shè)計方法中的對象是系統(tǒng)中用來描述客觀事物的一個實體,是構(gòu)成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。屬性即對象所包含的信息,操作描述了對象執(zhí)行的功能,操作也稱為方法或服務(wù)。對象的基本特點:(1)標(biāo)識惟一性; (2)分類性; (3)多態(tài)性;(4)封裝性; (5)模塊獨立性好。類是指具有共同屬性、共同方法的對象的

13、集合。所以類是對象的抽象,對象是對應(yīng)類的一個實例。消息是一個實例與另一個實例之間傳遞的信息。消息的組成包括(1)接收消息的對象的名稱;(2)消息標(biāo)識符,也稱消息名;(3)零個或多個參數(shù)。繼承是指能夠直接獲得已有的性質(zhì)和特征,而不必重復(fù)定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。多態(tài)性是指同樣的消息被不同的對象接受時可導(dǎo)致完全不同的行動的現(xiàn)象第三章軟件工程基礎(chǔ)31 軟件工程基本概念計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運行、使用期

14、間不存在磨損、老化問題;(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;(5)軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素。軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。軟件危機主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標(biāo)準(zhǔn)和工序。軟件工程包括3個要素:方法、工具和過程。軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P軟件規(guī)格說明; (2)D軟件開發(fā);(3)C軟件確認(rèn); (4)A軟件演進。軟件周期:軟件產(chǎn)品從提出、實現(xiàn)、使用維

15、護到停止使用退役的過程。軟件生命周期三個階段:軟件定義、軟件開發(fā)、運行維護,主要活動階段是:(1)可行性研究與計劃制定;(2)需求分析; (3)軟件設(shè)計;(4)軟件實現(xiàn); (5)軟件測試; (6)運行和維護。軟件工程的目標(biāo)和與原則:目標(biāo):在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;灸繕?biāo):付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費用;能按時完成開發(fā),及時交付使用。基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。軟件工程

16、的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟學(xué)、軟件心理學(xué)等內(nèi)容。軟件管理學(xué)包括人員組織、進度安排、質(zhì)量保證、配置管理、項目計劃等。軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。32 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計理論。需求分析方法有(1)結(jié)構(gòu)化需求分析方法; (2)面向?qū)ο蟮姆治龅姆椒?。從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流

17、程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的常用工具(1)數(shù)據(jù)流圖; (2)數(shù)據(jù)字典; (3)判定樹; (4)判定表。數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴(yán)格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當(dāng)數(shù)據(jù)流圖中的加工要依賴于多個邏輯

18、條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。軟件需求規(guī)格說明書的特點:(1)正確性; (2)無岐義性; (3)完整性; (4)可驗證性;(5)一致性; (6)可理解性; (7)可追蹤性。33 結(jié)構(gòu)化設(shè)計方法軟件設(shè)計的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計是確定系統(tǒng)的物理模型。軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。結(jié)構(gòu)設(shè)計:定義軟件系統(tǒng)各主要部件之間的關(guān)系。數(shù)據(jù)設(shè)計:將分

19、析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。接口設(shè)計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設(shè)計:把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。從工程管理角度來看:概要設(shè)計和詳細(xì)設(shè)計。軟件設(shè)計的一般過程:軟件設(shè)計是一個迭代的過程;先進行高層次的結(jié)構(gòu)設(shè)計;后進行低層次的過程設(shè)計;穿插進行數(shù)據(jù)設(shè)計和接口設(shè)計。衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標(biāo)準(zhǔn)。在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強,則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。軟件概要設(shè)計的基本任務(wù)是:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計;(3)編寫概要設(shè)計文檔; (4)概要設(shè)計文檔評審。模塊用一個矩形表示,箭頭表示模

20、塊間的調(diào)用關(guān)系。 在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務(wù)型數(shù)據(jù)流的特點是:接受一項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一個適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。詳細(xì)設(shè)計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。常見的過程設(shè)計工具有:

21、圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。34 軟件測試軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試方法:靜態(tài)測試和動態(tài)測試。靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實際運行軟件,主要通過人工進行。動態(tài)測試:是基本計算機的測試,主要包括白盒測試方法和黑盒測試方法。白盒測試:在程序內(nèi)部進行,主要用于完成軟件內(nèi)部CAO作的驗證。主要方法有邏輯覆蓋、基本基路徑測試。黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪

22、問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認(rèn)。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。軟件測試過程一般按4個步驟進行:單元測試、集成測試、驗收測試(確認(rèn)測試)和系統(tǒng)測試。35 程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,主要在開發(fā)階段進行。程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設(shè)計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設(shè)計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:(1)強行排錯法;(2)回溯法;(3)原因排除法。第四章 數(shù)據(jù)庫設(shè)計基礎(chǔ)4

23、1 數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù):實際上就是描述事物的符號記錄。數(shù)據(jù)的特點:有一定的結(jié)構(gòu),有型與值之分,如整型、實型、字符型等。而數(shù)據(jù)的值給出了符合定型的值,如整型值15。數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個應(yīng)用程序共享。數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點。數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。數(shù)據(jù)庫管理系統(tǒng)功能:(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架;(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與

24、手段;(3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡單的算術(shù)運算及統(tǒng)計;(4)數(shù)據(jù)的完整性、安生性定義與檢查;(5)數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù);(6)數(shù)據(jù)的服務(wù):如拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等。為完成以上六個功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:(1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;(2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等;(3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。

25、數(shù)據(jù)庫管理員:對數(shù)據(jù)庫進行規(guī)劃、設(shè)計、維護、監(jiān)視等的專業(yè)管理人員。數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構(gòu)成的運行實體。數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。關(guān)系數(shù)據(jù)庫系統(tǒng)階段數(shù)據(jù)庫系統(tǒng)的基本特點:數(shù)據(jù)的集成性 、數(shù)據(jù)的高共享性與低冗余性 、數(shù)據(jù)獨立性(物理獨立性與邏輯獨立性)、數(shù)據(jù)統(tǒng)一管理與控制。數(shù)據(jù)庫系統(tǒng)的三級模式:(1)概念

26、模式:數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;(2)外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。數(shù)據(jù)庫系統(tǒng)的兩級映射:(1)概念模式到內(nèi)模式的映射;(2)外模式到概念模式的映射。4.2 數(shù)據(jù)模型數(shù)據(jù)模型的概念:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。E-R模型的基本概念(1)實體:現(xiàn)實世界中的事物;(2)屬性:事物的特性;(3)聯(lián)系:現(xiàn)實世界中事物間的關(guān)系。實體集

27、的關(guān)系有一對一、一對多、多對多的聯(lián)系。E-R模型三個基本概念之間的聯(lián)接關(guān)系:實體是概念世界中的基本單位,屬性有屬性域,每個實體可取屬性域內(nèi)的值。一個實體的所有屬性值叫元組。E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯(lián)系表示法。層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點:(1)每棵樹有且僅有一個無雙親結(jié)點,稱為根;(2)樹中除根外所有結(jié)點有且僅有一個雙親。從圖論上看,網(wǎng)狀模型是一個不加任何條件限制的無向圖。關(guān)系模型采用二維表來表示,簡稱表,由表框架及表的元組組成。一個二維表就是一個關(guān)系。在二維表中凡能唯一標(biāo)識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個作為用戶使用的鍵

28、稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。關(guān)系中的數(shù)據(jù)約束:(1)實體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關(guān)系之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。4.3關(guān)系代數(shù)關(guān)系數(shù)據(jù)庫系統(tǒng)的特點之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。關(guān)系模型的基本運算:(1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運算)4.4 數(shù)據(jù)庫設(shè)計與管理數(shù)據(jù)庫設(shè)計是數(shù)據(jù)應(yīng)用的核心。數(shù)據(jù)庫設(shè)計的兩種方法:(1)面向數(shù)據(jù):以信息需求為主,兼顧

29、處理需求;(2)面向過程:以處理需求為主,兼顧信息需求。數(shù)據(jù)庫的生命周期:需求分析階段、概念設(shè)計階段、邏輯設(shè)計階段、物理設(shè)計階段、編碼階段、測試階段、運行階段、進一步修改階段。需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒?。結(jié)構(gòu)化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達數(shù)據(jù)和處理過程的關(guān)系。對數(shù)據(jù)庫設(shè)計來講,數(shù)據(jù)字典是進行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個部分:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流(可以是數(shù)據(jù)項,也可以是數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲、處理過程。數(shù)據(jù)庫概念設(shè)計的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系。設(shè)計的方法有兩種(1)集中式模式設(shè)計法(適用

30、于小型或并不復(fù)雜的單位或部門);(2)視圖集成設(shè)計法。設(shè)計方法:E-R模型與視圖集成。視圖設(shè)計一般有三種設(shè)計次序:自頂向下、由底向上、由內(nèi)向外。視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。關(guān)系視圖設(shè)計:關(guān)系視圖的設(shè)計又稱外模式設(shè)計。關(guān)系視圖的主要作用:(1)提供數(shù)據(jù)邏輯獨立性;(2)能適應(yīng)用戶對數(shù)據(jù)的不同需求;(3)有一定數(shù)據(jù)保密功能。數(shù)據(jù)庫的物理設(shè)計主要目標(biāo)是對數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設(shè)計的內(nèi)容大致有索引設(shè)計、集成簇設(shè)計和分區(qū)設(shè)計。數(shù)據(jù)庫管理的內(nèi)容:(1)數(shù)據(jù)庫的建立; (2)數(shù)據(jù)庫的調(diào)整

31、; (3)數(shù)據(jù)庫的重組;(4)數(shù)據(jù)庫安全性與完整性控制; (5)數(shù)據(jù)庫的故障恢復(fù); (6)數(shù)據(jù)庫監(jiān)控。一、選擇題(1) 下面敘述正確的是(C) A. 算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān) B. 算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù) C. 算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止 D. 以上三種描述都不對(2) 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是(C) A. 隊列 B. 線性表 C. 二叉樹 D. 棧(3) 在一棵二叉樹上第5層的結(jié)點數(shù)最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15(4) 下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是(A) A.

32、 使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯 B. 模塊只有一個入口,可以有多個出口 C. 注重提高程序的執(zhí)行效率 D. 不使用goto語句(5) 下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?(D) 注:P55-58 A. 對象 B. 繼承 C. 類 D. 過程調(diào)用(6) 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是(B) A. 可行性分析 B. 需求分析 C. 詳細(xì)設(shè)計 D. 程序編碼 (7) 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是(D) A. 數(shù)據(jù)結(jié)構(gòu)設(shè)計 B. 給出系統(tǒng)模塊結(jié)構(gòu) C. 定義模塊算法 D. 定義需求并建立系統(tǒng)模型(8) 數(shù)據(jù)庫系統(tǒng)的核心是

33、(B) A. 數(shù)據(jù)模型 B. 數(shù)據(jù)庫管理系統(tǒng) C. 軟件工具 D. 數(shù)據(jù)庫(9) 下列敘述中正確的是(C) A.數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持 B.數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng) C.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題 D.數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致(10) 下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是(A) 注:P108 A. 內(nèi)模式 B. 外模式 C. 概念模式 D. 邏輯模式(11) 算法的時間復(fù)雜度是指(C) A. 執(zhí)行算法程序所需要的時間 B. 算法程序的長度 C. 算法執(zhí)行過程中所需要的基本運算次數(shù) D. 算法程序中的指令條數(shù)

34、(12) 算法的空間復(fù)雜度是指(D)A. 算法程序的長度 B.算法程序中的指令條數(shù) C.算法程序所占的存儲空間 D.算法執(zhí)行過程中所需要的存儲空間(13) 設(shè)一棵完全二叉樹共有699個結(jié)點,則在該二叉樹中的葉子結(jié)點數(shù)為(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉數(shù)的特點可求出 A. 349 B. 350 C. 255 D. 351(14) 結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是(B) A.程序的規(guī)模 B.程序的易讀性 C.程序的執(zhí)行效率 D.程序的可移植性(15) 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是(D) 注:即第一個階段 A. 概要設(shè)計 B.

35、 詳細(xì)設(shè)計 C. 可行性分析 D. 需求分析(16) 數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是(A) 注:P67 A. 控制流 B. 加工 C. 數(shù)據(jù)存儲 D. 源和潭(17) 軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及(B) 注:P66 A. 階段性報告 B. 需求評審 C. 總結(jié) D. 都不正確(18) 下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是(A) 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)

36、比文件系統(tǒng)能管理更多的數(shù)據(jù)(19) 關(guān)系表中的每一橫行稱為一個(A) A. 元組 B. 字段 C. 屬性 D. 碼(20) 數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是(A) A.概念設(shè)計和邏輯設(shè)計 B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計 D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計(21) 下列敘述中正確的是(A) A. 線性表是線性結(jié)構(gòu) B. 棧與隊列是非線性結(jié)構(gòu) C. 線性鏈表是非線性結(jié)構(gòu) D. 二叉樹是線性結(jié)構(gòu)(22) 下列關(guān)于棧的敘述中正確的是(D) A. 在棧中只能插入數(shù)據(jù) B. 在棧中只能刪除數(shù)據(jù)C. 棧是先進先出的線性表 D. 棧是先進后出的線性表(23) 下列關(guān)于隊列的敘述中正確的是

37、(C) A. 在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進先出的線性表 D.隊列是先進后出的線性表(24) 對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是(A) 注:P48 A.程序應(yīng)簡單、清晰、可讀性好 B.符號名的命名要符合語法C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無(25) 下面對對象概念描述錯誤的是(A) 注:P55A.任何對象都必須有繼承性B.對象是屬性和方法的封裝體C.對象間通訊靠消息傳遞D.操作是對象的動態(tài)性屬性(26) 下面不屬于軟件工程的3個要素的是(D) 注:P62 A. 工具 B. 過程 C. 方法 D. 環(huán)境(27) 程序流程圖(PFD)中的箭頭代表的

38、是(B) 注:P81 A. 數(shù)據(jù)流 B. 控制流 C. 調(diào)用關(guān)系 D. 組成關(guān)系(28) 在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性最高的階段是(A) A. 數(shù)據(jù)庫系統(tǒng) B. 文件系統(tǒng) C. 人工管理 D. 數(shù)據(jù)項管理(29) 用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為(B) A. 關(guān)系模型 B. 層次模型 C. 網(wǎng)狀模型 D. 數(shù)據(jù)模型(30) 關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括(B) A. 排序、索引、統(tǒng)計 B. 選擇、投影、連接 C. 關(guān)聯(lián)、更新、排序 D. 顯示、打印、制表(31) 算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成(D) 注:

39、P3 A. 循環(huán)、分支、遞歸 B. 順序、循環(huán)、嵌套 C. 循環(huán)、遞歸、選擇 D. 順序、選擇、循環(huán)(32) 數(shù)據(jù)的存儲結(jié)構(gòu)是指(B) 注:P13,要牢記A. 數(shù)據(jù)所占的存儲空間量 B. 數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示C. 數(shù)據(jù)在計算機中的順序存儲方式 D. 存儲在外存中的數(shù)據(jù)(33) 設(shè)有下列二叉樹: 對此二叉樹中序遍歷的結(jié)果為(B) A. ABCDEF B. DBEAFC C. ABDECF D. DEBFCA(34) 在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送(D) 注:P56 A. 調(diào)用語句 B. 命令 C. 口令 D. 消息(35) 檢查軟件產(chǎn)品是否符合需求定義的

40、過程稱為(A) 注:P95 A. 確認(rèn)測試 B. 集成測試 C. 驗證測試 D. 驗收測試(36) 下列工具中屬于需求分析常用工具的是(D) 注:P67 A. PAD B. PFD C. N-S D. DFD(37) 下面不屬于軟件設(shè)計原則的是(C) 注:P73 A. 抽象 B. 模塊化 C. 自底向上 D. 信息隱蔽(38) 索引屬于(B) A. 模式 B. 內(nèi)模式 C. 外模式 D. 概念模式(39) 在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是(D) A. 樹結(jié)構(gòu) B. 網(wǎng)結(jié)構(gòu) C. 線性表 D. 二維表(40) 將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成(B) A. 屬性 B. 關(guān)

41、系 C. 鍵 D. 域(41) 在下列選項中,哪個不是一個算法一般應(yīng)該具有的基本特征(C) A. 確定性 B. 可行性 C. 無窮性 D. 擁有足夠的情報(42) 希爾排序法屬于哪一種類型的排序法(B) A.交換類排序法 B.插入類排序法 C.選擇類排序法 D.建堆排序法(43) 在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為(C) A. 32 B. 31 C. 16 D. 15(44) 對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為(B) 注:要牢記 A. N+1 B. N C. (N+1)/2 D. N/2(45) 信息隱蔽的概念與下述哪一種概念直接相關(guān)(B) 注:P74 A.軟

42、件結(jié)構(gòu)定義 B. 模塊獨立性 C. 模塊類型劃分 D. 模擬耦合度(46) 面向?qū)ο蟮脑O(shè)計方法與傳統(tǒng)的的面向過程的方法有本質(zhì)不同,它的基本原理是(C) A. 模擬現(xiàn)實世界中不同事物之間的聯(lián)系 B. 強調(diào)模擬現(xiàn)實世界中的算法而不強調(diào)概念 C. 使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題 D. 鼓勵開發(fā)者在軟件開發(fā)的絕大部分中都用實際領(lǐng)域的概念去思考(47) 在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是(C) 注:總體設(shè)計也就是概要設(shè)計 A. 詳細(xì)設(shè)計 B. 需求分析 C. 總體設(shè)計 D. 編程調(diào)試(48) 軟件調(diào)試的目的是(B) 注:與軟件測試要對比著復(fù)習(xí) A.發(fā)現(xiàn)錯誤 B.改

43、正錯誤 C.改善軟件的性能 D.挖掘軟件的潛能(49) 按條件f對關(guān)系R進行選擇,其關(guān)系代數(shù)表達式為(C) A. R|X|R B. R|X|Rf C. f(R) D. f(R)(50) 數(shù)據(jù)庫概念設(shè)計的過程中,視圖設(shè)計一般有三種設(shè)計次序,以下各項中不對的是(D) 注:P127,要牢記 A. 自頂向下 B. 由底向上 C. 由內(nèi)向外 D. 由整體到局部(51) 在計算機中,算法是指(C) A. 查詢方法 B. 加工方法 C. 解題方案的準(zhǔn)確而完整的描述 D. 排序方法(52) 棧和隊列的共同點是(C) 注:這一共同點和線性表不一樣 A. 都是先進后出 B. 都是先進先出 C. 只允許在端點處插入

44、和刪除元素 D. 沒有共同點(53) 已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是(A) 注:P38,前提要掌握三種遍歷的方法 A. cedba B. acbed C. decab D. deabc(54) 在下列幾種排序方法中,要求內(nèi)存量最大的是(D) 注:要牢記,書中沒有提到。 A. 插入排序 B. 選擇排序 C. 快速排序 D. 歸并排序(55) 在設(shè)計程序時,應(yīng)采納的原則之一是(A) 注:和設(shè)計風(fēng)格有關(guān) A. 程序結(jié)構(gòu)應(yīng)有助于讀者理解 B. 不限制goto語句的使用 C. 減少或取消注解行 D. 程序越短越好(56) 下列不屬于軟件調(diào)試技術(shù)的是(B)

45、 注:P98 A. 強行排錯法 B. 集成測試法 C. 回溯法 D. 原因排除法(57)下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是(D)注:P71 A. 便于用戶、開發(fā)人員進行理解和交流 B. 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù) C. 作為確認(rèn)測試和驗收的依據(jù) D. 便于開發(fā)人員進行需求分析(58) 在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示(C) A. 控制程序的執(zhí)行順序 B. 模塊之間的調(diào)用關(guān)系 C. 數(shù)據(jù)的流向 D. 程序的組成成分(59) SQL語言又稱為(C) A. 結(jié)構(gòu)化定義語言 B. 結(jié)構(gòu)化控制語言 C. 結(jié)構(gòu)化查詢語言 D. 結(jié)構(gòu)化操縱語言(60) 視圖

46、設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是(B) A. 自頂向下 B. 由外向內(nèi) C. 由內(nèi)向外 D. 自底向上 (61) 數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機無關(guān)的是數(shù)據(jù)的(C) A. 存儲結(jié)構(gòu) B. 物理結(jié)構(gòu) C. 邏輯結(jié)構(gòu) D. 物理和存儲結(jié)構(gòu)(62) 棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是(D) A. ABCED B. DBCEA C. CDABE D. DCBEA(63) 線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是(B) A. 順序存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) B. 隨機存取的存儲結(jié)構(gòu)、順序存取的存儲結(jié)構(gòu) C. 隨機存取

47、的存儲結(jié)構(gòu)、隨機存取的存儲結(jié)構(gòu) D. 任意存取的存儲結(jié)構(gòu)、任意存取的存儲結(jié)構(gòu)(64) 在單鏈表中,增加頭結(jié)點的目的是(A) A. 方便運算的實現(xiàn) B. 使單鏈表至少有一個結(jié)點 C. 標(biāo)識表結(jié)點中首結(jié)點的位置 D. 說明單鏈表是線性表的鏈?zhǔn)酱鎯崿F(xiàn)(65) 軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指(B) 注:P73 A. 模塊間的關(guān)系 B. 系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述 C. 軟件層次結(jié)構(gòu) D. 軟件開發(fā)過程(66) 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為(B) 注:P82 A. PAD圖 B. N-S圖 C

48、. 結(jié)構(gòu)圖 D. 數(shù)據(jù)流圖(67) 數(shù)據(jù)處理的最小單位是(C) 注:數(shù)據(jù)項不可再分割 A. 數(shù)據(jù) B. 數(shù)據(jù)元素 C. 數(shù)據(jù)項 D. 數(shù)據(jù)結(jié)構(gòu)(68) 下列有關(guān)數(shù)據(jù)庫的描述,正確的是(C) 注:P102 A. 數(shù)據(jù)庫是一個DBF文件 B. 數(shù)據(jù)庫是一個關(guān)系 C. 數(shù)據(jù)庫是一個結(jié)構(gòu)化的數(shù)據(jù)集合 D. 數(shù)據(jù)庫是一組文件(69) 單個用戶使用的數(shù)據(jù)視圖的描述稱為(A) 注:P108 A. 外模式 B. 概念模式 C. 內(nèi)模式 D. 存儲模式(70) 需求分析階段的任務(wù)是確定(D) A. 軟件開發(fā)方法 B. 軟件開發(fā)工具 C. 軟件開發(fā)費用 D. 軟件系統(tǒng)功能(71) 算法分析的目的是(D) 注:書中

49、沒有總結(jié),但要牢記 A. 找出數(shù)據(jù)結(jié)構(gòu)的合理性 B. 找出算法中輸入和輸出之間的關(guān)系 C. 分析算法的易懂性和可靠性 D. 分析算法的效率以求改進(72)鏈表不具有的特點是(B) A.不必事先估計存儲空間 B.可隨機訪問任一元素 C.插入刪除不需要移動元素 D.所需空間與線性表長度成正比(73) 已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采用的算法是(B) A. 堆排序 B. 直接插入排序 C. 快速排序 D. 直接選擇排序(74) 用鏈表表示線性表的優(yōu)點是(A) 注:因為不需要移動元素 A. 便于插入和刪除操作 B. 數(shù)據(jù)元素的物理順序與邏輯順序相同 C. 花費的存儲空間較順序存

50、儲少 D. 便于隨機存取(75) 下列不屬于結(jié)構(gòu)化分析的常用工具的是(D) 注:P67 A. 數(shù)據(jù)流圖 B. 數(shù)據(jù)字典 C. 判定樹 D. PAD圖(76) 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成(A) A. 定義、開發(fā)、運行維護 B. 設(shè)計階段、編程階段、測試階段 C. 總體設(shè)計、詳細(xì)設(shè)計、編程調(diào)試 D. 需求分析、功能定義、系統(tǒng)設(shè)計(77) 在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是(C) 注:P87 A. 循環(huán)的集合 B. 地址的集合 C. 路徑的集合 D. 目標(biāo)的集合(78) 在數(shù)據(jù)管理技術(shù)發(fā)展過程中,文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的主要區(qū)別是數(shù)據(jù)庫系統(tǒng)具有(

51、D) 注:數(shù)據(jù)模型采用關(guān)系模型(二維表) A. 數(shù)據(jù)無冗余 B. 數(shù)據(jù)可共享 C. 專門的數(shù)據(jù)管理軟件 D. 特定的數(shù)據(jù)模型(79) 分布式數(shù)據(jù)庫系統(tǒng)不具有的特點是(B) A. 分布式 B. 數(shù)據(jù)冗余 C. 數(shù)據(jù)分布性和邏輯整體性 D. 位置透明性和復(fù)制透明性(80) 下列說法中,不屬于數(shù)據(jù)模型所描述的內(nèi)容的是(C) 注:P110 A. 數(shù)據(jù)結(jié)構(gòu) B. 數(shù)據(jù)操作 C. 數(shù)據(jù)查詢 D. 數(shù)據(jù)約束(81)根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分成(C) A.動態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu) B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu) C.線性結(jié)構(gòu)和非線性結(jié)構(gòu) D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu) (82)下列敘述中,

52、錯誤的是(B) A.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率密切相關(guān) B.數(shù)據(jù)的存儲結(jié)構(gòu)與數(shù)據(jù)處理的效率無關(guān) C.數(shù)據(jù)的存儲結(jié)構(gòu)在計算機中所占的空間不一定是連續(xù)的 D.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)(83)線性表L=(a1,a2,a3,ai,an),下列說法正確的是(D) A.每個元素都有一個直接前件和直接后件 B.線性表中至少要有一個元素 C.表中諸元素的排列順序必須是由小到大或由大到 D.除第一個元素和最后一個元素外,其余每個元素都有一個且只有一個直接前件和直接后件(84)線性表若采用鏈?zhǔn)酱鎯Y(jié)構(gòu)時,要求內(nèi)存中可用存儲單元的地址(D) A.必須是連續(xù)的 B.部分地址必須是連續(xù)的 C.一定是不連

53、續(xù)的 D.連續(xù)不連續(xù)都可以(85)棧通常采用的兩種存儲結(jié)構(gòu)是(A) A.順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu) B.散列方式和索引方式 C.鏈表存儲結(jié)構(gòu)和數(shù)組 D.線性存儲結(jié)構(gòu)和非線性存儲結(jié)構(gòu)(86)下列數(shù)據(jù)結(jié)構(gòu)中,按先進后出原則組織數(shù)據(jù)的是(B) A.線性鏈表 B.棧 C.循環(huán)鏈表 D.順序表(87)樹是結(jié)點的集合,它的根結(jié)點數(shù)目是(C) A.有且只有1 B.1或多于1 C.0或1 D.至少2(88)具有3個結(jié)點的二叉樹有(D) A.2種形態(tài) B.4種形態(tài) C.7種形態(tài) D. 5種形態(tài) (89)設(shè)一棵二叉樹中有3個葉子結(jié)點,有8個度為1的結(jié)點,則該二叉樹中總的結(jié)點數(shù)為(B) A. 12 B. 13 C.14 D. 15 (90)在結(jié)構(gòu)化程序設(shè)計思想提出之前,在程序設(shè)計中曾強調(diào)程序的效率,現(xiàn)在,與程序的效率相比,人們更重視程序的(C) A.安全性 B.一致性 C.可理解性 D.合理性(91)為了提高測試的效率,應(yīng)該 (D) 注:P85 A.隨機選取測

溫馨提示

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

評論

0/150

提交評論