全國計算機等級考試二級公共基礎知識考試要點_第1頁
全國計算機等級考試二級公共基礎知識考試要點_第2頁
全國計算機等級考試二級公共基礎知識考試要點_第3頁
全國計算機等級考試二級公共基礎知識考試要點_第4頁
全國計算機等級考試二級公共基礎知識考試要點_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、全國計算機等級考試公共基礎知識第一章 數據結構與算法1.1算法算法:是指解題方案的準確而完整的描述。算法不等于程序,也不等計算機方法,程序的編制不可能優于算法的設計。算法的基本特征:是一組嚴謹地定義運算順序的規則,每一個規則都是有效的,是明確的,此順序將在有限的次數下終止。特征包括:(1)可行性;(2)確定性,算法中每一步驟都必須有明確定義,不允許有模棱兩可的解釋,不允許有多義性;(3)有窮性,算法必須能在有限的時間內做完,即能在執行有限個步驟后終止,包括合理的執行時間的含義;(4)擁有足夠的情報。算法的基本要素:一是對數據對象的運算和操作;二是算法的控制結構。基本運算和操作包括:算術運算、邏

2、輯運算、關系運算、數據傳輸。算法的控制結構:順序結構、選擇結構、循環結構。算法基本設計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術、回溯法。算法復雜度:算法時間復雜度和算法空間復雜度。算法時間復雜度是指執行算法所需要的計算工作量。一般來說,算法的工作量用其執行的基本運算次數來度量,而算法執行的基本運算次數是問題規模的函數。在同一個問題規模下,用平均性態和最壞情況復雜性來分析。一般情況下,用最壞情況復雜性來分析算法的時間復雜度。算法空間復雜度是指執行這個算法所需要的內存空間。1.2數據結構的基本概念數據結構研究的三個方面:(1)數據集合中各數據元素之間所固有的邏輯關系,即數據的邏輯結構;(2)

3、在對數據進行處理時,各數據元素在計算機中的存儲關系,即數據的存儲結構;(3)對各種數據結構進行的運算。數據結構是指相互有關聯的數據元素的集合。數據結構是反映數據元素之間關系的數據元素集合的表示。數據的邏輯結構包含:(1)表示數據元素的信息;(2)表示各數據元素之間的前后件關系。(邏輯關系,與在計算機內的存儲位置無關)一個數據結構中的各數據元素在計算機存儲空間中的位置關系與邏輯關系有可能不同。數據的存儲結構是數據的邏輯結構在計算機存儲空間中的存放形式。常用的存儲結構有順序、鏈接、索引等。根據數據結構中各數據元素之間前后件關系的復雜程度,一般將數據結構分為線性結構和非線性結構。線性結構條件:(1)

4、有且只有一個根結點;(2)每一個結點最多有一個前件,也最多有一個后件。非線性結構:不滿足線性結構條件的數據結構。13線性表及其順序存儲結構線性表由一組數據元素構成,數據元素的位置只取決于自己的序號,元素之間的相對位置是線性的。如:一個N維向量、矩陣在復雜線性表中,由若干項數據元素組成的數據元素稱為記錄,而由多個記錄構成的線性表又稱為文件。非空線性表的結構特征:(1)有且只有一個根結點a1,它無前件;(2)有且只有一個終端結點an,它無后件;(3)除根結點與終端結點外,其他所有結點有且只有一個前件,也有且只有一個后件。結點個數n稱為線性表的長度,當n=0時,稱為空表。線性表的順序存儲結構具有以下

5、兩個基本特點:(1)線性表中所有元素的所占的存儲空間是連續的;(2)線性表中各數據元素在存儲空間中是按邏輯順序依次存放的。ai的存儲地址為:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)為第一個元素的地址,k代表每個元素占的字節數。順序表的運算:插入、刪除。14 棧和隊列棧是限定在一端進行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進后出”(FILO)或“后進先出”(LIFO)組織數據,棧具有記憶作用。用top表示棧頂位置,用bottom表示棧底。棧的順序存儲 用一維數組S(1:m)作為棧的順序存儲空間,M為棧的最大容量。S(b

6、ottom)表示棧底元素,s(top)為棧頂元素,top=0表示棧空,top=m表示棧滿。棧的基本運算:(1)插入元素稱為入棧運算;(top=top+1;將新元素插入到棧頂指針指向的位置) 上溢(2)刪除元素稱為退棧運算;(將棧頂指針指向的元素賦給指定的變量,top=top-1) 下溢(3)讀棧頂元素是將棧頂元素賦給一個指定的變量,此時指針無變化。隊列隊列是指允許在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表。Rear指針指向隊尾,front指針指向隊頭。隊列是“先進先出”(FIFO)或“后進后出”(LILO)的線性表。隊列的順序存儲與棧類似,用一維數組Q(1:m)作為隊列的順序存

