c語言二級公共基礎(chǔ)知識_第1頁
c語言二級公共基礎(chǔ)知識_第2頁
c語言二級公共基礎(chǔ)知識_第3頁
c語言二級公共基礎(chǔ)知識_第4頁
c語言二級公共基礎(chǔ)知識_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c語言二級公共基礎(chǔ)知識今天為大家?guī)砹擞嬎銠C二級考試中C語言部分的內(nèi)容,下面這些都是干貨,不管你是新生老生都值得收藏喲,看看下面的c語言二級公共基礎(chǔ)知識吧!

第一章數(shù)據(jù)結(jié)構(gòu)與算法

1.1算法

1.算法的基本概念

1概念:算法是指一系列解決問題的清晰指令。

24個基本特征:可行性、確定性、有窮性、擁有足夠的情報。

3兩種基本要素:對數(shù)據(jù)對象的運算和操作、算法的控制結(jié)構(gòu)運算和操作時問的順序。

4設(shè)計的基本方法:列舉法、歸納法、遞推法、遞歸法、減半遞推技術(shù)和回溯法。

2.算法的復(fù)雜度

1算法的時間復(fù)雜度:執(zhí)行算法所需要的計算工作量。

2算法的空間復(fù)雜度:執(zhí)行算法所需的內(nèi)存空間。

1.2數(shù)據(jù)結(jié)構(gòu)的基本概念

數(shù)據(jù)結(jié)構(gòu)指相互有關(guān)聯(lián)的數(shù)據(jù)元素的集合,即數(shù)據(jù)的組織形式。其中邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間邏輯關(guān)系;存儲結(jié)構(gòu)為數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機存儲空間中的存放形式,有順序存儲、鏈式存儲、索引存儲和散列存儲4種方式。

數(shù)據(jù)結(jié)構(gòu)按各元素之間前后件關(guān)系的復(fù)雜度可劃分為:

1線性結(jié)構(gòu):有且只有一個根節(jié)點,且每個節(jié)點最多有一個直接前驅(qū)和一個直接后繼的非空數(shù)據(jù)結(jié)構(gòu)。

2非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。

1.3線性表及其順序存儲結(jié)構(gòu)

1.線性表的基本概念

線性結(jié)構(gòu)又稱線性表,線性表是最簡單也是最常用的一種數(shù)據(jù)結(jié)構(gòu)。

2.線性表的順序存儲結(jié)構(gòu)

元素所占的存儲空間必須連續(xù)。

元素在存儲空間的位置是按邏輯順序存放的。

3.線性表的插入運算

在第i個元素之前插入一個新元素的步驟如下:

步驟一:把原來第n個節(jié)點至第i個節(jié)點依次往后移一個元素位置。

步驟二:把新節(jié)點放在第i個位置上。

步驟三:修正線性表的節(jié)點個數(shù)。

在最壞情況下,即插入元素在第一個位置,線性表中所有元素均需要移動。

4.線性表的刪除運算

刪除第i個位置的元素的步驟如下:

步驟一:把第i個元素之后不包括第i個元素的n-i個元素依次前移一個位置;

步驟二:修正線性表的結(jié)點個數(shù)。

1.4棧和隊列

1.棧及其基本運算

1基本概念:棧是一種特殊的線性表,其插入運算與刪除運算都只在線性表的一端進行,也被稱為“先進后出”表或“后進先出”表。

棧頂:允許插入與刪除的一端。

棧底:棧頂?shù)牧硪欢恕?/p>

空棧:棧中沒有元素的棧。

2特點。

棧頂元素是最后被插入和最早被刪除的元素。

棧底元素是最早被插入和最后被刪除的元素。

棧有記憶作用。

在順序存儲結(jié)構(gòu)下,棧的插入和刪除運算不需移動表中其他數(shù)據(jù)元素。

棧頂指針top動態(tài)反映了棧中元素的變化情況

3順序存儲和運算:入棧運算、退棧運算和讀棧頂運算。

2.隊列及其基本運算

