C程序设计培训
01
第1讲 了解计算机的工作原理
了解计算机的基本工作原理、体系结构
1.计算机系统的组成、用途各异的计算机
2.指令与计算机程序、计算机中的数
课后测验:了解计算机的工作原理
02
第2讲 信息在计算机中的表示
了解计算机中信息的表示和存储方法
1.进制数的转换
2.数值数据、字符数据、其他数据的表示与存储
课后测验:信息在计算机中的表示
03
第3讲 编程的理论基础
了解程序语言、算法、程序设计的概念和特点
1.程序语言、计算机问题求解的基本特点
2.计算机算法及其表示、程序设计技术
课后测验:编程的理论基础
04
第4讲 编写第一个C程序
掌握C程序的基本语法、结构和开发步骤
1.C语言的历史、C语言基本词法、编写第1个C程序
2.编写简单的程序、C程序基本结构、开发步骤、编码风格
课后测验:编写第一个C程序
05
第5讲 将简单数据引入C程序中
掌握C语言支持的数据类型和数据描述方法
1.数据类型、常量
2.变量、类型定义的修饰
资料片:国际大学生程序设计竞赛――2014西安赛区:欢迎
资料片:国际大学生程序设计竞赛――竞赛规则
课后测验:将简单数据引入C程序中
06
第6讲 数值数据的运算与处理
掌握数值型数据的运算
1.运算符与表达式、算术运算
2.自增自减运算、位运算
课后测验:数值数据的运算和处理
07
第7讲 逻辑数据的运算与处理
掌握逻辑型数据的运算
1.关系运算、逻辑运算
2.用布尔代数简化逻辑式子、条件运算、其他运算、常量表达式
课后测验:逻辑数据的运算和处理
08
第8讲 赋值和类型转换
掌握赋值运算符的使用、混合运算以类型转换的规则
1.赋值运算符、隐式类型转换
2.混合运算的风险控制、显式类型转换
资料片:AlphaGo
课后测验:赋值与类型转换
09
第9讲 编写程序语句
掌握简单的输入输出实现getchar以及putchar函数
1.编写简单语句、复合语句、注释,语句的写法
2.编程实现单个字符输入输出
资料片:那些年的编程快手们――用代码将梦想照进现实
课后测验:编写程序语句
10
第10讲 编程实现简单数据的输出
掌握输入函数printf函数的使用以及常见的输出格式控制
1.printf函数和输出格式控制(1)
2.printf函数和输出格式控制(2)
课后测验:编程实现简单数据的输出
11
第11讲 编程实现简单数据的输入
掌握输入函数scanf函数的使用以及常见的输入格式控制
1.scanf函数和输入格式控制(1)
2.scanf函数和输入格式控制(2)
课后测验:编程实现简单数据的输入
12
第12讲 编程实现选择分支
掌握顺序结构和简单选择结构的实现
1.程序顺序结构和跳转结构
2.程序选择结构
课后测验:编程实现选择分支
13
第13讲 编程实现嵌套的选择分支
掌握复杂选择结构的实现
1.选择结构的嵌套
2.程序如何应用选择结构
资料片:算法的舞蹈――冒泡排序Bubble Sort
课后测验:编程实现嵌套的选择分支
14
第14讲 编程实现循环
掌握三种循环语句的语法和使用
1.while循环、循环三要素
2.循环不变式、do和for循环
资料片:算法的舞蹈――选择排序Select Sort
课后测验:编程实现循环
15
第15讲 循环的终止、加快和嵌套
掌握循环的控制方法,掌握continue和break语句的语法和使用
1.终止、加快、嵌套循环
2.编写计数型、条件型循环,循环程序时间性能分析
资料片:算法的舞蹈――插入排序Insert Sort
课后测验:循环的终止、加快和嵌套
16
第16讲 编程实现枚举算法
掌握枚举、迭代和递推等基本算法的策略及编程逻辑
1.枚举算法策略
2.迭代算法、递推算法
资料片:算法的舞蹈――快速排序Quick Sort
课后测验:编程实现枚举算法
17
第17讲 调用函数-返回与参数传递
掌握函数的定义方法
1.函数定义语法和函数返回
2.如何设计函数参数
资料片:算法的舞蹈――归并排序Merge Sort
课后测验: 调用函数-返回与参数传递
18
第18讲 调用函数-原型与声明
掌握自定义函数以及库函数的调用方法
1.函数声明、原型及库函数调用方法
2.常用库函数和第三方函数库使用
资料片:算法的舞蹈――希尔排序Shell Sort
课后测验:调用函数-原型与声明
19
第19讲 调用函数-调用形式
掌握函数的嵌套和递归调用
1.函数调用优化,函数嵌套和递归调用
2.递归算法策略、分治算法策略
资料片:算法的天籁之音――6分钟“听”15种排序算法
课后测验:调用函数-调用形式
20
第20讲 设计函数-函数间的数据传递(1)
掌握作用域的概念规则
1.对象作用域概念
2.多模块下的作用域设计
资料片:排序算法比较
课后测验:设计函数-函数间的数据传递(1)
21
第21讲 设计函数-函数间的数据传递(2)
掌握程序映像和对象生命期的基本概念
1.程序映像及加载
2.对象生命期设计
课后测验:设计函数-函数间的数据传递(2)
22
第22讲 设计函数-接口与实现分离
掌握多模块程序的设计方法
1.对象初始化
2.多模块下的接口设计
课后测验:设计函数-接口与实现分离
23
第23讲 编写规模化程序
掌握多文件程序的开发方法
1.多文件程序结构与组织
2.规模化程序的工程设计
课后测验:编写规模化程序
24
第24讲 编程任务的自动化工具
掌握预处理命令宏的定义和使用方法
1.用宏实现编程任务自动化
2.编译器预定义宏
课后测验:编程任务的自动化工具
25
第25讲 编程任务的接口与版本控制
掌握文件包含及条件编译预处理命令的功能和使用方法
1.文件包含
2.实现版本控制
课后测验:编程任务的接口与版本控制
26
第26讲 配置开发环境
掌握专业函数库的配置和使用方法
1.开发环境参数与配置
2.使用第三方开发库
27
第27讲 批量数据的表示与处理
掌握数组的定义和初始化以及元素引用方法
1.一维数组
2.多维数组 课后测验:批量数据的表示与处理
28
第28讲 批量数据的遍历与访问
掌握数组的遍历方法
1.数组元素的遍历
2.矩阵运算
课后测验:批量数据的遍历与访问
29
第29讲 函数之间实现批量数据传递
掌握函数之间传递数组的方法
1.幻方编程
2.传递数组参数
课后测验:函数之间实现批量数据传递
30
第30讲 构建大数和高精度类型
掌握使用数组进行特殊数据运算的方法
1.构建大数类型
2.高精度运算和混合编程
课后测验:构建大数和高精度类型
31
第31讲 文字信息的表示与处理
掌握字符串的表示及常用处理实现
1.字符串的表示与处理
2.字符串应用
课后测验:文字信息的表示与处理
32
第32讲 实现排序算法
掌握批量数据的排序实现方法
1.实现冒泡、选择、插入排序
2.实现快速、归并、希尔等排序算法
课后测验:实现排序算法
33
第33讲 用空间换取时间编程方法
理解算法的时间复杂度和空间复杂度的概念;掌握基本的空间换时间的编程策略
1.实现查找算法
2.用空间换取时间编程
课后测验:用空间换取时间编程方法
34
第34讲 探究指针的本质与使用
理解指针的本质和简单使用方法
1.指针的本质是什么?
2.使用指针
课后测验: 探究指针的本质与使用
35
第35讲 指针运用的风险控制
理解指针类型的限定以及运算规则
1.指针的有效性和风险控制
2.指针的运算规则
课后测验:指针运用的风险控制
36
第36讲 数组元素的简洁表示
掌握使用指针访问数组元素的方法
1.指向一维数组元素的指针
2.指向多维数组元素的指针
课后测验:数组元素的简洁表示
37
第37讲 大批量数据的简洁表示
掌握使用指针访问数组的方法
1.指向数组的指针和指针数组
2.多级指针和批量数据简洁表示
课后测验:大批量数据的简洁表示
38
第38讲 完美实现函数之间的数据交换
掌握函数之间传递数组的机制和语法
1.批量文字简洁表示
2.函数之间数据交换的高效方法
课后测验:完美实现函数之间的数据交换
39
第39讲 字符串查找与匹配
掌握字符串的常见操作
1.函数之间传递字符串数据
2.字符串查找与匹配算法
课后测验:字符串查找与匹配
40
第40讲 回调函数
掌握函数指针的定义和使用
1.学会用指针数据
2.学会用回调函数
课后测验:回调函数
41
第41讲 使用动态内存
掌握内存申请和释放的常见函数
1.获取动态内存
2.使用动态内存
课后测验:使用动态内存
42
第42讲 复杂数据在C程序中的表示
掌握结构体类型对象的定义和使用方法
1.结构体类型与对象
2.用指针简洁表示复杂数据
课后测验:复杂数据在C程序中的表示
43
第43讲 编程使用复杂数据
了解共用类型的定义和使用方法;掌握枚举和位域的定义和使用方法
1.共用体类型和对象
2.枚举与位域
课后测验:编程使用复杂数据
44
第44讲 构建数据类型体系
掌握链表的机制和定义方法
1.构建数据类型体系
2.用链表表示动态“数组”
课后测验:构建数据类型体系
45
第45讲 链表的运算
掌握链表的基本操作方法
1.链表的运算
2.结点插入和删除
课后测验:用链表表示动态的复杂数据
46
第46讲 常用算法及策略
掌握常用算法的策略及编程逻辑
1.动态规划与贪心算法
2.图搜索与回溯算法
47
第47讲 编程操作永久性数据
掌握文件系统的基本概念,以及操作文件的常用函数
1.文件系统概念
2.操作文件
课后测验:编程操作永久性数据
48
第48讲 编程读写文件
掌握编程读写文件的方法
1.用C程序读写文件
2.编程处理各种格式的文件