7、儲空間隊列運算(1)入隊運算:從隊尾插入一個元素;(2)退隊運算:從隊頭刪除一個元素。循環隊列:在循環隊列結構中,當存儲空間的最后一個位置已被使用而要進行入隊運算時,只要存儲空間的第一個位置空閑,就可將元素加入到第一個位置,即將存儲空間的第一個位置作為隊尾。從Front指針指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素。循環隊列的初始狀態為空: rear=front=m當循環隊列滿時,rear=Front為區別隊滿還是隊空,增加標志S。s=0表示隊列空,s=1且front=rear表示隊列滿15線性鏈表對于元素變動頻繁的大線性表不宜采用順序存儲結構,而應采用鏈式存

8、儲結構。在鏈式存儲結構中,數據結構中的每一個結點對應于一個存儲單元,這種存儲單元稱為存儲結點,簡稱結點。結點由兩部分組成:(1)用于存儲數據元素值,稱為數據域;(2)用于存放指針,稱為指針域,用于指向前一個或后一個結點。在鏈式存儲結構中,存儲數據結構的存儲空間可以不連續,各數據結點的存儲順序與數據元素之間的邏輯關系可以不一致,而數據元素之間的邏輯關系是由指針域來確定的。鏈式存儲方式既可用于表示線性結構,也可用于表示非線性結構。線性鏈表,HEAD稱為頭指針,HEAD=NULL(或0)稱為空表,如果是兩指針:左指針(Llink)指向前件結點,右指針(Rlink)指向后件結點。線性鏈表的基本運算:查

9、找、插入、刪除。16樹與二叉樹樹是一種簡單的非線性結構,所有元素之間具有明顯的層次特性。DABCEFGIH在樹結構中,每一個結點只有一個前件,稱為父結點,沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根。每一個結點可以有多個后件,稱為該結點的子結點。沒有后件的結點稱為葉子結點。在樹結構中,一個結點所擁有的后件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。度為2的樹稱為二叉樹。 A B C D G E H F I1253674二叉樹的特點:(1)非空二叉樹只有一個根結點;(2)每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹。二叉樹的基本性質:(1)在

10、二叉樹的第k層上,最多有2k-1(k1)個結點;(2)深度為m的二叉樹最多有2m-1個結點;(3)度為0的結點(即葉子結點)總是比度為2的結點多一個;(4)具有n個結點的二叉樹,其深度至少為log2n+1,其中log2n表示取log2n的整數部分;滿二叉樹是指除最后一層外,每一層上的所有結點有兩個子結點,ABCDEGFHIKJMLNO1523467滿二叉樹的性質:第k層上有2k-1個結點,深度為m的滿二叉樹有2m-1個結點。完全二叉樹是指除最后一層外,每一層上的結點數均達到最大值,在最后一層上只缺少右邊的若干結點。AC BEDFGHIJ1243576由滿二叉樹與完全二叉樹的特點可以看出,滿二叉

11、樹也是完全二叉樹,完全二叉樹一般不是滿二叉樹。完全二叉樹的性質:(1)具有n個結點的完全二叉樹的深度為log2n+1;(2)設完全二叉樹共有n個結點。如果從根結點開始,按層序(每一層從左到右)用自然數1,2,n給結點進行編號(k=1,2.n),有以下結論:若k=1,則該結點為根結點,它沒有父結點;若k>1,則該結點的父結點編號為INT(k/2);若2kn,則編號為k的結點的左子結點編號為2k;否則該結點無左子結點(也無右子結點);若2k+1n,則編號為k的結點的右子結點編號為2k+1;否則該結點無右子結點。二叉樹存儲結構采用鏈式存儲結構,對于滿二叉樹與完全二叉樹可以按層序進行順序存儲。二

12、叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結點,然后遍歷左子樹,最后遍歷右子樹;(2)中序遍歷(LDR),首先遍歷左子樹,然后訪問根結點,最后遍歷右子樹;(3)后序遍歷(LRD)首先遍歷左子樹,然后訪問遍歷右子樹,最后訪問根結點。例: 設有如下的二叉樹 A B C D G E H F I1253674其前序遍歷(DLR)的結果為: A B D E H I C F G其中序遍歷(LDR)的結果為:D B H E I A F C G其后序遍歷(LRD)的結果為:D H I E B F G C A17查找技術順序查找的使用情況:(1)線性表為無序表;(不管是順序存儲結構還是鏈式存儲結構)(2)