1基本概念:隊列是指允許在一端進行插入,在另一端進行刪除的線性表,又稱“先進先出”的線性表。

隊尾:允許插入的一端,用尾指針指向隊尾元素。

排頭:允許刪除的一端,用頭指針指向頭元素的前一位置。

2循環(huán)隊列及其運算。

所謂循環(huán)隊列,就是將隊列存儲空間的最后一個位置繞到第一個位置,形成邏輯上的環(huán)狀空間。

入隊運算是指在循環(huán)隊列的隊尾加入一個新元素。

當循環(huán)隊列非空s=1且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行人隊運算,這種情況稱為“上溢”。

退隊運算是指在循環(huán)隊列的隊頭位置退出一個元素并賦給指定的變量。首先將隊頭指針進一,然后將排頭指針指向的元素賦給指定的變量。當循環(huán)隊列為空s=0時,不能進行退隊運算,這種情況稱為“下溢”。

1.5線性鏈表

在定義的鏈表中,若只含有一個指針域來存放下一個元素地址,稱這樣的鏈表為單鏈表或線性鏈表。

在鏈式存儲方式中,要求每個結(jié)點由兩部分組成:一部分用于存放數(shù)據(jù)元素值,稱為數(shù)據(jù)域;另一部分用于存放指針,稱為指針域。其中指針用于指向該結(jié)點的前一個或后一個結(jié)點即前件或后件。

1.6樹和二叉樹

1.樹的基本概念

樹是簡單的非線性結(jié)構(gòu),樹中有且僅有一個沒有前驅(qū)的節(jié)點稱為“根”,其余節(jié)點分成m個互不相交的有限集合T1,T2,…,Tmm,每個集合又是一棵樹,稱T1,T2,…,Tmm為根結(jié)點的子樹。

父節(jié)點:每一個節(jié)點只有一個前件,無前件的節(jié)點只有一個,稱為樹的根結(jié)點簡稱樹的根。

子節(jié)點:每~個節(jié)點可以后多個后件,無后件的節(jié)點稱為葉子節(jié)點。

樹的度:所有節(jié)點最大的度。

樹的深度:樹的最大層次。

2.二叉樹的定義及其基本性質(zhì)

1二叉樹的定義:二叉樹是一種非線性結(jié)構(gòu),是有限的節(jié)點集合,該集合為空空二叉樹或由一個根節(jié)點及兩棵互不相交的左右二叉子樹組成。可分為滿二叉樹和完全二叉樹,其中滿二叉樹一定是完全二叉樹,但完全二叉樹不一定是滿二叉樹。二叉樹具有如下兩個特點:

二叉樹可為空,空的二叉樹無節(jié)點,非空二叉樹有且只有一個根結(jié)點;

每個節(jié)點最多可有兩棵子樹,稱為左子樹和右子樹。

2二叉樹的基本性質(zhì)。

性質(zhì)1:在二叉樹的第k層上至多有2k-1個結(jié)點k≥1。

性質(zhì)2:深度為m的二叉樹至多有2m-1個結(jié)點。

性質(zhì)3:對任何一棵二叉樹,度為0的結(jié)點即葉子結(jié)點總是比度為2的結(jié)點多一個。

性質(zhì)4:具有n個結(jié)點的完全二叉樹的深度至少為+1,其中表示log2n的整數(shù)部分。

3.滿二叉樹與完全二叉樹

1滿二叉樹:滿二叉樹是指這樣的一種二叉樹:除最后一層外,每一層上的所有結(jié)點都有兩個子結(jié)點。滿二叉樹在其第i層上有2i-1個結(jié)點。

從上面滿二叉樹定義可知,二叉樹的每一層上的結(jié)點數(shù)必須都達到最大,否則就不是滿二叉樹。深度為m的滿二叉樹有2m-1個結(jié)點。

2完全二叉樹:完全二叉樹是指這樣的二叉樹:除最后一層外,每一層上的結(jié)點數(shù)均達到最大值;在最后一層上只缺少右邊的若干結(jié)點。

