2020年C語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)_第1頁
2020年C語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)_第2頁
2020年C語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)_第3頁
2020年C語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)_第4頁
2020年C語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、c 語言二級(jí)公共基礎(chǔ)知識(shí)總結(jié)c 語言二級(jí)公共基礎(chǔ)知識(shí)即是計(jì)算機(jī)二級(jí)基礎(chǔ)公共知識(shí)是計(jì)算 機(jī)二級(jí)科目的考試點(diǎn), 下面是為大家的關(guān)于 c 語言二級(jí)公共基礎(chǔ)知識(shí), 希望大家喜歡 !1.1 算法 算法:是指解題方案的準(zhǔn)確而完整的描述。 算法不等于程序,也不等計(jì)算機(jī)方法,程序的編制不可能優(yōu)于 算法的設(shè)計(jì)。算法的基本特征:是一組嚴(yán)謹(jǐn)?shù)囟x運(yùn)算順序的規(guī)則,每一個(gè) 規(guī)則都是有效的,是明確的,此順序?qū)⒃谟邢薜拇螖?shù)下終止。特征包 括:(1) 可行性 ;(2) 確定性,算法中每一步驟都必須有明確定義, 不充許有模棱 兩可的解釋,不允許有多義性 ;(3) 有窮性,算法必須能在有限的時(shí)間內(nèi)做完, 即能在執(zhí)行有限 個(gè)步驟后

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

3、 即數(shù)據(jù)的邏 輯結(jié)構(gòu) ;(2) 在對(duì)數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲(chǔ)關(guān)系, 即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) ;(3) 對(duì)各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。數(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ù)的存儲(chǔ)結(jié)構(gòu)有順序、 鏈接、索引等。線性結(jié)構(gòu)條件: (1) 有且只有一個(gè)根結(jié)點(diǎn) ;(2) 每一個(gè)結(jié)點(diǎn)最多有 一個(gè)前件,也最多有一個(gè)后件。非線性結(jié)構(gòu):不滿足線性結(jié)構(gòu)條件的 數(shù)據(jù)結(jié)構(gòu)。1.3 線性表及其順序存儲(chǔ)結(jié)構(gòu) 線性表由一組數(shù)據(jù)元素構(gòu)成,數(shù)據(jù)元素的位置只取決于自己的 序號(hào),元素之間的相對(duì)位置是線性的。在復(fù)雜線性表中,由若干

4、項(xiàng)數(shù) 據(jù)元素組成的數(shù)據(jù)元素稱為記錄, 而由多個(gè)記錄構(gòu)成的線性表又稱為 文件。非空線性表的結(jié)構(gòu)特征:(1)且只有一個(gè)根結(jié)點(diǎn)al,它無前件;(2) 有且只有一個(gè)終端結(jié)點(diǎn)an,它無后件;(3)除根結(jié)點(diǎn)與終端結(jié)點(diǎn)外, 其他所有結(jié)點(diǎn)有且只有一個(gè)前件,也有且只有一個(gè)后件。結(jié)點(diǎn)個(gè)數(shù) n 稱為線性表的長(zhǎng)度,當(dāng) n=0 時(shí),稱為空表。線性表的順序存儲(chǔ)結(jié)構(gòu)具 有以下兩個(gè)基本特點(diǎn): (1) 線性表中所有元素的所占的存儲(chǔ)空間是連 續(xù)的 ;(2) 線性表中各數(shù)據(jù)元素在存儲(chǔ)空間中是按邏輯順序依次存放 的。ai 的存儲(chǔ)地址為:ADR(ai)=ADR(a1)+(i-1)k, ,ADR(a1)為第一 個(gè)元素的地址, k 代表每