13、表采用鏈式存儲結構。(即使是有序線性表) 二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,二分查找最壞情況只需比較log2n次,順序查找需要比較n次。18排序技術排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。交換類排序法:假設線性表的長度為n(1)冒泡排序法在最壞情況下,需要比較的次數為n(n-1)/2;(2)快速排序法在最壞情況下,需要比較的次數為n(n-1)/2插入類排序法:(1)簡單插入排序法,最壞情況需要n(n-1)/2次比較;(2)希爾排序法,最壞情況需要O(n1.5)次比較。選擇類排序法:(1)簡單選擇排序法,最壞情況需要n(n-1)/2次比較;(2)堆排

14、序法,最壞情況需要O(nlog2n)次比較。第二章 程序設計基礎21程序設計設計方法和風格如何形成良好的程序設計風格1、源程序文檔化;2、數據說明的方法;3、語句的結構; 4、輸入和輸出。注釋分序言性注釋和功能性注釋,語句結構清晰第一、效率第二。22結構化程序設計結構化程序設計方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語句。結構化程序的基本結構和特點:(1)順序結構:一種簡單的程序設計,最基本、最常用的結構;(2)選擇結構:又稱分支結構,包括簡單選擇和多分支選擇結構,可根據條件,判斷應該選擇哪一條分支來執行相應的語句序列;(3)重復結構:又稱循環結構,可根據

15、給定條件,判斷是否需要重復執行某一相同程序段。23面向對象的程序設計面向對象的程序設計:以60年代末挪威奧斯陸大學和挪威計算機中心研制的SIMULA語言為標志。面向對象方法的優點:(1)與人類習慣的思維方法一致;(2)穩定性好;(3)可重用性好;(4)易于開發大型軟件產品;(5)可維護性好。對象是面向對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象。面向對象的程序設計方法中的對象是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位,由一組表示其靜態特征的屬性和它可執行的一組操作組成。屬性即對象所包含的信息,操作描述了對象執行的功能,操作也稱為方法或服務。對象的

16、基本特點:(1)標識惟一性;(2)分類性;(3)多態性;(4)封裝性;(5)模塊獨立性好。類是指具有共同屬性、共同方法的對象的集合。所以類是對象的抽象,對象是對應類的一個實例。消息是一個實例與另一個實例之間傳遞的信息。消息的組成包括(1)接收消息的對象的名稱;(2)消息標識符,也稱消息名;(3)零個或多個參數。繼承是指能夠直接獲得已有的性質和特征,而不必重復定義他們。繼承分單繼承和多重繼承。單繼承指一個類只允許有一個父類,多重繼承指一個類允許有多個父類。多態性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現象。第三章 軟件工程基礎31軟件工程基本概念計算機軟件是包括程序、數據及相關文檔

17、的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產與硬件不同,它沒有明顯的制作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發、運行對計算機系統具有依賴性,受計算機系統的限制,這導致了軟件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟件開發涉及諸多的社會因素。軟件按功能分為應用軟件、系統軟件、支撐軟件(或工具軟件)。軟件危機是泛指在計算機軟件的開發和維護過程中所遇到的一系列嚴重問題(軟件開發成本和進度無法控制;質量難以保證;軟件維護程度低)軟件危機主要表現在成本、質量、生產率等問題。軟件工程是應用于計算機軟件的定義、開發和維護的一整套方法、工具、文

18、檔、實踐標準和工序。軟件工程包括3個要素:方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發、管理、文檔生成;過程支持軟件開發的各個環節的控制和管理。軟件工程的核心思想是把軟件產品看作是一個工程產品來處理。軟件工程過程:是把輸入轉化為輸出的一組彼此相關的資源和活動,包含4種基本活動:(1)P(Plan)軟件規格說明;(功能及其運行時的限制)(2)D(Do)軟件開發;(產生滿足規格說明的軟件)(3)C(Check)軟件確認;(確認軟件能夠滿足客戶提出的要求)(4)A(Action)軟件演進。軟件周期:軟件產品從提出、實現、使用維護到停止使用退役的過程。軟件生命周期三個階段:軟

19、件定義、軟件開發、運行維護軟件定義階段:(1)可行性研究與計劃制定;(2)需求分析;軟件開發階段:(3)軟件設計;(概要設計和詳細設計)(4)軟件實現;(5)軟件測試;軟件維護階段:(6)運行和維護。(7)退役軟件工程的目標與原則:目標:在給定成本、進度的前提下,開發出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。基本目標:付出較低的開發成本;達到要求的軟件功能;取得較好的軟件性能;開發軟件易于移植;需要較低的費用;能按時完成開發,及時交付使用。基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。軟件工程

