2022年山東青年政治學院專升本自薦計算機科學與技術專業(yè)考試科目《C語言程序設計》、《數(shù)據(jù)結構》,兩科考試總分滿分200分,考試大綱要求如下
5.1《C語言程序設計》考試要求
?、? 考試要求
本科目考試要求考生掌握必要的基本概念、基本理論、較熟練的運算能力。主要考查學生識記、理解和應用能力,為進一步學習奠定基礎。具體內(nèi)容與要求如下:
一、C語言的結構
1.程序的構成,main函數(shù)和其他函數(shù);
2.頭文件,數(shù)據(jù)說明,函數(shù)的開始和結束標志。
二、數(shù)據(jù)類型、運算符與表達式
1.C的數(shù)據(jù)類型(常量與變量,整型,實型,字符類型,指針類型)及其定義方法;
2.C運算符的種類、運算優(yōu)先級和結合性;
3.不同類型數(shù)據(jù)間的轉換與運算;
4.C表達式類型(賦值表達式、算術表達式、關系表達式、邏輯表達式、條件表達式、逗號表達式)和求值規(guī)則;
5.數(shù)據(jù)的輸入和輸出,輸入輸出函數(shù)的使用。
三、程序基本結構
(一)選擇結構程序設計
1.用if語句實現(xiàn)選擇結構;
2.用switch語句實現(xiàn)多分支選擇結構;
3.選擇結構的嵌套。
(二)循環(huán)結構程序設計
1.while和do while循環(huán)結構;
2.for循環(huán)結構;
3.continue語句和break語句;
4.循環(huán)的嵌套。
四、數(shù)組的定義和引用
1.一維數(shù)組、二維數(shù)組的定義、初始化和引用方法;
2.一維數(shù)組的應用(如排序),二維數(shù)組的應用(如矩陣運算);
3.字符數(shù)組的定義、初始化和輸入輸出方法;
4.字符串與字符串處理函數(shù)的使用;
5.用二維數(shù)組處理多個字符串。
五、函數(shù)
1.函數(shù)的定義方法;
2.函數(shù)的類型和返回值;
3.形式參數(shù)與實在參數(shù)的兩種傳遞方式;
4.函數(shù)的正確調(diào)用方法;
5.局部變量和全局變量;
6.變量的存儲類別(自動、靜態(tài)、外部),變量的作用域和生存期。
六、指針
1.指針與指針變量的概念,指針與地址運算符;
2.指向變量、數(shù)組、字符串、函數(shù)的指針變量;
3.通過指針引用以上各類型數(shù)據(jù);
4.用指針作函數(shù)參數(shù)。
七、結構體
1.結構體類型數(shù)據(jù)的定義方法和引用方法;
2.結構體嵌套和用指針引用結構體成員;
3.結構體數(shù)組的應用。
八、文件操作
1.C語言中的文件類型;
2.文件類型指針(FILE類型指針);
3.文件的打開與關閉(fopen,fclose);
4.文件的讀寫(fputc,fgetc, fread,fwrite函數(shù));
5.文件狀態(tài)檢測(feof函數(shù))。
Ⅱ. 考試形式與題型
一、考試形式
考試采用閉卷、線上考試形式。試卷滿分100分,考試時間60分鐘。
二、題型
考試題型從以下類型中選擇:選擇題、判斷題、程序設計題、修改程序題、寫程序結果題。
5.2《數(shù)據(jù)結構》考試要求
?、? 考試要求
本科目考試內(nèi)容包括各種數(shù)據(jù)組織中的數(shù)據(jù)邏輯結構、存儲結構以及有關操作的算法,內(nèi)容涉及線性結構、樹型結構、圖狀結構、查找和排序??疾橐罂蓜澐譃椤傲私狻?、“理解”和“掌握”三個層次,旨在考查考生對各類數(shù)據(jù)結構進行運用的熟練程度、考生的計算思維以及考生運用和設計算法解決現(xiàn)實應用問題的能力。具體內(nèi)容與要求如下:
一、基本概念與算法分析基礎
(一)了解數(shù)據(jù)、數(shù)據(jù)元素、數(shù)據(jù)項、數(shù)據(jù)對象、數(shù)據(jù)結構、邏輯結構、存儲結構、數(shù)據(jù)類型和抽象數(shù)據(jù)類型的基本概念。掌握數(shù)據(jù)邏輯結構和數(shù)據(jù)存儲結構的分類。
(二)了解算法定義、性質(zhì)、設計策略以及評價標準,理解算法與程序的區(qū)別。
(三)理解問題規(guī)模、語句頻度、時間復雜性、空間復雜性的概念。掌握對非遞歸算法進行時間復雜性和空間復雜性分析的方法。
二、線性結構
(一)理解線性表的概念、特點和抽象數(shù)據(jù)類型定義。
(二)掌握順序表的實現(xiàn)方式、性質(zhì)以及各種基本運算(取值、插入、刪除、查找)。掌握單鏈表的實現(xiàn)方式、性質(zhì)以及各種基本運算(取值、插入、刪除、查找、創(chuàng)建)。理解單鏈表的變形(循環(huán)單鏈表、雙向鏈表)以及基本運算(插入、刪除)。理解順序表與單鏈表在時空性能方面的差別。
(三)理解棧的概念以及抽象數(shù)據(jù)類型定義。掌握棧的兩種存儲結構實現(xiàn)以及各種基本運算(元素入棧、元素出棧、取棧頂元素)。了解棧的現(xiàn)實應用。
(四)理解隊列的概念以及抽象數(shù)據(jù)類型定義。掌握隊列的兩種存儲結構實現(xiàn)以及各種基本運算(元素入隊、元素出隊、取隊頭元素),理解標準順序隊列與循環(huán)隊列之間的差別,掌握循環(huán)隊列基本運算(求隊列長度、元素入隊、元素出隊、取隊頭元素)。了解隊列的現(xiàn)實應用。理解棧與隊列在操作和應用方面的差別。
(五)了解數(shù)組的抽象數(shù)據(jù)類型定義。掌握數(shù)組的順序存儲結構以及該結構下的地址計算方法。了解特殊矩陣、稀疏矩陣的壓縮存儲方法。
(六)理解字符串的概念、基本操作(串賦值、串比較、求串長、串聯(lián)接、求子串)以及抽象數(shù)據(jù)類型定義。了解字符串的存儲結構。理解字符串模式匹配的BF(Brute-Force)算法。
(七)理解廣義表的相關概念(廣義表、廣義表長度、表頭、表尾),掌握廣義表的基本操作(取表頭、取表尾),了解廣義表的存儲結構。
三、樹型結構
(一)理解樹的定義以及相關概念(結點、度、葉子、非終端結點、雙親、孩子、兄弟、祖先、子孫、層次、堂兄弟、深度、有序樹、無序樹、森林)以及樹的抽象數(shù)據(jù)類型定義。
(二)掌握二叉樹的定義、性質(zhì)、各種存儲結構和遍歷算法(前序遍歷、中序遍歷、后序遍歷和層次遍歷)。了解線索二叉樹的概念、分類、存儲結構及線索化算法。
(三)掌握樹的三種存儲結構(雙親表示法、孩子表示法、孩子兄弟表示法)以及樹、森林與二叉樹間的相互轉換方法。理解樹和森林的遍歷算法。
(四)掌握哈夫曼樹的定義以及相關概念(路徑、路徑長度、樹的路徑長度、權、結點的帶權路徑長度、樹的帶權路徑長度),理解哈夫曼編碼的基本思想,掌握哈夫曼樹的構造方法以及哈夫曼編碼方法。
四、圖狀結構
(一)理解圖的基本概念(有向圖、無向圖、子圖、有向完全圖、無向完全圖、稀疏圖、稠密圖、權、網(wǎng)、鄰接點、度、入度、出度、路徑、路徑長度、回路、環(huán)、簡單路徑、連通圖、連通分量、強連通圖、強連通分量、連通圖的生成樹)。掌握圖的鄰接矩陣和鄰接表存儲結構,理解這兩種存儲結構的優(yōu)缺點。
(二)理解圖的兩種遍歷的基本思想,掌握圖的兩種遍歷算法。
(三)掌握最小生成樹的概念以及求圖的最小生成樹的算法(Kruskal和Prim算法)。
(四)掌握求圖的單源最短路徑問題算法(Dijkstra算法)以及所有頂點間最短路徑問題算法(Floyd算法)。
(五)理解頂點表示活動網(wǎng)絡(AOV網(wǎng))的概念,掌握求拓撲排序的算法。
(六)理解邊表示活動網(wǎng)絡(AOE網(wǎng))的概念,掌握求關鍵路徑的算法。
五、散列與查找算法
(一)理解查找相關概念(查找表、關鍵字、動態(tài)查找表、靜態(tài)查找表)及基于平均查找長度的效率評價方法。
(二)理解散列查找的基本思想和沖突的概念。了解散列函數(shù)的構造方法以及沖突處理方法。
(三)掌握順序查找算法、折半查找算法,理解分塊查找算法。
(四)了解二叉排序樹、平衡二叉樹、B-樹和B+樹的概念。
六、排序算法
(一)掌握典型的插入排序算法(直接插入排序、希爾排序)。
(二)掌握典型的交換排序算法(起泡排序、快速排序)。
(三)了解典型選擇排序算法的基本思想(簡單選擇排序、錦標賽排序、堆排序)。
(四)了解歸并排序和基數(shù)排序的基本思想。
Ⅱ. 考試形式與題型
一、 考試形式
考試采用閉卷、線上考試形式。試卷滿分100分,考試時間60分鐘。
二、 題型
考試題型從以下類型中選擇:單項選擇題、判斷題、辨析題、簡答題、操作題、綜合應用題、算法設計題。