第一部分:(一) C 语言程序设计考试大纲( 100 分)
一、考试要求:
1 . 对 C 语言的语法、语义有较好的理解。
2 . 能熟练地阅读 C 源程序,并具有初步分析程序的能力。
3 . 初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算法,进而用 C 语言编写结构良好的面向过程的程序。
4 . 通过上机实验,掌握程序的调试和测试方法。
二、 考试内容
第一章 C 语言概述
• 了解 C 语言的发展、特点;
• 掌握 C 程序的基本结构;
3. 掌握 TURBO C 环境下 C 程序的上机步骤。
第二章 算法
• 理解算法的概念;
• 了解算法的表示方法;
• 理解组成结构化程序的三种基本 控制 结构;
4. 了解结构化程序设计的过程;
第三章 数据类型、运算符与表达式
• 了解 C 语言中数据类型的分类;
• 掌握整型、实型、字符型、字符串常量的表示方法;
• 掌握符号常量的定义和使用;
• 掌握变量的定义、初始化;
• 掌握算术、赋值、复合赋值、自增、自减、逗号运算符及表达式;
6. 掌握各类数值型数据间的混合运算。
第四章 输入输出
• 掌握赋值语句及使用;
• 了解字符输入输出( get char 函数和 putchar 函数) ;
3. 掌握格式输入输出( scanf 函数和 printf 函数) 。
第五章 选择结构
• 掌握关系、逻辑运算符及表达式;
• 掌握 if 语句的三种形式;
• 掌握 switch 语句及 break 语句的使用 ;
4. 要求能编写含有 if 语句嵌套结构的 程序。
第六章 循环结构
• 掌握 while 语句及应用;
• 掌握 do-while 语句及应用;
• 掌握 for 语句及应用;
• 掌握 break 语句在循环中的作用;
• 了解 continue 语句在循环中的作用;
6. 要求能编写含有二重循环结构的程序。
第七章 数组
• 掌握一维数组的定义、初始化及元素引用;
• 掌握二维数组的定义、初始化及元素引用;
• 掌握字符数组的定义及使用;
4. 了解字符串处理函数;
第八章 函数
• 掌握函数的定义与调用;
• 掌握函数调用时的实参与形参的结合;
• 理解函数原型声明与函数在源程序中的相对位置的关系;
• 理解函数的嵌套调用和递归调用;
• 理解 局部变量和全局变量的概念及应用;
• 了解变量的存储类别( auto 、 static 、 register 、 extern );
7. 要求能编写编写多函数结构的程序。
第九章 预处理命令
• 理解 .#define 命令的使用;
2. 了解 #include 命令的作用。
第十章 指针
• 掌握地址、指针、指针变量的概念;
• 掌握指针变量的定义、初始化、赋值;
• 掌握两个与指针有关的运算符( & 和 * );
• 掌握指针和一维数组的关系;
• 了解指针和二维数组的关系;
• 掌握指针和字符串的关系;
• 掌握参数为指针类型的函数应用;
8. 了解指针数组和指向指针的指针。
第十一章 结构体、共用体和枚举类型
• 掌握结构体类型的定义;
• 掌握结构体变量、数组、指针变量的定义、初始化及成员引用;
• 理解参数为结构体变量或结构体指针的函数;
• 了解共用体的概念及共用体类型的定义;
• 理解枚举类型的概念及共用体类型的定义;
6. 了解 typedef 语句的使用。
第十二章 文件
• 理解 C 文件的概念;
• 掌握文件类型指针的概念;
• 掌握文件的打开和关闭( fopen 函数和 fclose 函数);
• 了解文件的字符读写( fgetc 函数和 fputc 函数);
• 掌握文本文件的格式化读写( fscanf 函数和 fprintf 函数);
6. 了解二进制文件的数据块读写( fread 函数和 fwrite 函数);
7. 了解文件的定位( rewind 函数和 fseek 函数) 。
三、考题类型
• 选择题(概念、语法等): 60%
• 程序阅读题: 20%
3. 程序设计题(或程序填空): 20%
《 C 语言程序设计》,谭浩强编,清华大学出版社出版
《程序设计基础》,张杰敏编,高等教育出版社
(二)数据结构考试大纲( 100 分)
一、考试要求
1 、能分析数据的内在逻辑关系。
2 、掌握常用数据结构在计算机中的表示方法。
3 、理解数据表示和数据处理之间的关系,理解算法效率的分析方法。
4 、能利用常见的数据结构,进行算法设计。
二、考试内容
第 1 章 引论
1 、了解数据结构的基本概念。
2 、了解数据的逻辑结构、存储结构、算法的概念。
3 、理解数据类型、抽象数据类型的概念。
4 、理解时间复杂度、空间复杂度的概念。
第 2 章 表
1 、理解 ADT 表的概念及基本运算。
2 、掌握表的顺序存储结构及其运算的实现。
3 、掌握表的链接存储结构及其运算的实现。
4 、理解单链表、循环链表、双向链表的特点。
第 3 章 栈
1 、掌握栈的定义和基本运算。
2 、掌握栈的顺序实现及其运算的实现。
3 、掌握栈和队列的链接实现及其运算的实现。
4 、掌握栈的应用。
第 4 章 队列
1 、掌握队列的定义和基本运算。
2 、掌握队列的顺序实现(循环队列)及其运算的实现。
3 、掌握队列的链接实现及其运算的实现。
4 、掌握队列的应用。
第 5 章 递归
• 理解递归的概念。
• 了解分治与递归的关系。
• 了解用栈模拟递归技术。
第 6 章 排序与选择
• 理解排序的基本概念(关键字、内外排序、稳定性、时间效率、空间效率)
• 掌握选择排序的方法(简单选择排序、堆排序)
• 掌握插入排序的方法(直接插入排序)
• 掌握交换排序的方法(冒泡排序、快速排序)
• 了解合并排序的方法。
• 理解各种排序方法的优缺点。
第 7 章 树
1 、掌握树的表示法,包括父亲结点数组表示法、儿子链表表示法、左儿子右兄弟表示法。
2 、理解二叉树的定义和术语、性质。
3 、掌握二叉树的存储结构,包括顺序存储实现和指针实现。
4 、掌握二叉树的遍历算法及其应用。
5 、了解线索树的概念。
第 8 章 集合
1 、了解以集合为基础的抽象数据类型。
2 、了解集合上的基本运算。
3 、了解集合的实现(位向量实现、链表实现)。
第 9 章 符号表
• 理解抽象数据类型符号表的概念。
• 掌握符号表的数组实现。
• 掌握开散列表和闭散列表的实现。
• 理解散列函数构造方法以及处理冲突的办法。
• 掌握线性再散列技术。
第 10 章 字典
• 理解抽象数据类型字典及其运算。
• 掌握二叉搜索树及其实现。
第 11 章 优先队列
• 理解抽象数据类型优先队列及其基本运算。
• 理解堆的概念及其实现。
• 掌握哈夫曼树及其应用。
第 12 章 图
• 解图的概念、术语。
2 、掌握图的存储结构(邻接矩阵、邻接表)
3 、掌握图的遍历方法(深度优先遍历、广度优先遍历)
4 、掌握图的最小生成树的算法( prim 算法、 kruskal 算法)。
5 、掌握图的单源最短路径的 dijkstra 算法。
• 了解所有顶点对之间的最短路径 floyd 算法。
三、考题类型
• 选择题(概念、存储表示、算法描述): 24 %
• 填空题(概念、存储表示、算法描述): 16 %
• 应用题(综合): 40 %
• 算法设计题: 20 %
参考用书:
《数据结构与算法》,王晓东编,高等教育出版社
第二部分:“操作系统”或“关系数据库与 SQL 语言”(报考计算机科学与技术考生考“操作系统”,报考软件工程专业考生考“关系数据库与 SQL 语言”)
第二部分:操作系统考试大纲( 100 分)
一、考试要求:
1. 了解操作系统的概念,以及它在计算机系统组成中的地位和作用。
2. 了解操作系统的组成部分,掌握操作系统的基本原理、基本概念。
二、考试内容
第一章 操作系统概述
• 操作系统概念:
• 理解操作系统的定义
• 了解操作系统的地位和作用
• 理解操作系统的功能
• 操作系统的类型:
• 了解批处理系统的概念和特点
• 理解分时系统的概念和特点
• 理解实时系统的概念和特点
• 了解网络操作系统的概念
• 操作系统的特征:
了解操作系统的基本特征:并发性、共享性、异步性、虚拟性
• 操作系统接口:
了解作业级接口(操作接口),程序级接口(系统调用)
第二章 处理机管理
• 理解进程的定义
• 理解进程的特征
• 掌握进程的基本状态及其相互转换:就绪态、阻塞态、运行态
• 理解进程的组成和进程控制块所包含的主要信息
• 了解进程队列的概念和形式
• 掌握进程调度算法思想及其应用 :
• 先来先服务算法
• 时间片轮转法
• 优先数算法
• 多级队列算法
注:主要掌握前两个算法,后两个算法要求理解算法思想。
• 了解特权指令的概念
• 理解 CPU 的两种运行状态:管态、目态及相互转换
• 了解作业、作业步和作业控制块的概念
• 理解作业调度的概念及它与进程调度的关系
• 了解作业的状态及变化过程
• 掌握作业调度算法思想及其应用 :
• 先来先服务算法
• 短作业优先法算法
• 响应比法算法
第三章 存储管理
• 理解存储管理的功能
内存分配、内存保护、地址映射、内存扩充
• 理解地址重定位的概念:
静态重定位、动态重定位
• 了解单一连续分区存储管理及其缺点
• 固定分区存储管理:
( 1 )理解固定分区的概念
( 2 )了解分配和回收的过程
( 3 )理解采用的重定位方式及其存储保护方法
( 4 )了解固定分区方式的缺点
• 可变分区存储管理:
• 理解可变分区存储管理的基本思想
• 了解空闲分区表及其内容
• 了解采用的重定位方式
• 理解分配和和回收算法:最先适应法、适应法、最坏适应法
• 理解零头(碎片)的概念:内零头,外零头
• 分页式存储管理:
• 理解分页式存储管理的基本思想
• 理解页与块的概念
• 理解页表的概念、作用和内容
• 掌握地址重定位过程(不含快表结构)
• 了解快表的概念和作用
• 虚拟存储管理:
• 理解虚拟存储器的概念
• 理解请求分页式存储管理的基本思想
• 理解缺页中断的概念及和影响因素
• 掌握缺页中断率的计算
• 掌握页面淘汰算法的思想和应用: FIFO 、 LRU 、 LFU
第四章 设备管理
• 了解设备的分类
• 理解设备管理的目标与功能
• 理解设备独立性的概念
• 理解独占设备分配算法及相关数据结构:
• 先来先服务算法
• 优先级算法
• 共享磁盘的调度:
• 了解磁盘结构
• 理解磁盘访问时间的构成:查找时间、等待时间和传输时间
• 掌握磁盘调度算法的思想及其应用:
先来先服务算法、最短查找时间优先算法、电梯算法、单向扫描算法
注:主要掌握前三种算法及应用。
• 了解数据传输控制方式:
• 程序循环测试方式
• 中断方式
• DMA 方式
• 通道方式
• 了解缓冲技术:
• 缓冲的作用
• 缓冲的类型:单缓冲、双缓冲、多缓冲、缓冲池
• 虚拟设备与 SPOOLING 技术:
• 理解虚拟设备的概念
• 理解 SPOOLING 系统的概念及其前提条件
• 掌握 SPOOLING 系统的组成(软件和硬件)
第五章 文件管理
• 了解文件与文件系统的概念
• 了解文件的分类
• 文件的组织结构:
• 理解文件的逻辑结构及分类
• 理解文件的物理结构及分类
• 理解文件的存取方式
• 掌握磁盘存储空间管理方法及计算:
位示图法、空闲区表法、空闲块链接法、成组链接法
注:主要掌握前两个管理方法的计算。
• 文件管理与目录结构
• 了解文件控制块( FCB )的基本信息
• 理解多级目录的概念
• 了解文件的基本操作
• 文件的使用
• 了解文件共享与保护的概念
• 了解文件的保密概念
• 了解文件的保护的方法:存取控制矩阵、存取控制表、权限表、口令
• 文件的操作
了解文件的基本操作:创建、删除、打开、关闭、读、写
第六章 进程的并发
• 理解进程间的制约关系:互斥、同步
• 理解信号量的概念
• 掌握 P 、 V 操作的定义
• 掌握用 P 、 V 操作实现进程互斥、同步
• 理解死锁的概念
• 理解产生死锁的必要条件
• 理解解决死锁的策略:预防、避免、检测、恢复(解除)
• 了解进程间的通信方式:低级通信方式、高级通信方式
第七章 操作系统实例分析
• 了解 UNIX 系统及实现管理所采用的相关方法
• 了解 DOS 系统及实现管理所采用的相关方法
参考用书:
《操作系统》宗大华、宗涛编 人民邮电出版社
第二部分:《关系数据库与 SQL 语言》( 100 分)
一、考试要求:
1 .对关系数据库系统的基本概念、基本原理、基本方法以及应用有较好的理解。
2 .能熟练地使用 SQL 命令对数据库进行操作。
3 .能初步掌握数据库设计的方法,并能用数据库系统建立数据库及简单的应用。
4 .对关系数据库理论有一定的理解。
二、 考试内容
第 1 章 数据库系统概述
1 掌握数据库系统中的几个基本概念:数据库、数据库管理系统、数据库系统、数据模型、关系数据库等。
2 了解数据管理的发展过程,重点掌握数据库系统的特点、发展阶段,掌握数据库管理系统的主要功能。
3 掌握数据库三级模式结构、优点、数据物理独立性、数据逻辑独立性。
4 掌握信息世界中的实体、属性、联系,以及关系数据模型中的关系、属性、元组和键码等基本概念。
第 2 章 关系模型
1 掌握关系、关系性质、候选键、外部键、主属性、非主属性、关系模型完整性、关系模式、关系数据库等基本概念。
2 掌握关系代数及其运算:并、差、交、笛卡尔积、投影、选择、自然连接、 θ 连接等。
3 了解元组关系演算和域关系演算。
第 3 章 关系数据库标准语言 SQL
1 了解 SQL 语言的特点,掌握基本表、视图、索引等概念。
2 掌握数据定义命令:创建数据库、创建基本表、表结构的修改、基本表的删除;索引的建立与删除。
3 掌握数据查询命令: SELECT 语句,要求:
1 )简单查询(单表查询),包括正确书写选择条件、排序输出、聚合运算以及分组处理;
2 )连接查询(多表查询);
3 )嵌套查询(子查询)。
4 掌握数据操纵命令:基本表数据的插入、删除、修改。
5 掌握有关视图的操作:定义视图、查询视图、更新视图、撤消视图。
第 4 章 关系数据库理论
1 了解关系模式设计中可能出现的问题及其产生原因以及解决的途径。
2 掌握函数依赖、完全函数依赖、部分函数依赖、传递函数依赖的定义,能计算属性的封闭集,并由此得到关系的候选键。
3 掌握第一范式( 1NF )、第二范式( 2NF )和第三范式( 3NF )的定义,能判别关系模式的范式等级。
4 掌握关系模式的分解(规范到 3NF )的步骤、分解的原则和分解的方法。
第 5 章 数据库设计
1 掌握数据库设计的任务和步骤。
2 了解需求分析阶段的任务:定义信息与应用;定义操作任务;定义数据项。
3 掌握概念结构设计阶段的方法和步骤,并能设计 ER 图。
4 掌握逻辑结构设计阶段的任务和步骤,重点掌握从 E/R 图到关系模式的转换。
5 了解数据库物理设计的任务。
6 了解数据库的实施、运行和维护等过程。
三、考题类型
1 .选择题: 40%
2 .填空题: 20%
3 .根据题意写出正确的 SQL 语句: 25%
4 .计算题: 15%
参考用书:
《数据库原理与应用教程》陈志泊、李冬梅、王春玲编,人民邮电出版社 2002年版
《关系数据库与 SQL 语言》,黄旭明主编,高等教育出版社, 2004.01 。