5、個(gè)元素占的字節(jié)數(shù)。順序表的運(yùn)算:插入、 刪除。1.4 棧和隊(duì)列 棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入與刪除的 一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。棧按照“先進(jìn) 后出” (FILO) 或“后進(jìn)先出” (LIFO) 組織數(shù)據(jù),棧具有記憶作用。用 top 表示棧頂位置,用 bottom 表示棧底。棧的基本運(yùn)算: (1) 插入元 素稱為入棧運(yùn)算 ;(2) 刪除元素稱為退棧運(yùn)算 ;(3) 讀棧頂元素是將棧 頂元素賦給一個(gè)指定的變量, 此時(shí)指針無變化。 隊(duì)列是指允許在一端 ( 隊(duì)尾 ) 進(jìn)入插入,而在另一端 ( 隊(duì)頭 ) 進(jìn)行刪除的線性表。 Rear 指針 指向隊(duì)尾, front 指

6、針指向隊(duì)頭。隊(duì)列是“先進(jìn)行出” (FIFO) 或“后 進(jìn)后出” (LILO) 的線性表。隊(duì)列運(yùn)算包括 (1) 入隊(duì)運(yùn)算:從隊(duì)尾插入 一個(gè)元素 ;(2) 退隊(duì)運(yùn)算:從隊(duì)頭刪除一個(gè)元素。循環(huán)隊(duì)列: s=0 表示 隊(duì)列空, s=1 且 front=rear 表示隊(duì)列滿1.5 線性鏈表數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)結(jié)點(diǎn)對(duì)應(yīng)于一個(gè)存儲(chǔ)單元,這種存儲(chǔ)單元 稱為存儲(chǔ)結(jié)點(diǎn),簡(jiǎn)稱結(jié)點(diǎn)。結(jié)點(diǎn)由兩部分組成: (1) 用于存儲(chǔ)數(shù)據(jù)元 素值,稱為數(shù)據(jù)域 ;(2) 用于存放指針,稱為指針域,用于指向前一個(gè) 或后一個(gè)結(jié)點(diǎn)。 在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中, 存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不 連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,

7、 而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。 鏈?zhǔn)酱鎯?chǔ)方式即可 用于表示線性結(jié)構(gòu),也可用于表示非線性結(jié)構(gòu)。線性鏈表,HEAD為頭指針,HEAD二NUL或0)稱為空表,如果 是兩指針: 左指針 (Llink) 指向前件結(jié)點(diǎn), 右指針 (Rlink) 指向后件結(jié) 點(diǎn)。線性鏈表的基本運(yùn)算:查找、插入、刪除。1.6 樹與二叉樹 樹是一種簡(jiǎn)單的非線性結(jié)構(gòu),所有元素之間具有明顯的層次特 性。在樹結(jié)構(gòu)中,每一個(gè)結(jié)點(diǎn)只有一個(gè)前件,稱為父結(jié)點(diǎn),沒有前 件的結(jié)點(diǎn)只有一個(gè),稱為樹的根結(jié)點(diǎn),簡(jiǎn)稱樹的根。每一個(gè)結(jié)點(diǎn)可以 有多個(gè)后件,稱為該結(jié)點(diǎn)的子結(jié)點(diǎn)。沒有后件的結(jié)點(diǎn)稱為葉子結(jié)點(diǎn)。在樹結(jié)構(gòu)中,一個(gè)結(jié)點(diǎn)所擁有的后件的個(gè)數(shù)

8、稱為該結(jié)點(diǎn)的度, 所有結(jié)點(diǎn)中最大的度稱為樹的度。樹的最大層次稱為樹的深度。二叉樹的特點(diǎn): (1) 非空二叉樹只有一個(gè)根結(jié)點(diǎn) ;(2) 每一個(gè)結(jié)點(diǎn) 最多有兩棵子樹,且分別稱為該結(jié)點(diǎn)的左子樹與右子樹。二叉樹的基本性質(zhì):(1) 在二叉樹的第k層上,最多有2k-1(k > 1)個(gè)結(jié)點(diǎn);(2)深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn);(3) 度為 0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn) )總是比度為 2的結(jié)點(diǎn)多一個(gè) ;(4) 具有n個(gè)結(jié)點(diǎn)的二叉樹,其深度至少為Iog2n+1,其中Iog2n表示 取Iog2n的整數(shù)部分;(5) 具有 n 個(gè)結(jié)點(diǎn)的完全二叉樹的深度為 Iog2n+1;(6) 設(shè)完全二叉樹共有 n 個(gè)結(jié)點(diǎn)。如