如果—棵具有n個結(jié)點的深度為k的二叉樹,它的每—個結(jié)點都與深度為k的滿二叉樹中編號為1~n的結(jié)點——對應(yīng)。

3.二叉樹的存儲結(jié)構(gòu)

二叉樹通常采用鏈式存儲結(jié)構(gòu),存儲節(jié)點由數(shù)據(jù)域和指針域左指針域和右指針域組成。二叉樹的鏈式存儲結(jié)構(gòu)也稱二叉鏈表,對滿二叉樹和完全二叉樹可按層次進行順序存儲。

4.二叉樹的遍歷

二叉樹的遍歷是指不重復(fù)地訪問二叉樹中所有節(jié)點,主要指非空二叉樹,對于空二叉樹則結(jié)束返回。二叉樹的遍歷包括前序遍歷、中序遍歷和后序遍歷。

1前序遍歷。

前序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹;并且,在遍歷左右子樹時,仍然先訪問根結(jié)點,然后遍歷左子樹,最后遍歷右子樹。前序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則①訪問根結(jié)點;②前序遍歷左子樹;③前序遍歷右子樹。

2中序遍歷。

中序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹;并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后訪問根結(jié)點,最后遍歷右子樹。中序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則①中序遍歷左子樹;②訪問根結(jié)點;③中序遍歷右子樹。

3后序遍歷。

后序遍歷是指在訪問根結(jié)點、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點,并且,在遍歷左、右子樹時,仍然先遍歷左子樹,然后遍歷右子樹,最后訪問根結(jié)點。后序遍歷描述為:若二叉樹為空,則執(zhí)行空操作;否則①后序遍歷左子樹;②后序遍歷右子樹;③訪問根結(jié)點。

1.7查找技術(shù)

1順序查找:在線性表中查找指定的元素。

2最壞情況下,最后一個元素才是要找的元素,則需要與線性表中所有元素比較,比較次數(shù)為n。

3二分查找:二分查找也稱折半查找,它是一種高效率的查找方法。但二分查找有條件限制,它要求表必須用順序存儲結(jié)構(gòu),且表中元素必須按關(guān)鍵字有序升序或降序均可排列。對長度為n的有序線性表,在最壞情況下,二分查找法只需比較log2n次。

1.8排序技術(shù)

1交換類排序法。

冒泡排序:通過對待排序序列從后向前或從前向后,依次比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,使較大的元素逐漸從前部移向后部或較小的元素逐漸從后部移向前部,直到所有元素有序為止。在最壞情況下,對長度為n的線性表排序,冒泡排序需要比較的次數(shù)為nn-1/2。

快速排序:是迄今為止所有內(nèi)排序算法中速度最快的一種。它的基本思想是:任取待排序序列中的某個元素作為基準一般取第一個元素,通過一趟排序,將待排元素分為左右兩個子序列,左子序列元索的排序碼均小于或等于基準元素的排序碼,右子序列的排序碼則大于基準元素的排序碼,然后分別對兩個子序列繼續(xù)進行排序,直至整個序列有序。最壞情況下,即每次劃分,只得到一個序列,時間效率為On2。

2插人類排序法。

簡單插入排序法:把n個待排序的元素看成為一個有序表和一個無序表,開始時有序表中只包含一個元素,無序表中包含有n-1個元素,排序過程中每次從無序表中取出第一個元素,把它的排序碼依次與有序表元素的排序碼進行比較,將它插入到有序表中的適當位置,使之成為新的有序表。在最壞情況下,即初始排序序列是逆序的情況下,比較次數(shù)為nn-1/2,移動次數(shù)為nn-1/2。

希爾排序法:先將整個待排元素序列分割成若干個子序列由相隔某個“增量”的元素組成的分別進行直接插入排序。待整個序列中的元素基本有序增量足夠小時,再對全體元素進行一次直接插入排序。

3選擇類排序法。

簡單選擇排序法:掃描整個線性表。從中選出最小的元素。將它交換到表的最前面;然后對剩下的子表采用同樣的方法,直到子表空為止。最壞情況下需要比較nn-1/2次。

