在學習這條路上,有人激動,有人沮喪,我不管,至少我為了學習付出,我收穫了快樂,我辛勤的耕耘,學習會給我豐碩的回報。我相信自己!我相信學習!我相信只要努力,就會有回報! 以下是小編為大家搜索整理了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)概要設計文檔評審。
常見的過程設計工具有:考試重點
程序流程圖是考試重點,其中->箭頭表示控制流,<>菱形表示邏輯條件。