20、的理論和技術性研究的內容主要包括:軟件開發技術和軟件工程管理。軟件開發技術包括:軟件開發方法學、開發過程、開發工具和軟件工程環境。軟件工程管理包括:軟件管理學、軟件工程經濟學、軟件心理學等內容。軟件管理學包括人員組織、進度安排、質量保證、配置管理、項目計劃等。軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。 現代軟件工程方法之所以得以實施,其重要的保證是軟件開發工具和環境的保證。軟件開發工具軟件開發環境(全面支持軟件開發全過程的軟件工具的集合)32結構化分析方法軟件開發方法是軟件開發過程所遵循的方法和步驟,包括分析方法、設計方法和程序設計方法。結構化方法的核心

21、和基礎是結構化程序設計理論。需求分析階段的工作:(1) 需求獲取:確定對目標系統的各方面需求(2) 需求分析:確定給出系統的解決方案和目標系統的邏輯模型(3) 編寫需求規格說明書(4) 需求評審需求分析方法有(1)結構化需求分析方法;(2)面向對象的分析的方法。結構化分析方法結構化分析方法的實質:著眼于數據流,自頂向下,逐層分解,建立系統的處理流程,以數據流圖和數據字典為主要工具,建立系統的邏輯模型。結構化分析的常用工具(1)數據流圖;(2)數據字典;(3)判定樹;(4)判定表。數據流圖:描述數據處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統功能建模。數據字典:對所有與系統相關

