在學習這條路上,有人激動,有人沮喪,我不管,至少我為了學習付出,我收穫了快樂,我辛勤的耕耘,學習會給我豐碩的回報。我相信自己!我相信學習!我相信只要努力,就會有回報! 以下是小編為大家搜尋整理了C語言公共基礎知識要點,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
第一章 資料結構與演算法
1.1 演算法
1.2 資料結構的基本基本概念
(1(2
線性結構條件:
(1)有且只有一個根結點;
(2)每一個結點最多有一個前件,也最多有一個後件。
非線性結構:不滿足線性結構條件的資料結構。
1.3 線性表及其順序儲存結構
線性表的順序儲存結構具有以下兩個基本特點:
(1)線性表中所有元素的所佔的儲存空間是連續的;
(2)線性表中各資料元素在儲存空間中是按邏輯順序依次存放的。
1.4 棧和佇列
1、先進後出 FILO;
1、支援子程式呼叫;
2、具有記憶功能;
3、可以不用順序存放資料;
4、只能夠在top首部進行操作,bottom是絕對不動的;
5、棧的存放資料的個數為 num = (bottom – top)+1;
1、Rear指標指向隊尾,
front指標指向隊頭。
3、先進先出FIFO,或者是後進後出LILO
2、迴圈佇列裡面的個數計算方法:
A、rear > front 的時候, num = rear – front;
B、rear < front 的時候, num = rear + n – front;
1.5 線性連結串列
在鏈式儲存結構中,儲存資料結構的儲存空間可以不連續,各資料結點的儲存順序與資料元素之間的邏輯關係可以不一致,而資料元素之間的邏輯關係是由指標域來確定的。
鏈式儲存方式即可用於表示線性結構,也可用於表示非線性結構。
1.6 樹與二叉樹
在樹結構中,一個結點所擁有的後件的個數稱為該結點的度,所有結點中最大的度稱為樹的度。樹的最大層次稱為樹的深度。
子樹。
二叉樹的基本性質:必考的題目
(1)在二叉樹的第k層上,最多有2(k≥1)個結點;
(2)深度為m的二叉樹最多有2-1個結點;
(3)度為0的結點(即葉子結點)總是比度為2的結點多一個;
(4)二叉樹中 n = n0 +n1 +n2
每一層上的所有結點有兩個子結點,則k層上有2k-1個結點深度為m的滿二叉樹有2m-1個結點。
二叉樹的遍歷:(一般畫個圖要你把順序寫出來)
1.7 查詢技術
順序查詢的使用情況:
長度為n的線性表,找出一個數據,最差的情況為比較n 次。
長度為n的線性表,找出一個最大資料,最差的情況為比較n-1 次。
二分查詢:對於長度為n的有序線性表,最壞情況只需比較
1.8 排序技術
排序是指將一個無序序列整理成按值非遞減順序排列的有序序列。
交換類排序法:(1
(2。
插入類排序法:(1
(2
選擇類排序法:(1)簡單選擇排序法,
(2)堆排序法,最壞情況需要
第二章程式設計基礎
2.1 程式設計設計方法和風格
程式設計方法有兩種,結構化程式設計 和 面向物件程式設計。
2.2 結構化程式設計
結構化程式設計方法的四條原則是:考試重點都要背下來
1. 自頂向下;2. 逐步求精;3.模組化;4.限制使用goto語句。
注意,這四個特點中,最重要的是 模組化。
結構化程式的基本結構和特點:順序結構選擇結構迴圈結構
2.3 面向物件的程式設計
面向物件的程式設計:以物件為核心。
面向物件具備哪些基本概念:
物件、類和例項、訊息、繼承、多型性、
面向物件的程式設計方法中的物件是系統中用來描述客觀事物的一個實體,是構成系統的一個基本單位,由一組表示其靜態特徵的屬性和它可執行的一組操作組成。
mk-1
物件的基本特點:
(1)標識惟一性;
(2)分類性;
(3)多型性; 重點
(4)封裝性; 重點
(5)模組獨立性好。
訊息的組成包括: (1) 接收訊息的物件的名稱;(2)訊息識別符號,也稱訊息名;(3)零個或多個引數。
繼承分單繼承和多重繼承。物件也可以沒有繼承。
1、單繼承指一個類只允許有一個父類,
2、多重繼承指一個類允許有多個父類。
第三章軟體工程基礎
3
.1 軟體工程基本概念
軟體的特點包括:
(1)軟體是一種邏輯實體;
(2)軟體的生產與硬體不同,它沒有明顯的製作過程;
(3)軟體在執行、使用期間不存在磨損、老化問題;
(4)軟體的開發、執行對計算機系統具有依賴性,
(5)軟體複雜性高,成本昂貴;
(6)軟體開發涉及諸多的社會因素。
1、資料庫管理系統是系統軟體。
2、教務處管理系統是應用軟體。
軟體危機主要表現在成本、質量、生產率等問題。
軟體工程包括3個要素:方法、工具、過程。
方法:完成軟體工程專案的技術手段。
工具:支援軟體的開發、管理、文件生成。
過程:支援軟體開發的各個環節的控制、管理。
主要活動階段是:
需求分析,詳細設計和概要設計是開發階段。
3.2 結構化分析方法
需求分析方法有(1
需求分析階段工作4個方面:
結構化分析的常用工具:
(1 (2 (3
(4
資料流圖:描述資料處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支援系統功能
建模。
資料字典:對所有與系統相關的資料元素的一個有組織的列表,以及精確的、嚴格的定義,使得
使用者和系統分析員對於輸入、輸出、儲存成分和中間計算結果有共同的理解。
軟體需求規格說明書的特點:(核心的是無歧義性)
(1)正確性;(2)無岐義性;(3)完整性;
(4)可驗證性;
(5)一致性;(6)可理解性;(7
)可追蹤性。
3.3 結構化設計方法
軟體設計的基本目標是用比較抽象概括的方式確定目標系統如何完成預定的任務,
。
軟體設計的一般過程:軟體設計是一個迭代的過程;先進行高層次的結構設計;後進行低層次的過程設計;穿插進行資料設計和介面設計。
耦合性:對一個軟體結構中不同模組之間互連程度的度量。
內聚性:一個模組內部各個元素間彼此結合的緊密程度的度量。
軟體概要設計的基本任務是:
(1)設計軟體系統結構; (2)資料結構及資料庫設計;
(3)編寫概要設計文件; (4)概要設計文件評審。
常見的過程設計工具有:考試重點
程式流程圖是考試重點,其中->箭頭表示控制流,<>菱形表示邏輯條件。