2008年计算机科学与技术、软件工程(专升本)专业课考试大纲 第一部分:(一)C语言程序设计考试大纲(100分)
一、考试要求:
1、对C语言的语法、语义有较好的理解。
2、能熟练地阅读C源程序,并具有初步分析程序的能力。
3、初步掌握结构化程序设计的方法和技巧,能从分析问题入手,设计可行的算法,进而用C语言编写结构良好的面向过程的程序。
4、通过上机实验,掌握程序的调试和测试方法。
二、考试内容
第一章 C语言概述
•了解C语言的发展、特点;
•掌握C程序的基本结构;
•掌握TURBOC环境下C程序的上机步骤。
第二章 算法
1、理解算法的概念;
2、了解算法的表示方法;
3、理解组成结构化程序的三种基本控制结构;
4、了解结构化程序设计的过程;
第三章 数据类型、运算符与表达式
1、了解C语言中数据类型的分类;
2、掌握整型、实型、字符型、字符串常量的表示方法;
3、掌握符号常量的定义和使用;
4、掌握变量的定义、初始化;
5、掌握算术、赋值、复合赋值、自增、自减、逗号运算符及表达式;
6、掌握各类数值型数据间的混合运算。
第四章 输入输出
1、掌握赋值语句及使用;
2、了解字符输入输出(getchar函数和putchar函数);
3、掌握格式输入输出(scanf函数和printf函数)。
第五章 选择结构
1、掌握关系、逻辑运算符及表达式;
2、掌握if语句的三种形式;
3、掌握switch语句及break语句的使用;
4、要求能编写含有if语句嵌套结构的程序。
第六章 循环结构
1、掌握while语句及应用;
2、掌握do-while语句及应用;
3、掌握for语句及应用;
4、掌握break语句在循环中的作用;
5、了解continue语句在循环中的作用;
6、要求能编写含有二重循环结构的程序。
第七章 数组
1、掌握一维数组的定义、初始化及元素引用;
2、掌握二维数组的定义、初始化及元素引用;
3、掌握字符数组的定义及使用;
4、了解字符串处理函数;
第八章 函数
1、掌握函数的定义与调用;
2、掌握函数调用时的实参与形参的结合;
3、理解函数原型声明与函数在源程序中的相对位置的关系;
4、理解函数的嵌套调用和递归调用;
5、理解局部变量和全局变量的概念及应用;
6、了解变量的存储类别(auto、static、register、extern);
7、要求能编写编写多函数结构的程序。
第九章 预处理命令
1、理解.#define命令的使用;
2、了解#include命令的作用。
第十章 指针
1、掌握地址、指针、指针变量的概念;
2、掌握指针变量的定义、初始化、赋值;
3、掌握两个与指针有关的运算符(&和*);
4、掌握指针和一维数组的关系;
5、了解指针和二维数组的关系;
6、掌握指针和字符串的关系;
7、掌握参数为指针类型的函数应用;
8、了解指针数组和指向指针的指针。
第十一章 结构体、共用体和枚举类型
1、掌握结构体类型的定义;
2、掌握结构体变量、数组、指针变量的定义、初始化及成员引用;
3、理解参数为结构体变量或结构体指针的函数;
4、了解共用体的概念及共用体类型的定义;
5、理解枚举类型的概念及共用体类型的定义;
6、了解typedef语句的使用。
第十二章 文件
1、理解C文件的概念;
2、掌握文件类型指针的概念;
3、掌握文件的打开和关闭(fopen函数和fclose函数);
4、了解文件的字符读写(fgetc函数和fputc函数);
5、掌握文本文件的格式化读写(fscanf函数和fprintf函数);
6、了解二进制文件的数据块读写(fread函数和fwrite函数);
7、了解文件的定位(rewind函数和fseek函数)。
三、考题类型
1、选择题(概念、语法等):60%
2、程序阅读题: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章 递归
1、理解递归的概念。
2、了解分治与递归的关系。
3、了解用栈模拟递归技术。
第6章 排序与选择
1、理解排序的基本概念(关键字、内外排序、稳定性、时间效率、空间效率)
2、掌握选择排序的方法(简单选择排序、堆排序)
3、掌握插入排序的方法(直接插入排序)
4、掌握交换排序的方法(冒泡排序、快速排序)
5、了解合并排序的方法。
6、理解各种排序方法的优缺点。
第7章 树
1、掌握树的表示法,包括父亲结点数组表示法、儿子链表表示法、左儿子右兄弟表示法。
2、理解二叉树的定义和术语、性质。
3、掌握二叉树的存储结构,包括顺序存储实现和指针实现。
4、掌握二叉树的遍历算法及其应用。
5、了解线索树的概念。
第8章 集合
1、了解以集合为基础的抽象数据类型。
2、了解集合上的基本运算。
3、了解集合的实现(位向量实现、链表实现)。
第9章 符号表
1、理解抽象数据类型符号表的概念。
2、掌握符号表的数组实现。
3、掌握开散列表和闭散列表的实现。
4、理解散列函数构造方法以及处理冲突的办法。
5、掌握线性再散列技术。
第10章 字典
1、理解抽象数据类型字典及其运算。
2、掌握二叉搜索树及其实现。
第11章 优先队列
1、理解抽象数据类型优先队列及其基本运算。
2、理解堆的概念及其实现。
3、掌握哈夫曼树及其应用。
第12章 图
1、解图的概念、术语。
2、掌握图的存储结构(邻接矩阵、邻接表)
3、掌握图的遍历方法(深度优先遍历、广度优先遍历)
4、掌握图的最小生成树的算法(prim算法、kruskal算法)。
5、掌握图的单源最短路径的dijkstra算法。
6、了解所有顶点对之间的最短路径floyd算法。
三、考题类型
1、选择题(概念、存储表示、算法描述):24%
2、填空题(概念、存储表示、算法描述):16%
3、应用题(综合):40%
4、算法设计题: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。