黄冈师范学院网络工程专业考试科目《专业综合》考试大纲
日期:2023-03-20 浏览 次

八、网络工程专业考试科目《专业综合》考试大纲

考试课程:《C语言程序设计》(卷面100分)、《数据结构》(卷面50分) 

 

课程一:《C语言程序设计》考试大纲

一、考试总体要求

1.掌握C语言的基本语法(数据的表示形式及其运算)、程序结构及对应语句应用、函数定义及应用、数组定义及应用、指针变量应用等知识点;基本的程序设计过程和技巧及思维;增强学生自身的综合素养,具备良好的职业道德和持续发展意识。

2.具备严谨的逻辑和计算思维能力;能够查阅程序设计相关算法文献,将基本原理和程序设计技巧应用到问题分析过程中,初步具备程序设计解决实际工程问题能力;确立科学的价值观念、具有较强的工程素养。

 

二、考试知识点

1.数据类型及其应用 

包括数据类型和存储类别及其对应应用。

(1)基本类型

基本类型包括整型、实型和字符型。

① 常量

掌握整型常量、实型常量、字符类型常量、字符串、符号常量的各种表示形式的格式和使用。其中,包括整型常量和实型常量的十进制、八进制和十六进制的表示形式,长整型常量和无符号型常量的表示形式,实型常量的浮点表示法和指数记数法,转义字符、常用符号常量的含义(如NULL、EOF等)。

② 变量

掌握各种类型变量的定义方式和初始化格式。

(2)派生类型

派生类型包括数组类型、指针类型、结构体类型和共用体类型。熟练掌握派生类型变量的定义方式和初始化格式。

(2.1)数组类型

掌握一维和二维数组的定义和初始化、数组元素的引用。其中,包括一维字符数组和字符串、二维字符数组和字符串数组的定义和初始化以及数组元素的引用。

(2.2)指针类型

① 掌握指针和地址的概念;

② 掌握指针变量的定义和初始化,其中包括&和*运算;

③ 掌握指针变量的基本应用,其中包括通过指针引用一维数组元素、二维数组元素、字符和字符串;

④ 掌握指针数组、指向数组的指针;

⑤ 掌握指向函数的指针和返回指针值的函数;

⑥ 掌握内存的动态分配和void指针类型。

(2.3)结构体类型和共用体类型

① 掌握结构体类型和共用体类型的类型定义;

② 掌握结构体类型和共用体类型的变量的定义和初始化;

③ 掌握结构体类型和共用体类型的变量成员的引用和基本运算(比如:结构体类型、共用体类型的变量的内存存储字节数);

④ 理解结构体类型和共用体类型各自与数组、指针的基本关系和应用(比如:结构体类型指针、结构体类型数组的定义和变量的引用表示);

⑤ 理解链表的定义,掌握简单链表的建立和输出及遍历,了解插入和删除单向链表中的一个节点操作。

(3)枚举类型

① 掌握枚举类型的类型定义;

② 掌握枚举类型的变量的定义和初始化;

③ 掌握枚举类型的变量成员的引用和基本运算(比如:枚举类型的变量值)。

(4)空类型

掌握空类型的定义和使用。

(5)变量的存储类别、作用域和生存期

① 掌握变量的存储类别:auto 自动型、static 静态型。

② 掌握变量的作用域和生存期:包括全局变量和局部变量的定义和应用。

注意区分:自动局部变量和静态局部变量。

2.运算和语句结构 

(1)基本运算

包括算术运算(含自增、自减操作)、关系运算、逻辑运算、条件运算、赋值运算。

① 掌握各种运算符的含义和功能及表达式运算;

② 掌握运算符的优先级和结合方向及规则;

③ 掌握隐式类型转换和强制类型转换。

(2)表达式

熟练掌握各类表达式的组成规则和计算过程。

(3)语句

① 掌握表达式语句、空语句、复合语句;

② 掌握数据的输入输出(scanf、printf、putchar、getchar)函数的格式和功能及应用;

③ 掌握简单控制语句(break、continue、return)的用法和功能;

④ 掌握选择结构语句(if、if嵌套、switch)的格式和功能;

⑤ 掌握循环结构语句(for、while、do...while)及其嵌套结构和应用。

3.函数

(1)函数结构

掌握main函数与其他函数之间的关系,包括标准库函数和自定义函数。

(2)函数的定义

① 掌握函数定义的ANSI C格式和方法;

② 掌握函数的参数(形式参数和实际参数)及参数传递,包括指针、数组作为函数的参数;

③ 掌握函数的返回值。

(3)函数的调用

① 掌握函数调用的一般格式和方式及过程;

② 掌握函数的嵌套调用和递归调用;

③ 掌握标准库函数的调用,函数的声明和函数原型。

常用数学函数:cos、sqrt、pow、exp、fabs、log、log10等;

常用字符函数:isalnum、isalpha、isdigit、islower、toupper等;

常用字符串函数:strcpy、strcmp、strcat、strlen等。

4.编译预处理和文件

(1)了解编译预处理的基本概念;

(2)了解宏定义;

(3)了解文件,包括文件的基本知识、文件的打开与关闭、文件的读写。

5.常用算法

以下算法针对本大纲中列出的各种数据结构。

(1)分类(排序)算法

掌握冒泡法、选择法、简单选择法等排序算法思想及相应算法实现的程序设计。

(2)检索(查找)算法

① 无序数据序列的查找(见遍历算法);

② 掌握有序数据序列的查找(二分法)算法思想及相应算法实现的程序设计。

(3)遍历算法

① 掌握一维数组和二维数组的遍历算法思想及相应算法实现的程序设计;

