一、总体要求
要求考生具备综合运用所学知识进行基本的问题分析的能力;利用计算机求解问题、设计算法并用C语言编程解决问题的能力:1.掌握C语言编程基本知识;2.掌握现实世界数据在计算机中如何表示和处理;3.具备良好的程序设计技能;4. 掌握各种数据结构的基本特征、操作方式和实现的方法;5. 具备抽象思维能力、逻辑推理能力。
二、内容范围
(一)程序设计基础知识
掌握C语言的基本数据类型、变量和常量的定义和使用;整型数据和字符型数据在计算机内的编码形式;格式化输入和输出的基本用法;运算符及表达式的定义及用法、运算符的优先级。
(二)程序设计基本方法
掌握顺序、分支、循环三种结构的基本语法及综合运用;函数的定义、声明和调用;能够规范地进行代码设计与编写;
(三)复合数据类型
掌握一维数组、二维数组的定义及使用方法;了解一维数组数据在内存中的存放方式;
掌握地址和指针的概念,及C语言中指针变量的定义及使用方法;掌握指向一维数组的指针的概念及使用指针处理一维数组数据的方法;了解指针变量的加减法运算的含义和应用、指针变量做函数参数进行数据处理等知识。
掌握结构体数据类型的含义、定义及使用方法;掌握结构体数组、结构体指针的定义和访问方法;了解结构体变量的成员在内存中的存储方式;了解枚举类型、共用体类型。
(四)线性结构
掌握线性表的顺序存储、链式存储概念及编程实现方法;掌握栈的概念、基本操作及编程实现方法;掌握队列的概念、基本操作,能够编程实现循环队列的基本操作。
了解各类矩阵的压缩存储和基本运算的实现方法;了解串的概念及模式匹配算法。
(五)树型结构
掌握树型结构的基本概念及双亲表示法、孩子表示法、孩子兄弟表示法等树形结构的存储方式;掌握二叉树的定义、性质、树和二叉树的转换方法;能够编程实现顺序、链表方式实现二叉树的存储;掌握二叉树的前序、中序及后序遍历算法并能够编程实现。
了解森林和二叉树的转换、线索树、哈夫曼树的概念、及构造哈弗曼树的方法及其应用。
(六) 图型结构
掌握图、邻接矩阵、邻接表的概念,并能够编程实现图的存储;掌握图的深度优先遍历和广度优先遍历算法;掌握最小生成树的概念,能够用普利姆算法和克鲁斯卡尔算法构造图的最小生成树。
了解图的逆邻接表、十字链表存储方式;了解迪卡斯特算法求图的单源最短路径。
(七)查询与排序
掌握顺序查找、折半查找算法并能编程实现;掌握散列表的查找算法、散列函数的构造及冲突处理办法;掌握冒泡排序、插入排序、简单选择排序、快速排序、堆排序、归并排序等排序算法;能够编程实现冒泡排序、插入排序和快速排序算法。
了解二叉搜索树、AVL树;了解常用排序方法的优缺点及时间和空间复杂度分析。
三、参考教材
《C语言程序设计(第三版)》,谭浩强编著,清华大学出版社。
《数据结构(C语言版)》,严蔚敏、吴伟民著,清华大学出版社。
2025国考·省考课程试听报名