堆排序的方法:首先將一個無序序列建成堆;然后將堆頂元素序列中的最大項與堆中最后一個元素交換最大項應(yīng)該在序列的最后。不考慮已經(jīng)換到最后的那個元素,只考慮前n-1個元素構(gòu)成的子序列,將該子序列調(diào)整為堆。反復(fù)做步驟②,直到剩下的子序列空為止。在最壞情況下,堆排序法需要比較的次數(shù)為0nlog2n

第二章程序設(shè)計基礎(chǔ)

2.1程序設(shè)計方法與風(fēng)格

1設(shè)計方法:指設(shè)計、編制、調(diào)試程序的方法和過程,主要有結(jié)構(gòu)化程序設(shè)計方法、軟件工程方法和面向?qū)ο蠓椒ā?/p>

2設(shè)計風(fēng)格:良好的設(shè)計風(fēng)格要注重源程序文檔化、數(shù)據(jù)說明方法、語句的結(jié)構(gòu)和輸入輸出。

2.2結(jié)構(gòu)化程序設(shè)計

1.結(jié)構(gòu)化程序設(shè)計的原則

結(jié)構(gòu)化程序設(shè)計強調(diào)程序設(shè)計風(fēng)格和程序結(jié)構(gòu)的規(guī)范化,提倡清晰的結(jié)構(gòu)。。

1自頂向下:即先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。

2逐步求精:對復(fù)雜問題,應(yīng)設(shè)計一些子目標做過渡,逐步細化。

3模塊化:把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊;

4限制使用GOT0語句。

2.結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點

1順序結(jié)構(gòu):自始至終嚴格按照程序中語句的先后順序逐條執(zhí)行,是最基本、最普遍的結(jié)構(gòu)形式。

2選擇結(jié)構(gòu):又稱為分支結(jié)構(gòu),包括簡單選擇和多分支選擇結(jié)構(gòu)。

3重復(fù)結(jié)構(gòu):又稱為循環(huán)結(jié)構(gòu),根據(jù)給定的條件,判斷是否需要重復(fù)執(zhí)行某一相同的或類似的程序段。

結(jié)構(gòu)化程序設(shè)計中,應(yīng)注意事項:

1使用程序設(shè)計語言中的順序、選擇、循環(huán)等有限的控制結(jié)構(gòu)表示程序的控制邏輯。

2選用的控制結(jié)構(gòu)只準許有一個人口和一個出口。

3程序語言組成容易識別的塊,每塊只有一個入口和一個出口。

4復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)。

5語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬。

6盡量避免GOT0語句的使用。

2.3面向?qū)ο蟮某绦蛟O(shè)計

面向?qū)ο蠓椒ǖ谋举|(zhì)是主張從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),強調(diào)建立的系統(tǒng)能映射問題域。

對象:用來表示客觀世界中任何實體,可以是任何有明確邊界和意義的東西。

類:具有共同屬性、共同方法的對象的集合。

實例:一個具體對象就是其對應(yīng)分類的一個實例。

消息:實例間傳遞的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。

繼承:使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。

多態(tài)性:指對象根據(jù)所接受的信息而作出動作,同樣的信息被不同的對象接收時有不同行動的現(xiàn)象。面向?qū)ο蟪绦蛟O(shè)計的優(yōu)點:與人類習(xí)慣的思維方法一致、穩(wěn)定性好、可重用性好、易于開發(fā)大型軟件產(chǎn)品、可維護性好。

第三章軟件工程基礎(chǔ)

3.1軟件工程基本概念

1.軟件的定義與特點

1定義:軟件是指與計算機系統(tǒng)的操作有關(guān)的計算機程序、規(guī)程、規(guī)則,以及可能有的文件、文檔和數(shù)據(jù)。

2特點。

是邏輯實體,有抽象性。

生產(chǎn)沒有明顯的制作過程。

運行使用期間不存在磨損、老化問題。

開發(fā)、運行對計算機系統(tǒng)有依賴性,受計算機系統(tǒng)的限制,導(dǎo)致了軟件移植問題。

