高级语言程序设计培训
01
绪论与程序初步
1. 学习使用程序设计语言解决“鸡兔同笼”问题,从而理解程序、算法、PAD等基本概念,掌握程序执行的具体过程;其中重点掌握组成算法的基本要素和有效算法的特点。2. 通过“求绿化带宽度”问题,学习简单(顺序)程序设计方法,记忆并理解程序构成的基本符号。3. 经过学习,能够仿照例题代码编写并运行 “Hello World”程序。4. 此部分对应主讲教材的第一章和第二章2.1~2.2。
1.2 算法
1.3 程序
2.1 求绿化带宽度——简单程序
2.2 基本符号
02
顺序程序设计
1. 详解“求绿化带宽度”程序,理解掌握常量、变量、语句、表达式、数据类型、输入输出和顺序控制结构等基本概念,并能在程序中识别出来。2. 经过学习,能够自主编写出简单程序,如“计算平均值”、“求点到直线距离”等。3. 此部分对应主讲教材第二章2.3~2.7。
2.3 数据
2.4 语句
2.5 表达式
2.6 顺序控制结构
2.7 数据类型
2.8 输入输出
03
分支和循环初步
1. 以“判断成绩是否合格”引入并学习分支程序设计思想,理解并能识别出双分支、单分支、多分支语句;重点掌握分支结构执行过程,能将文字描述抽象为逻辑表达式。2. 以“计算个人平均分”引入循环程序设计思想。理解并能识别出循环三要素:循环条件、循环体和循环方式;能使用while循环、do-while循环和for循环语句编写程序。3. 经过学习(1)能自主编写如“判断成绩绩点”等分支程序;(2)能自主编写如“简单序列求和”等单层循环程序。4. 此部分对应主讲教材第三章和第四章4.1。
3.1 判断成绩是否及格——双分支程序设计
3.2 成绩加上获奖信息——单分支程序设计
3.3 逻辑判断——布尔类型
3.4 获奖分等级——多分支程序设计
4.1 计算平均成绩——循环程序设计
04
循环进阶
1. 以“计算全班每人平均成绩”引入并学习多重循环程序设计思想,能识别并正确分析多重循环中具体循环语句、和其执行过程;能灵活使用while、do-while、for语句进行嵌套,写出多重循环程序。2. 经过学习,能自主编写程序解决如“不同进制正整数间翻译”、“百鸡百钱”等问题。3. 此部分对应主讲教材第四章4.2~4.3。
4.2 计算全班每人平均成绩——多重循环
4.3 程序设计实例
编程题--拓展篇(不计入成绩)
05
函数与数组初步
1. 以“求三角形重心”问题引入并学习模块化程序设计思想,即函数概念。能够识别代码中函数的定义和使用,并能说明其间联系;理解模块化程序设计思想将“做什么”和“怎么做”分开的本质。2. 以“统计成绩分布”问题引入数组,实现批量数据组织。理解构成数组的三要素:基础类型、构造方法和元素访问方式;能够识别实际生活中的批量数据,并使用数组对其抽象,进而实现其上存取操作。3. 经过学习(1)能自主编写由多个函数构成的模块化程序,如“求三角形内心”的程序;(2)能自主编写批量数据操作程序,如“求解向量内积”。4. 此部分对应主讲教材第五章和第六章6.1~6.3。
5.2 函数
6.1 成绩统计——数组类型
6.2 统计多科成绩——多维数组
6.3 程序设计实例
06
数组应用
1. 能够解释计算机中排序与检索的概念和意义。2. 能够理解主元排序、冒泡排序、插入排序、顺序检索和对半检索算法的思想,并能独立写出实现这些算法的程序。3. 能够识别字符串,并能用字符型数组操作字符串。4. 经过学习,(1)能自主编写具有排序或检索功能的程序,如“索引数组排序”等;(2)能自主编写对字符数组操作的程序,如“查找回文字”等。5. 此部分对应主讲教材第六章6.4~6.5。
6.4 线性表——排序与检索
6.5 带学号的成绩排序——数组初值
6.6 表示姓名——字符串
编程题--拓展篇(不计入成绩)
07
数组进阶与指针初步
1. 能够定义自己的类型。2. 能够理解栈和队列的概念,并使用数组实现,且用它们分析解决实际问题。3. 理解指针的基本概念,正确描述指针与变量、指针与所指变量、指针与地址之间的区别与联系。4. 经过学习,能自主编写程序解决:如“括号配对”、“算术表达式计算”等问题。5. 此部分对应主讲教材第第六章6.7~6.8和第七章7.1~7.2。
6.7 类型定义
6.8 线性表——栈和队列
7.1 指针与变量
08
指针应用与结构体
1. 能够说明指针与数组之间区别与联系,尤其是使用指针操作变量字符串与常量字符串的区别和联系。2. 以“成绩单管理”引入并学习结构体的基本概念;能够将日常生活中的表单信息抽象为结构体并行操作。3. 经过学习,(1)能够自主编写程序,使用恰当的指针成分操作各种类型数组,如“多维数组排序”、“字符串插入”等;(2)能够自主编写程序使用结构体组织表单数据,对其进行增、删、改、查等操作。 4. 此部分对应主讲教材第七章7.3~7.6和第八章。
7.2 指针操作
7.3 指针与数组
7.4 指针与字符串
8.1 成绩单管理
8.2 保存成绩单——结构体
8.3 程序设计实例
编程题--拓展篇(不计入成绩)
09
函数进阶与递归程序设计
1. 以“可交换变量值的函数”引入并学习指针作为函数参数的基本概念,重点掌握C语言函数参数传递规则;能编写使用指针、结构体作为参数或返回值的函数。2. 以“阶乘函数”引入并学习递归程序设计思想,能够理解并解释递归概念;通过分析“汉诺塔”问题求解,掌握递归要素:递归出口和递归过程,理解递归程序执行过程,进而使用递归思想分析实际问题。3. 经过学习,(1)能够自主编写程序,使用指针参数回带多个返回值的方式,解决如“求直线方程系数”等问题;(2)能够自主编写程序,使用递归思想解决,如“顺序检索”、“Ackerman函数”等问题。4. 此部分对应主讲教材第九章9.1~9.2和第十章 10.1~10.3。
9.1 参数
9.2 函数值
10.1 递归程序设计
10.2 程序设计实例
编程题--拓展篇(不计入成绩)
10
文件
1. 以“户口管理的实际问题”引入并学习C语言的文件,理解文件基本概念(文件名、文件指针、读写指针等)并能正确使用C语言提供的文件操作函数(文件打开关闭和不同方式读写)进行磁盘数据操作。2. 经过学习,能够自主编写“操作磁盘数据”的程序解决实际问题,如“文件拷贝”、“磁盘读写数据”等。3. 此部分对应主讲教材第11章11.1~11.4 。
11.1 户籍管理
11.2 文件概述
11.3 文件打开关闭
11.4 文件IO操作
11
程序开发和动态变量
1. 以“验证三角形内心定理” 程序引入并学习“自顶向下、逐步求精的程序设计方法”;使用此方法分析问题;保证求解过程符合结构化程序设计原则,并编写出具有良好风格的代码。2. 以“数据实时排序”问题引入并学习动态变量;掌握动态变量声明、使用、删除方法。3. 此部分内容对应主讲教材第十二章12.1~12.3和第十三章13.1~13.2。
12.1 自顶向下逐步求精
12.2 结构化程序设计原则
12.3 程序风格
13.1 保存实数序列——动态数据结构
13.2 动态变量
12
动态变量应用——链表
1. 理解链表概念,并使用动态变量建立链表,对其进行实时操作。2. 能够使用链表实现栈或队列并操作。3. 本讲是对前面所学内容的一个综合应用,经过学习,能够自主编写如“链表元素排序”、"多项式计算"等程序;同时能够与文件、数组、指针等结合实现小型信息管理系统的基本增删改查功能,如“通讯录管理”等。4. 此部分内容对应主讲教材第十三章13.3~13.4。