22、的數據元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統分析員對于輸入、輸出、存儲成分和中間計算結果有共同的理解。判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結論,根據描述材料中的連接詞找出判定條件之間的從屬關系、并列關系、選擇關系,根據它們構造判定樹。判定表:與判定樹相似,當數據流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發的,使用判定表描述比較適宜。數據字典是結構化分析的核心。軟件需求規格說明書的特點:(1)正確性;(2)無岐義性;(3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性。33

23、 結構化設計方法軟件設計的基本目標是用比較抽象概括的方式確定目標系統如何完成預定的任務,軟件設計是確定系統的物理模型。軟件設計是開發階段最重要的步驟,是將需求準確地轉化為完整的軟件產品或系統的唯一途徑。從技術觀點來看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計。結構設計:定義軟件系統各主要部件之間的關系。數據設計:將分析時創建的模型轉化為數據結構的定義。接口設計:描述軟件內部、軟件和協作系統之間以及軟件與人之間如何通信。過程設計:把系統結構部件轉換成軟件的過程描述。從工程管理角度來看:概要設計和詳細設計。軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低

24、層次的過程設計;穿插進行數據設計和接口設計。軟件設計的基本原理:(1)抽象 (2)模塊化 (3)信息屏蔽(4)模塊獨立性 衡量軟件模塊獨立性使用耦合性和內聚性兩個定性的度量標準。在程序結構中各模塊的內聚性越強,則耦合性越弱。優秀軟件應高內聚,低耦合。軟件概要設計的基本任務是:(1)設計軟件系統結構;(2)數據結構及數據庫設計;(3)編寫概要設計文檔;(4)概要設計文檔評審。常用的軟件結構設計工具是程序結構圖(SC),使用它描述軟件系統的層次和結構關系。模塊用一個矩形表示,箭頭表示模塊間的調用關系。在結構圖中還可以用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控

25、制信息,帶空心圓的箭心表示傳遞的是數據。結構圖的基本形式:基本形式、順序形式、重復形式、選擇形式。結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協調模塊。面向數據流的設計方法在需求分析階段,主要分析信息在系統中加工和流動的情況。面向數據流的設計方法定義一些映射方法,把數據流圖變換成結構圖表示的軟件結構。典型的數據流類型有兩種:變換型和事務型。變換型系統結構圖由輸入、中心變換、輸出三部分組成。事務型數據流的特點是:接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。詳細設計詳細設計是為軟件結構圖中的每一個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示

26、算法和數據結構的細節。常見的過程設計工具有:圖形工具:程序流程圖、N-S(方框圖)、PAD(問題分析圖)、HIPO表格工具:判定表語言工具:PDL34軟件測試軟件測試是保證軟件質量的重要手段,其主要過程涵蓋了整個軟件生命周期的過程,包括需求定義階段的需求測試、編碼階段的單元測試、集成測試以及后期的確認測試、系統測試。軟件測試定義:使用人工或自動手段來運行或測定某個系統的過程,其目的在于檢驗它是否滿足規定的需求或是弄清預期結果與實際結果之間的差別。軟件測試的目的:發現錯誤而執行程序的過程。一個好的測試用例是指很可能找到迄今為止尚未發現的錯誤的用例。一個成功的測試是發現了至今尚未發現的錯誤的測試。

27、測試要以查找錯誤為中心,測試只能證明程序中有錯誤,不能證明程序中沒有錯誤。軟件測試方法從是否需要執行被測軟件的角度,分為靜態測試和動態測試。按照功能劃分可以分為白盒測試和黑盒測試。(1)靜態測試和動態測試靜態測試包括代碼檢查、靜態結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。動態測試:是基本計算機的測試,是為了發現錯誤而執行程序的過程。(利用測試用例去運行程序,以發現程序錯誤的過程)測試用例是為測試設計的數據。動態測試主要包括白盒測試方法和黑盒測試方法。白盒測試也稱結構測試,根據軟件產品的內部工作過程,檢查內部成分,以確認每種內部操作符合設計規格要求。白盒測試:在程序內部進行,主要

28、用于完成軟件內部操作的驗證。主要方法有邏輯覆蓋、基本路徑測試。黑盒測試也稱功能測試,是對軟件已經實現的功能是否滿足需求進行測試和驗證。(不考慮內部的邏輯結構和內部特性,只依據程序的需求和功能規格說明,檢查程序的功能是否滿足功能說明)黑盒測試是在軟件接口處進行,完成功能驗證。黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數據結構或外部數據庫訪問錯誤、性能錯誤、初始化和終止條件錯,主要用于軟件確認測試。主要方法有等價類劃分法、邊界值分析法、錯誤推測法等。軟件測試過程一般按4個步驟進行:單元測試、集成測試、驗收測試(確認測試)和系統測試。35程序的調試注意程序測試與調試的區別: 測試是盡可能多地發現軟

29、件中的錯誤,軟件測試貫穿整個軟件生命期 調試是診斷和改正程序中的錯誤,主要在開發階段進行程序調試的基本步驟:(1)錯誤定位;(2)修改設計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。軟件調試可分為靜態調試和動態調試。靜態調試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段,而動態調試是輔助靜態調試。主要調試方法有:(1)強行排錯法;(設置斷點、程序暫停、監視表達式等)(2)回溯法;(3)原因排除法。第四章 數據庫設計基礎41數據庫系統的基本概念數據:實際上就是描述事物的符號記錄。數據的特點:有一定的結構,有型與值之分,如整型、實型、字符型等。而數據的值給出了符合定型的

30、值,如整型值15。數據庫:是數據的集合,具有統一的結構形式并存放于統一的存儲介質內,是多種應用數據的集成,并可被各個應用程序共享。數據庫存放數據是按數據所提供的數據模式存放的,具有集成與共享的特點。數據庫管理系統:一種系統軟件,負責數據庫中的數據組織、數據操縱、數據維護、控制及保護和數據服務等,是數據庫的核心。數據庫管理系統功能:(1)數據模式定義:即為數據庫構建其數據框架;(2)數據存取的物理構建:為數據模式的物理存取與構建提供有效的存取方法與手段;(3)數據操縱:為用戶使用數據庫的數據提供方便,如查詢、插入、修改、刪除等以及簡單的算術運算及統計;(4)數據的完整性、安生性定義與檢查;(5)

31、數據庫的并發控制與故障恢復;(6)數據的服務:如拷貝、轉存、重組、性能監測、分析等。為完成以上六個功能,數據庫管理系統提供以下的數據語言:(1)數據定義語言(DDL):負責數據的模式定義與數據的物理存取構建;(2)數據操縱語言(DML):負責數據的操縱,如查詢與增、刪、改等;(3)數據控制語言(DCL):負責數據完整性、安全性的定義與檢查以及并發控制、故障恢復等。數據語言按其使用方式具有兩種結構形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。目前流行的數據庫管理系統都是關系數據庫系統,如ORACLE、PowerBuider、SqlServer、Visual F

32、oxpro 和Access等。數據庫管理員:對數據庫進行規劃、設計、維護、監視等的專業管理人員。數據庫系統:由數據庫(數據)、數據庫管理系統(軟件)、數據庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個部分構成的運行實體。數據庫應用系統:由數據庫系統、應用軟件及應用界面三者組成。文件系統階段:提供了簡單的數據共享與數據管理能力,但是它無法提供完整的、統一的、管理和數據共享的能力。層次數據庫與網狀數據庫系統階段:為統一與共享數據提供了有力支撐。關系數據庫系統階段數據庫系統的基本特點:數據的集成性、數據的高共享性與低冗余性、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制

33、。數據庫系統的三級模式:(1)概念模式:數據庫系統中全局數據邏輯結構的描述,全體用戶公共數據視圖;(2)外模式:也稱子模式與用戶模式。是用戶的數據視圖,也就是用戶所見到的數據模式;(3)內模式:又稱物理模式,它給出了數據庫物理存儲結構與物理存取方法。數據庫系統的兩級映射:(1)概念模式到內模式的映射;(2)外模式到概念模式的映射。4.2數據模型數據模型的概念:是數據特征的抽象,從抽象層次上描述了系統的靜態特征、動態行為和約束條件,為數據庫系統的信息表與操作提供一個抽象的框架。描述了數據結構、數據操作及數據約束。E-R模型的基本概念(1)實體:現實世界中的事物;(2)屬性:事物的特性;(3)聯系

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

35、健中選取一個作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。關系中的數據約束:(1)實體完整性約束:約束關系的主鍵中屬性值不能為空值;(2)參照完全性約束:是關系之間的基本約束;(3)用戶定義的完整性約束:它反映了具體應用中數據的語義要求。4.3關系代數關系數據庫系統的特點之一是它建立在數據理論的基礎之上,有很多數據理論可以表示關系模型的數據操作,其中最為著名的是關系代數與關系演算。關系模型的基本運算:(1)插入(2)刪除(3)修改(4)查詢(包括投影、選擇、笛卡爾積運算)1)選擇:選擇指的是從二維關系表的全部記錄中,把那些符合指定條件的記錄挑出來。2)投影:

36、投影是從所有字段中選取一部分字段及其值進行操作,它是一種縱向操作。3)聯接:聯接將兩個關系模式拼接成一個更寬的關系模式,生成的新關系中包含滿足聯接條件的元組。4.4數據庫設計與管理數據庫設計是數據應用的核心。數據庫設計的兩種方法:(1)面向數據:以信息需求為主,兼顧處理需求;(2)面向過程:以處理需求為主,兼顧信息需求。數據庫設計階段包括:需求分析、概念分析、邏輯設計、物理設計。1)需求分析階段:這是數據庫設計的第一個階段,任務主要是收集和分析數據,這一階段收集到的基礎數據和數據流圖是下一步設計概念結構的基礎。2)概念設計階段:分析數據間內在語義關聯,在此基礎上建立一個數據的抽象模型,即形成E

37、-R圖。3)邏輯設計階段:將E-R圖轉換成指定RDBMS中的關系模式。4)物理設計階段:對數據庫內部物理結構作調整并選擇合理的存取路徑,以提高數據庫訪問速度及有效利用存儲空間。需求分析常用結構析方法和面向對象的方法。結構化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統。用數據流圖表達數據和處理過程的關系。對數據庫設計來講,數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。數據字典是各類數據描述的集合,包括5個部分:數據項、數據結構、數據流(可以是數據項,也可以是數據結構)、數據存儲、處理過程。數據庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種(1)集中式模式設計法(適用

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

39、(3)數據庫的重組;(4)數據庫安全性與完整性控制;(5)數據庫的故障恢復;(6)數據庫監控。二級公共基礎知識試題匯編一、選擇題(80道)1. 下面敘述正確的是_。A.算法的執行效率與數據的存儲結構無關B.算法的空間復雜度是指算法程序中指令(或語句)的條數C.算法的有窮性是指算法必須能在執行有限個步驟之后終止D.以上三種描述都不對2. 以下數據結構中不屬于線性數據結構的是_。A.隊列B.線性表C.二叉樹D.棧3. 在一棵二叉樹上第5層的結點數最多是_。A.8B.16C.32D.154. 下面描述中,符合結構化程序設計風格的是_。A.使用順序、選擇和重復(循環)三種基本控制結構表示程序的控制邏輯

40、B.模塊只有一個入口,可以有多個出口C.注重提高程序的執行效率D.不使用goto語句5. 下面概念中,不屬于面向對象方法的是_。A.對象B.繼承C.類D.過程調用6. 在結構化方法中,用數據流程圖(DFD)作為描述工具的軟件開發階段是_。A.可行性分析B.需求分析C.詳細設計D.程序編碼7. 在軟件開發中,下面任務不屬于設計階段的是_。A.數據結構設計B.給出系統模塊結構C.定義模塊算法D.定義需求并建立系統模型8. 數據庫系統的核心是_。A.數據模型B.數據庫管理系統C.軟件工具D.數據庫9. 下列敘述中正確的是_。A.數據庫是一個獨立的系統,不需要操作系統的支持B.數據庫設計是指設計數據庫

41、管理系統C.數據庫技術的根本目標是要解決數據共享的問題D.數據庫系統中,數據的物理結構必須與邏輯結構一致10. 下列模式中,能夠給出數據庫物理存儲結構與物理存取方法的是_。A.內模式B.外模式C.概念模式D.邏輯模式11. 算法的時間復雜度是指_。A.執行算法程序所需要的時間B.算法程序的長度C.算法執行過程中所需要的基本運算次數D.算法程序中的指令條數12. 下列敘述中正確的是_。A.線性表是線性結構B.棧與隊列是非線性結構C.線性鏈表是非線性結構D.二叉樹是線性結構13. 設一棵完全二叉樹共有699個結點,則在該二叉樹中的葉子結點數為_。A.349B.350C.255D.35114. 結構

42、化程序設計主要強調的是_。A.程序的規模B.程序的易讀性C.程序的執行效率D.程序的可移植性15. 在軟件生命周期中,能準確地確定軟件系統必須做什么和必須具備哪些功能的階段是_。A.概要設計B.詳細設計C.可行性分析D.需求分析16. 數據流圖用于抽象描述一個軟件的邏輯模型,數據流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數據流圖合法圖符的是_。A.控制流B.加工C.數據存儲D.源和潭17. 軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規格說明書以及_。A.階段性報告B.需求評審C.總結D.都不正確18. 下述關于數據庫系統的敘述中正確的是_。A.數據庫系統減

43、少了數據冗余B.數據庫系統避免了一切冗余C.數據庫系統中數據的一致性是指數據類型的一致D.數據庫系統比文件系統能管理更多的數據19. 關系表中的每一橫行稱為一個_。A.元組B.字段C.屬性D.碼20. 數據庫設計包括兩個方面的設計內容,它們是_。A.概念設計和邏輯設計B.模式設計和內模式設計C.內模式設計和物理設計D.結構特性設計和行為特性設計21. 算法的空間復雜度是指_。A.算法程序的長度B.算法程序中的指令條數C.算法程序所占的存儲空間D.算法執行過程中所需要的存儲空間22. 下列關于棧的敘述中正確的是_。A.在棧中只能插入數據B.在棧中只能刪除數據C.棧是先進先出的線性表D.棧是先進后

44、出的線性表23. 在深度為5的滿二叉樹中,葉子結點的個數為_。A.32B.31C.16D.1524. 對建立良好的程序設計風格,下面描述正確的是_。A.程序應簡單、清晰、可讀性好B.符號名的命名要符合語法C.充分考慮程序的執行效率D.程序的注釋可有可無25. 下面對對象概念描述錯誤的是_。A.任何對象都必須有繼承性B.對象是屬性和方法的封裝體C.對象間的通訊靠消息傳遞D.操作是對象的動態性屬性26. 下面不屬于軟件工程的3個要素的是_。A.工具B.過程C.方法D.環境27. 程序流程圖(PFD)中的箭頭代表的是_。A.數據流B.控制流C.調用關系D.組成關系28. 在數據管理技術的發展過程中,

45、經歷了人工管理階段、文件系統階段和數據庫系統階段。其中數據獨立性最高的階段是_。A.數據庫系統B.文件系統C.人工管理D.數據項管理29. 用樹形結構來表示實體之間聯系的模型稱為_。A.關系模型B.層次模型C.網狀模型D.數據模型30. 關系數據庫管理系統能實現的專門關系運算包括_。A.排序、索引、統計B.選擇、投影、連接C.關聯、更新、排序D.顯示、打印、制表31. 算法一般都可以用哪幾種控制結構組合而成_。A.循環、分支、遞歸B.順序、循環、嵌套C.循環、遞歸、選擇D.順序、選擇、循環32. 數據的存儲結構是指_。A.數據所占的存儲空間量B.數據的邏輯結構在計算機中的表示C.數據在計算機中

46、的順序存儲方式D.存儲在外存中的數據33. 設有下列二叉樹:對此二叉樹中序遍歷的結果為_。 (缺圖)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA34. 在面向對象方法中,一個對象請求另一對象為其服務的方式是通過發送_。A.調用語句B.命令C.口令D.消息35. 檢查軟件產品是否符合需求定義的過程稱為_。A.確認測試B.集成測試C.驗證測試D.驗收測試36. 下列工具中屬于需求分析常用工具的是_。A.PADB.PFDC.N-SD.DFD37. 下面不屬于軟件設計原則的是_。A.抽象B.模塊化C.自底向上D.信息隱蔽38. 索引屬于_。A.模式B.內模式C.外模式D.概念模式3

47、9. 在關系數據庫中,用來表示實體之間聯系的是_。A.樹結構B.網結構C.線性表D.二維表40. 將E-R圖轉換到關系模式時,實體與聯系都可以表示成_。A.屬性B.關系C.鍵D.域41. 在下列選項中,哪個不是一個算法一般應該具有的基本特征_。A.確定性B.可行性C.無窮性D.擁有足夠的情報42. 希爾排序法屬于哪一種類型的排序法_。A.交換類排序法B.插入類排序法C.選擇類排序法D.建堆排序法43. 下列關于隊列的敘述中正確的是_。A.在隊列中只能插入數據B.在隊列中只能刪除數據C.隊列是先進先出的線性表D.隊列是先進后出的線性表44. 對長度為N的線性表進行順序查找,在最壞情況下所需要的比

48、較次數為_。A.N+1B.NC.(N+1)/2D.N/245. 信息隱蔽的概念與下述哪一種概念直接相關_。A.軟件結構定義B.模塊獨立性C.模塊類型劃分D.模擬耦合度46. 面向對象的設計方法與傳統的的面向過程的方法有本質不同,它的基本原理是_。A.模擬現實世界中不同事物之間的聯系B.強調模擬現實世界中的算法而不強調概念C.使用現實世界的概念抽象地思考問題從而自然地解決問題D.鼓勵開發者在軟件開發的絕大部分中都用實際領域的概念去思考47. 在結構化方法中,軟件功能分解屬于下列軟件開發中的階段是_。A.詳細設計B.需求分析C.總體設計D.編程調試48. 軟件調試的目的是_。A.發現錯誤B.改正錯

49、誤C.改善軟件的性能D.挖掘軟件的潛能49. 按條件f對關系R進行選擇,其關系代數表達式為_。A.R|X|RC.f(R)D.f(R) B.R|X|R50. 數據庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是_。A.自頂向下B.由底向上C.由內向外D.由整體到局部51. 在計算機中,算法是指_。A.查詢方法B.加工方法C.解題方案的準確而完整的描述D.排序方法52. 棧和隊列的共同點是_。A.都是先進后出B.都是先進先出C.只允許在端點處插入和刪除元素D.沒有共同點53. 已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是_。A.cedbaB.a

50、cbedC.decabD.deabc54. 在下列幾種排序方法中,要求內存量最大的是_。A.插入排序B.選擇排序C.快速排序D.歸并排序55. 在設計程序時,應采納的原則之一是_。A.程序結構應有助于讀者理解B.不限制goto語句的使用C.減少或取消注解行D.程序越短越好56. 下列不屬于軟件調試技術的是_。A.強行排錯法B.集成測試法C.回溯法D.原因排除法57. 下列敘述中,不屬于軟件需求規格說明書的作用的是_。A.便于用戶、開發人員進行理解和交流B.反映出用戶問題的結構,可以作為軟件開發工作的基礎和依據C.作為確認測試和驗收的依據D.便于開發人員進行需求分析58. 在數據流圖(DFD)中

51、,帶有名字的箭頭表示_。A.控制程序的執行順序B.模塊之間的調用關系C.數據的流向D.程序的組成成分59. SQL語言又稱為_。A.結構化定義語言B.結構化控制語言C.結構化查詢語言D.結構化操縱語言60. 視圖設計一般有3種設計次序,下列不屬于視圖設計的是_。A.自頂向下B.由外向內C.由內向外D.自底向上61. 數據結構中,與所使用的計算機無關的是數據的_。A.存儲結構B.物理結構C.邏輯結構D.物理和存儲結構62. 棧底至棧頂依次存放元素A、B、C、D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是_。A.ABCEDB.DBCEAC.CDABED.DCBEA63. 線性表的順序

52、存儲結構和線性表的鏈式存儲結構分別是_。A.順序存取的存儲結構、順序存取的存儲結構B.隨機存取的存儲結構、順序存取的存儲結構C.隨機存取的存儲結構、隨機存取的存儲結構D.任意存取的存儲結構、任意存取的存儲結構64. 在單鏈表中,增加頭結點的目的是_。A.方便運算的實現B.使單鏈表至少有一個結點C.標識表結點中首結點的位置D.說明單鏈表是線性表的鏈式存儲實現65. 軟件設計包括軟件的結構、數據接口和過程設計,其中軟件的過程設計是指_。A.模塊間的關系B.系統結構部件轉換成軟件的過程描述C.軟件層次結構D.軟件開發過程66. 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替傳統的程序流程圖,通常也把這種圖稱為_。A.PAD圖B.N-S圖C.結構圖D.數據流圖67. 數據處理的最小單位是_。A.數據B.數據元素C.數據項D.數據結構68. 下列有關數據庫的描述,正確的是_。A.數據庫是一個DBF文件B.數據庫是一個關系C.數據庫是一個結構化的數據集合D.數據庫是一組文件69. 單個

溫馨提示

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

評論

0/150

提交評論