復(fù)雜性較高,成本昂貴。

開發(fā)涉及諸多社會因素。

2.軟件的分類

軟件可分應(yīng)用軟件、系統(tǒng)軟件和支撐軟件3類。

1應(yīng)用軟件是特定應(yīng)用領(lǐng)域內(nèi)專用的軟件。

2系統(tǒng)軟件居于計算機系統(tǒng)中最靠近硬件的一層,是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務(wù)的軟件。

3支撐軟件介于系統(tǒng)軟件和應(yīng)用軟件之間,是支援其它軟件的開發(fā)與維護的軟件。

3.軟件危機與軟件工程

軟件危機指在計算機軟件的開發(fā)和維護中遇到的一系列嚴重問題。軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序,包括軟件開發(fā)技術(shù)和軟件工程管理。

4.軟件生命周期

軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用的過程稱為軟件生命周期。

在國家標準中,軟件生命周期劃分為8個階段①軟件定義期:包括問題定義、可行性研究和需求分析3個階段。②軟件開發(fā)期:包括概要設(shè)計、詳細設(shè)計、實現(xiàn)和測試4個階段。③運行維護期:即運行維護階段。

5.軟件工程的原則

軟件工程的原則包括:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。

3.2結(jié)構(gòu)化分析方法

需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程,可概括為:需求獲取、需求分析、編寫需求規(guī)格說明書和需求評審。

1.常用的分析方法

結(jié)構(gòu)化分析方法:其實質(zhì)著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程。

面向?qū)ο蠓治龇椒ā?/p>

2.結(jié)構(gòu)化分析常用工具

結(jié)構(gòu)化分析常用工具包括數(shù)據(jù)流圖、數(shù)字字典核心方法、判斷樹和判斷表。

1數(shù)據(jù)流圖:即DFD圖,以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,它只反映系統(tǒng)必須完成的邏輯功能。是一種功能模型。

符號名稱作用:

箭頭代表數(shù)據(jù)流,沿箭頭方向傳送數(shù)據(jù)的通道

圓或橢圓代表加工,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出

雙杠代表存儲文件,表示處理過程中存放各種數(shù)據(jù)文件

方框代表源和潭,表示系統(tǒng)和環(huán)境的接口

2數(shù)據(jù)字典:結(jié)構(gòu)化分析方法的核心。數(shù)據(jù)字典是對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表。以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。

3判定樹:使用判定樹進行描述時,應(yīng)先從問題定義的文字描述中分清判定的條件和判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之問的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。

4判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合引發(fā)的,使用判定表比較適宜。

3.軟件需求規(guī)格說明書

軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)的重要文檔之一。

1軟件需求規(guī)格說明書的作用:①便于用戶、開發(fā)人員進行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認測試和驗收的依據(jù)。

2軟件需求規(guī)格說明書的內(nèi)容:①概述;②數(shù)據(jù)描述;③功能描述;④性能描述;⑤參考文獻;⑥附錄。

3軟件需求規(guī)格說明書的特點:①正確性;②無歧義性;③完整性;④可驗證性;⑤一致性;⑥可理解性;⑦可修改性;⑧可追蹤性。

3.3結(jié)構(gòu)化設(shè)計方法

1.軟件設(shè)計的基本概念和方法

軟件沒計是一個把軟件需求轉(zhuǎn)換為軟件表示的過程。

1基本原理:抽象、模塊化、信息隱藏、模塊獨立性度量標準:耦合性和內(nèi)聚性,高耦合、低內(nèi)聚。

2基本思想:將軟件設(shè)計成由相對獨立、單一功能的模塊組成的結(jié)構(gòu)。

2.概要設(shè)計

14個任務(wù):設(shè)計軟件系統(tǒng)結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計、編寫概要設(shè)計文檔、概要設(shè)計文檔評審。

2面向數(shù)據(jù)流的設(shè)計方法:數(shù)據(jù)流圖的信息分為交換流和事物流,結(jié)構(gòu)形式有交換型和事務(wù)型。

