2016年硕士研究生入学统一考试软件基础考试大纲考试科目:程序设计基础、数据结构
考试形式和试卷结构
一、试卷满分及考试时间
试卷满分为150分,考试时间为180分钟
二、答题方式
答题方式为闭卷、笔试
三、试卷内容结构
程序设计基础50%
数据结构50%
程序设计基础
一、C++语言基础
考试内容
基本数据类型、enum数据类型、运算符、控制语句
考试要求
1.理解计算机信息的存储于表示,掌握C++的基本数据类型的用法.
2.掌握运算符与表达式的基本用法.
3.理解逗号表达式与条件表达式的作用.
4.掌握enum枚举类型的定义、枚举变量声明及使用.
5.掌握和运用三种(if、if…else、switch)选择语句.
6.掌握和运用三种(while、for、do…while)循环语句.
7.掌握和运用其他(break、continue)控制语句.
二、C++程序的结构(一):函数
考试内容
函数定义、函数声明、函数调用、函数的参数传递、递归调用、函数重载、函数模板考试要求
1. 掌握函数定义的语法形式,熟练运用自定义函数来实现多函数程序设计.
2.理解函数声明的作用,掌握函数声明的用法.
3.理解函数调用的过程.
4.明确参数传递的意义,理解和掌握函数调用中参数传递的三种参数传递调用:传值调用、引用调用、传地址调用.
5.掌握和运用递归函数的概念、算法和实现方法.
6.理解函数重载的概念,掌握函数重载的实现方法.
7.理解函数模板的概念,掌握函数模板的实现方法.
三、C++程序的结构(二):类
考试内容
抽象数据类型、类的定义、对象创建、构造函数与析构函数、公共接口函数、工具函数类的组合、类模板
考试要求
1.理解面向对象的思想,理解面向对象方法中的抽象概念.
2.理解面向对象程序设计中“封装”概念和抽象数据类型的概念.
3.掌握C++语言中类的定义方法.
4.掌握创建对象的方法,掌握通过对象访问类的公共接口成员的方法.
5.理解“.”操作符和“->”操作符,掌握它们的使用方法.
6.理解构造函数的作用,掌握构造函数的声明、定义的方法.
7.理解拷贝构造函数的作用,掌握拷贝构造函数的声明、定义的方法.
8.理解析构函数的作用,掌握析构函数的声明、定义的方法.
9.理解类的公共接口函数成员的功能,掌握它们的声明与定义的方法.
10.理解类的工具函数成员的作用,掌握它们的声明与定义的方法.
多态性与虚函数11.掌握类的对象成员的声明、定义和使用的方法.
12. 了解类模板实例化的概念,掌握类模板的定义与使用的方法.
四、C++语言的存储与访问属性
考试内容
作用域、可见性、静态与动态的生存期、静态数据、常量数据、共享数据、
类的静态函数成员与静态数据成员、类的常量函数成员与常量数据成员、this指针、友元函数与友元类
考试要求
1.理解标识符在程序中的作用域、可见性的基本概念.
2.理解标识符在内存中的生存期、存储区域的基本概念.
3.在函数中,掌握static关键字的用法.
4. 在函数中,掌握const关键字的用法.
5. 在类中,掌握static关键字的用法.
6. 在类中,掌握const关键字的用法.
7. 在类中,掌握this指针的用法.
8. 在函数中,掌握friend关键字的用法.
9. 在类中,掌握friend关键字的用法.
五、数组、指针与字符串
考试内容
数组、引用、指针、字符串、动态内存分配、深拷贝与浅拷贝
考试要求
1.理解一维/二维数组的概念.
2.掌握一维/二维数组变量的声明、初始化以及数组之间的赋值方法.
3.掌握下标运算符[]和sizeof运算符的使用方法.
4.掌握一维/二维数组作为函数的参数传递的用法.
5.掌握一维/二维数组作为类的数据成员的使用方法.
6.掌握一维/二维对象数组的使用方法.
7.理解引用的概念.
8.掌握引用作为函数的参数传递的用法.
9.理解指针的概念,掌握指针运算符的使用方法.
10.掌握指针作为函数的参数传递的用法.
11.理解数组与指针之间的关系,掌握指针数组的用法,掌握对象数组指针的用法.
12.理解动态内存分配的概念,掌握new和delete运算符的使用方法,掌握一维/二维动态数组、动态数组类、动态对象的创建方法.
13.理解深拷贝、浅拷贝的概念.
14.理解拷贝构造函数、动态内存分配与深拷贝、浅拷贝之间的关系.
15.掌握C-style的字符串的用法(<cstring>).
16. 掌握vector类模板的用法.
17. 掌握string类的用法.
六、类的继承与派生
考试内容
继承关系、派生类、派生类的构造与析构函数、多级继承关系中成员访问、虚继承考试要求
1.理解面向对象程序设计中继承与派生的概念.
2.掌握C++语言中派生类的语法格式,掌握派生类的定义方法.
3.理解继承关系中成员访问的方式.
5.掌握单/多继承关系中构造函数与析构函数的定义方法及调用顺序.
6.了解多级多继承中成员的访问方式.
七、面向对象程序设计的多态性
考试内容
多态性、运算符重载、虚函数、纯虚函数、抽象类
考试要求
1.理解面向对象程序设计中多态性的概念.
2.理解动态绑定与静态绑定的概念,理解两者之间的区别与联系,了解它们各自实现的原理.
3.掌握运算重载的基本方法.
4.理解虚函数的概念,掌握虚函数的用法.
5.理解函数同名覆盖的概念,比较它与函数重载的不同之处.
6.理解抽象类的概念,理解纯虚函数的概念,掌握纯虚函数的用法.
7.理解多态性与虚函数和纯虚函数之间的关系.
八、流类库与输入输出
考试内容
C++I/O流、标准输入与输出、顺序文件的输入与输出
考试要求
1.了解C++I/O流类的类图及类之间的关系.
2.掌握<istream>中的基本操作,如:cin、、line、cin.put.
3.掌握<ostream>中的基本操作,包括流的格式化控制与流操作符.
4.掌握<fstream>中,顺序文件的创建、写出和读取.
数据结构
【考查目标】
1. 理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。
2. 在掌握基本的数据处理原理和方法的基础上,能够针对具体应用问题进行算法设计与分析。
3. 能够选择合适的数据结构和方法进行问题求解;具备采用c或c++或JAVA语言设计与实现算法的能力。
【考查范围】
一、数据结构和算法的基本概念及算法分析的基本方法
二、线性表
(一) 线性表的定义和基本操作
(二) 线性表的实现
1. 顺序存储结构
2. 链式存储结构
3. 线性表的应用
二、栈、队列和数组
(一) 栈和队列的基本概念
(二) 栈和队列的顺序存储结构
(三) 栈和队列的链式存储结构
(四) 栈和队列的应用
三、树与二叉树
(一) 树的基本概念
(二) 二叉树
1. 二叉树的定义及其主要特征
2. 二叉树的顺序存储结构和链式存储结构
3. 二叉树的遍历
(三) 树、森林
1. 树的存储结构
2. 森林与二叉树的转换
3. 树和森林的遍历
(四) 树和二叉树的应用
1. 二叉排序树
2. 平衡二叉树
3. 哈夫曼(Huffman)树和哈夫曼编码
三、图
(一) 图的概念
(二) 图的存储及基本操作
1. 邻接矩阵法
2. 邻接表法
(三) 图的遍历
1. 深度优先搜索
2. 广度优先搜索
(四) 图的基本应用
1. 最小(代价)生成树
2. 最短路径
3. 拓扑排序
4. 关键路径
四、查
(一) 查的基本概念
(二) 顺序查法
(三) 折半查法
(四) B-树及其基本操作、B+树的基本概念
(五) 散列(Hash)表
(六) 查算法的分析及应用
五、内部排序
(一) 排序的基本概念
(二) 插入排序
1. 直接插入排序
2. 折半插入排序
(三) 气泡排序(bubble sort)
(四) 简单选择排序
(五) 希尔排序(shell sort)
(六) 快速排序
(七) 堆排序
(八) 二路归并排序(merge sort)
(九) 基数排序
(十) 各种内部排序算法的比较
(十一) 内部排序算法的应用
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论