9、果從根結(jié)點(diǎn)開始, 按層序 ( 每 一層從左到右 )用自然數(shù) 1, 2, ?.n 給結(jié)點(diǎn)進(jìn)行編號(hào) (k=1,2?.n) ,有 以下結(jié)論: 若k=1,則該結(jié)點(diǎn)為根結(jié)點(diǎn),它沒有父結(jié)點(diǎn);若k>1,則該結(jié) 點(diǎn)的父結(jié)點(diǎn)編號(hào)為 INT(k/2); 若2k< n,則編號(hào)為k的結(jié)點(diǎn)的左子結(jié)點(diǎn)編號(hào)為2k;否則該結(jié) 點(diǎn)無左子結(jié)點(diǎn) ( 也無右子結(jié)點(diǎn) ); 若2k+1<n,則編號(hào)為k的結(jié)點(diǎn)的右子結(jié)點(diǎn)編號(hào)為2k+1;否則 該結(jié)點(diǎn)無右子結(jié)點(diǎn)。 滿二叉樹是指除最后一層外, 每一層上的所有結(jié) 點(diǎn)有兩個(gè)子結(jié)點(diǎn),則k層上有2k-1個(gè)結(jié)點(diǎn)深度為m的滿二叉樹有2m-1 個(gè)結(jié)點(diǎn)。完全二叉樹是指除最后一層外,每一層上的結(jié)

10、點(diǎn)數(shù)均達(dá)到最大 值,在最后一層上只缺少右邊的若干結(jié)點(diǎn)。二叉樹存儲(chǔ)結(jié)構(gòu)采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),對(duì)于滿二叉樹與完全二叉 樹可以按層序進(jìn)行順序存儲(chǔ)。二叉樹的遍歷:(1)前序遍歷(DLR),首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹 ;(2) 中序遍歷 (LDR) ,首先遍歷左子樹, 然后訪問根結(jié)點(diǎn), 最后遍歷右子樹 ;(3) 后序遍歷 (LRD) 首先遍歷左子樹,然后訪問遍歷 右子樹,最后訪問根結(jié)點(diǎn)。1.7 查找技術(shù)順序查找的使用情況: (1) 線性表為無序表 ;(2) 表采用鏈?zhǔn)酱鎯?chǔ) 結(jié)構(gòu)。二分法查找只適用于順序存儲(chǔ)的有序表,對(duì)于長(zhǎng)度為 n 的有序 線性表,最壞情況只需比較 log2n 次。1.8

11、排序技術(shù) 排序是指將一個(gè)無序序列成按值非遞減順序排列的有序序列。 交換類排序法:(1) 冒泡排序法,需要比較的次數(shù)為 n(n-1)/2;(2) 快速排序法。插入類排序法: (1) 簡(jiǎn)單插入排序法,最壞情況需要 n(n-1)/2 次比較 ;(2) 希爾排序法,最壞情況需要 O(n1.5) 次比較。選擇類排序法: (1) 簡(jiǎn)單選擇排序法 , 最壞情況需要 n(n-1)/2 次 比較 ;(2) 堆排序法,最壞情況需要 O(nlog2n) 次比較。2.1 程序設(shè)計(jì)設(shè)計(jì)方法和風(fēng)格如何形成良好的程序設(shè)計(jì)風(fēng)格 1 、源程序文檔化 ;2 、數(shù)據(jù)說明 的方法 ;3 、語句的結(jié)構(gòu) ;4 、輸入和輸出。注釋分序言性

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論