805《C语言程序设计与数据结构》课程考试概要
1、考试总体需要
本考试概要适用于考试报名我校电子与通信工程专业--AI与云数据剖析方向的硕士研究生入学考试。主要涵盖《C语言程序设计》和《数据结构》两门课程的内容,所占的比率为40%和60%。
《C语言程序设计》课程的考试目的是需要学生学会C语言入门知识;熟练学会结构化程序设计的办法,形成好的程序设计风格;学会程序设计中基本的数据结构和算法,达到练习学生的逻辑思维能力的目的。
《数据结构》课程的考试目的是需要考生比较系统地理解数据结构的基本定义、基本原理和办法,学会数据的逻辑结构、存储结构及其差异,与各种基本操作的达成。可以运用所学的基本原理和基本办法剖析、判断和解决有关理论问题和实质问题。可以对算法进行设计与剖析,可以选择适合的数据结构和办法进行问题求解。
2、考试形式与试题结构
1.考试形式:闭卷、笔试,答卷时间180分钟,满分150分。
2.试题结构与题型:选择题、填空题、阅读程序题、应用题、算法设计题、程序设计题;此外还可能有简答卷、改错题等。
3、考试内容及需要
《C语言程序设计》课程考试内容与需要
(一)C语言概述
1.知道C语言的特征及进步。
2.学会程序的基本结构与书写格式。
3.学会头文件、数据了解明、函数的开始和结束标志。
(二)数据种类、运算符与表达式
1.学会各种数据种类及其概念办法。
2.理解运算符的类型、运算优先级、结合性。
3.学会不相同种类型数据间的转换与运算。
4.学会表达式种类(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。
(三)顺序程序设计
1.理解表达式语句、空语句、复合语句与赋值语句。
2.学会数据的输入/输出和输入/输出函数。
(四)选择结构程序设计
1.熟练学会if语句达成选择结构。
2.熟练学会switch语句达成多分支选择结构。
(五)循环控制
1.熟练学会for循环结构。
2.熟练学会while和do-while循环结构。
3.学会continue、break、return语句。
4.熟练学会循环的嵌套。
(六)数组
1.学会数组的概念和数组元素的引用办法及数组的初始化办法。
2.熟练学会一维和二维数组的基本操作和基本算法。
3.熟练学会字符数组的存储结构,字符串的输入/输出,对字符串进行处置的基本函数和对字符串进行处置的基本算法。
(七)函数
1.理解库函数的正确调用。
2.熟练学会函数的概念办法。
3.学会函数的种类和返回值。
4.学会形式参数与实在参数有什么区别,参数值的传递。
5.理解函数的一般调用和嵌套调用,掌握递归调用。
6.学会局部变量和全局变量。
7.理解变量的存储种类,变量有哪些用途域和存活期。
8.知道内部函数和外部函数。
(八)预处置命令
1.理解编译预处置的定义和特征。
2.知道带参数的宏概念及其用,知道不带参数的宏概念及其用。
3.理解“文件包括”的定义和用。
(九)指针
1.学会指针的定义及指针的概念。
2.学会指针运算。
3.学会指向变量、数组、字符串、函数的指针变量。
4.熟练学会用指针作函数参数。
5.学会指针数组和指向指针数据的指针的定义及其概念办法。
6.学会动态内存分配与指向它的指针变量。
(十)结构体与共用体
1.理解结构体种类和结构体变量。
2.学会结构体数组和结构体指针。
3.知道运用指针处置链表。
4.理解共用体种类。
5.理解枚举种类。
(十一)文件
1.理解文件种类指针。
2.学会文件的打开与关闭。
3.学会文件的读与写。
《数据结构》课程考试内容与需要
(一)概述
1.理解数据的逻辑结构与存储结构的基本定义。
2.理解算法概念、基本性质与算法剖析,包含时间复杂度和空间复杂度的计算。
(二)线性表
1.理解线性关系、线性表的概念,线性表的基本操作。
2.学会线性表的顺序存储结构与链式存储结构的架构原理。
3.熟练学会在以上两种存储结构的基础上对线性表推行的基本操作,包含顺序表的插入与删除、链表的打造、插入与删除、查找等操作对应的算法设计。
4.学会链表的常用应用。
(三)栈和队列
1.理解栈与队列的基本定义与基本操作。
2.学会栈与队列的顺序存储结构与链式存储结构的架构原理。
3.熟练学会在不同存储结构的基础上对栈与队列推行插入与删除等基本操作的算法设计。
4.学会栈和队列在解决实质问题中应用。比如:递归过程、表达式求值、数制转换、迷宫、排队问题等。
(四)串、数组和广义表
1.理解串的基本定义及顺序和链式存储结构。
2.学会串的模式匹配过程及算法设计。
3.学会数组的顺序存储结构及地址计算。
4.理解特殊矩阵的压缩存储办法。
5.理解广义表的基本定义、存储结构。
(五)树与二叉树
1.理解树与二叉树的基本定义,名词术语。
2.学会二叉树的基本性质和存储结构。
3.学会二叉树与树、树林之间的转换。
4.熟知学会二叉树的遍历,包含递归和非递归算法。
5.学会以二叉链表形式存储的二叉树遍历算法的应用。
6.学会哈夫曼树的基本定义,哈夫曼树和哈夫曼编码的架构和算法设计。
(六)图
1.理解图的基本定义、名词术语。
2.学会图的邻接矩阵存储办法和邻接表存储办法的架构原理及特征。
3.熟练学会图的深度优先搜索与广度优先搜索过程和算法设计。
4.学会最小生成树和最短路径的架构和算法设计。
5.学会AOV网与拓扑排序基本定义与求解过程。
(七)查找
1.学会顺序查找、折半查找和分块查找的查找算法的设计与算法复杂性的剖析过程。
2.学会二叉排序树的定义、架构、基本操作及达成算法的设计。
3.学会平衡二叉树的定义、架构、插入和删除过程。
4.学会散列表的架构、散列函数的架构、处置散列冲突的基本办法与散列表的查找和平均查找长度的计算。
(八)内部排序
1.理解排序的基本定义,各种内排序办法的基本原理和特征,包含排序过程中进行的元素之间的比较次数,排序总趟数、排序稳定性与时间复杂度与空间复杂度计算。
2.学会直接插入排序、折半插入排序、选择排序;起泡排序、希尔排序法、迅速排序、堆排序、二路归并排序、基数排序;
3.知道各种内部排序算法的应用。
4、参考书目
《C语言程序设计》 谭浩强 编清华大学出版社
《数据结构》 严蔚敏 吴伟民主编清华大学出版社