3.詳細設(shè)計的工具

詳細設(shè)計的工具包括:

圖形工具:程序流程圖、N-S、PAD、HIPO。

表格工具:判定表。

語言工具:PDL偽碼。

3.4軟件測試

1.目的

為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。

2.準則

所有測試應(yīng)追溯到用戶需求。

嚴格執(zhí)行測試計劃,排除測試的隨意性。

充分注意測試中的群集現(xiàn)象。

程序員應(yīng)避免檢查自己的程序。

窮舉測試不可能。

妥善保存設(shè)計計劃、測試用例、出錯統(tǒng)計和最終分析報告。

3.軟件測試技術(shù)和方法

軟件測試的方法按是否需要執(zhí)行被測軟件的角度,可分為靜態(tài)測試和動態(tài)測試,按功能分為白盒測試和黑盒測試。

1白盒測試:根據(jù)程序的內(nèi)部邏輯設(shè)計測試用例,主要方法有邏輯覆蓋測試、基本路徑測試等。

2黑盒測試:根據(jù)規(guī)格說明書的功能來設(shè)計測試用例,主要診斷方法有等價劃分法、邊界值分析法、錯誤推測法、因果圖法等,主要用于軟件確認測試。

4.軟件測試的實施

軟件測試是保證軟件質(zhì)量的重要手段,軟件測試是一個過程,其測試流程是該過程規(guī)定的程序,目的是使軟件測試工作系統(tǒng)化。

軟件測試過程分4個步驟,即單元測試、集成測試、驗收測試和系統(tǒng)測試。

單元測試是對軟件設(shè)計的最小單位——模塊程序單元進行正確性檢驗測試。

單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯誤。

單元測試的依據(jù)是詳細的設(shè)計說明書和源程序。

單元測試的技術(shù)可以采用靜態(tài)分析和動態(tài)測試。

3.5程序的調(diào)試

1任務(wù):診斷和改正程序中的錯誤。

2調(diào)試方法:強行排錯法、回溯法和原因排除法。

第四章數(shù)據(jù)庫設(shè)計基礎(chǔ)

4.1數(shù)據(jù)庫系統(tǒng)的基本概念

1數(shù)據(jù)Data:描述事物的符號記錄。

2數(shù)據(jù)庫DataBase:長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。

3數(shù)據(jù)庫管理系統(tǒng)的概念

數(shù)據(jù)庫管理系統(tǒng)DataBaseManagementSystem,DBMS是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操作、數(shù)據(jù)維護、數(shù)據(jù)控制及保護和數(shù)據(jù)服務(wù)等。為完成以上6個功能,DBMS提供了相應(yīng)的數(shù)據(jù)語言;數(shù)據(jù)定義語言負責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;數(shù)據(jù)操縱語言負責(zé)數(shù)據(jù)的操縱;數(shù)據(jù)控制語言負責(zé)數(shù)據(jù)完整性、安全性的定義。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,它位于用戶和操作系統(tǒng)之間,從軟件分類的角度來說,屬于系統(tǒng)軟件。

4數(shù)據(jù)庫技術(shù)發(fā)展經(jīng)歷了3個階段。

人工管理階段→文件系統(tǒng)階段→數(shù)據(jù)庫系統(tǒng)階段

5數(shù)據(jù)庫系統(tǒng)的特點:集成性、高共享性、低冗余性、數(shù)據(jù)獨立性、數(shù)據(jù)統(tǒng)一管理與控制等。

6數(shù)據(jù)庫系統(tǒng)的內(nèi)部機構(gòu)體系:三級模式概念模式、內(nèi)模式、外模式和二級映射外模式/概念模式的映射、概念模式/內(nèi)模式的映射構(gòu)成了數(shù)據(jù)庫系統(tǒng)內(nèi)部的抽象結(jié)構(gòu)體系。

4.2數(shù)據(jù)模型

數(shù)據(jù)模型是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,描述的內(nèi)容有數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)約束。有3個層次:概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。

1E—R模型:提供了表

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論