② 了解单向链表的遍历算法思想及相应算法实现的程序设计。

(4)了解简单的数值计算方法:如多项式函数的计算、牛顿迭代法

(5)掌握基本算法:如进制转换、迭代法(累和、累积)、递归法、辗转相除法、筛选法

 

三、考试设计方案(参考)

1.试卷结构

考试形式:笔试闭卷          考试时长:100分钟          卷面总分100分

2.试卷题型、分值比例、考核点或能力点

题型

分值比例

考核点或能力点

选择题

约20%

数据类型及其应用、语句结构、函数、数组和指针等知识点

分析计算题

约15%

运算和语句结构、函数、数组等知识点

程序阅读题

约15%

常用算法、函数、数组等实现程序设计和程序分析

程序应用题

约30%

运用数据类型及其应用、语句结构、函数、常用算法等知识点进行程序设计,解决实际工程问题

编程题

约20%

运用语句结构、函数、数组和指针等知识点实现程序设计过程和技巧

 

 

课程二:《数据结构》考试大纲

一、考试总体要求

1.基本理论知识

(l)什么是数据结构、基本概念和基本术语,算法描述和算法分析。

(2)什么是线性表、在线性表上常进行的基本操作以及这些操作分别在顺序存储和链式存储结构下的实现及复杂度分析。

(3)栈和队列的定义、表示方法和实现。

(4)串的定义及其基本操作。

(5)数组的定义、运算和存储、稀疏矩阵的压缩存储。

(6)树的定义、基本术语和存储结构,二叉树的定义和性质、二叉树的存储结构及其各种操作,哈夫曼树。

(7)图的定义和术语、图的存储结构及其各种操作。

(8)各种查找方式的算法、适用范围及时间复杂度的分析。

(9)多种内排序算法的基本思想和算法的时间复杂度分析,不同排序方法的比较。

2.基本技能

(1)能阅读用C语言编写的算法。

(2)能分析算法所完成的功能、运行结果和时间复杂度。

(3)能根据要求用类C语言编写算法。

3.工程应用

(1)能用工程思维思考问题。

(2)能用数据结构的理论实现实际问题求解。

 

二、考试知识点

1.绪论

(1)数据、数据项、数据元素、数据对象、数据结构、逻辑结构、(存储)物理结构、元素、结点等基本概念。抽象数据类型的定义、表示和实现方法。

(2)算法、算法的特性、如何用类C语言来描述算法。

(3)算法设计的基本要求以及计算语句频度和估算算法时间复杂度的方法。

2.线性表

(1)线性表的定义和操作。

(2)顺序存储线性表的实现和运算。

(3)链式存储线性表,带有附加表头结点和不带附加表头结点的单链表、循环链表和双向链表的创建以及查找、插入、删除等基本操作。

(4)利用线性表的设计电话本(创建以及查找、插入、删除等基本操作)。

3.栈和队列

(1)栈和队列的定义、特点及其存储结构,栈和循环队列的实现。

(2)栈和队列的主要运算。

(3)栈的应用举例,如:数制转换、表达式求值等。

4.串和数组

(1)串的定义、空串、空格串。

(2)串的基本操作(求串的长度,复制串,判断串是否相等,求子串等)。

(3)串的顺序存储结构及在顺序存储结构下基本操作的实现。

(4)串的模式匹配算法(BF算法)。

(5)一维数组和二维数组的实现机制

(6)特殊矩阵的压缩存储

(7)稀疏矩阵的压缩存储

5.树和二叉树

(1)树的定义和术语。

(2)二叉树(完全二叉树、满二叉树)的定义和性质、二叉树的存储结构(顺序表示法和二叉链表表示法)。

(3)二叉树三种遍历的递归算法。

(4)利用哈夫曼树实现字符串的压缩/解压处理

6.图

(1)图的定义。

(2)图的基本术语。

①图及无向图、有向图、网、子图、连通图、强连通图、顶点的度、入度、出度、顶点间路径、路径长度、环。

(3)图的存储结构

①邻接矩阵

②邻接表(含逆邻接表)

(4)遍历图 

①深度优先搜索遍历图的思想、算法及其时间复杂度。

②广度优先搜索遍历图的思想、算法及其时间复杂度。

(5)生成树

①生成树、最小生成树的概念。

②最小生成树的构造过程(Prim算法和Kruskal算法)及其时间复杂度。

(6)利用网的遍历思想寻找最短路径。

7.排序

(1)排序的目的、分类和排序方法的稳定性的定义。

(2)插入排序

①直接插入排序的算法。

②希尔排序的思想。

(3)选择排序

①简单的选择排序的算法。

②堆的定义、堆排序的思想。

(4)交换排序

①冒泡排序

②快速排序(重点理解)

(5)各种内部排序方法的比较。

8.查找

(1)查找、关键字、平均查找长度等概念。

(2)静态查找表的查找算法及其效率(最坏和平均查找长度)。

①顺序查找。

②二分查找(重点理解)。

(3)动态查找表

①二叉排序树定义、构造过程及其查找算法和效率。

(4)哈希表

①哈希表的特点。

②构造哈希函数的方法(除留余数法等)。

③处理冲突的方法(开放定址法,重点是线性探测再散列;拉链法)。

 

三、网络工程专业考试科目《专业综合》

(1)C程序设计(第五版),谭浩强,清华大学出版社,2018年08月第5版;

(2)数据结构(C语言版)(第6版,)朱战立,电子工业出版社,2020年12月。

四:试卷结构

(数据结构部分,50分)

试卷题型比例:

选择题                约50%

填空题                约30%

计算分析算法题        约20%