C语言编程是一个复杂的过程,C语言变成又是一个简单的过程。这一切须要听从以下的过程:git
零、编程概述:算法
一、C语言特色;shell
二、Linux命令;编程
三、Linux库的应用;vim
四、Linux man;数组
五、vim编辑器;多线程
六、gcc编译器;编辑器
1、语法知识:函数
一、C程序特色单元测试
1)、第一个程序
2)、程序的通用构件
3)、程序的环节
4)、编程的规范
5)、增量式开发
6)、流程图
二、C程序以内置类型
三、C程序之运算
四、C程序之变量
五、C程序之判断
六、C程序之循环
七、C程序之函数
八、C程序之I/O
九、C程序之数组
十、C程序之字符串
十一、C程序之指针
十二、C程序之结构体
1三、C程序之联合体
1四、C程序之枚举
1五、C程序之函数指针
1六、C程序之定义类型
2、算法应用:
一、C程序之抽象数据类型
二、C程序之链表
三、C程序之堆栈
四、C程序之队列
五、C程序之树
六、C程序之图
七、C程序之排序
八、C程序之查找
九、C程序之算法
1)、分治算法
2)、动态规划算法
3)、贪心算法
4)、回溯算法
3、核心技术:
一、C程序之接口化
二、C程序之变量做用域
三、C程序之库实现
四、C程序之自动编译(Make)
五、C程序之复杂类型
六、C程序以内存谋划
七、C程序之位操做
八、C程序之预处理
九、C程序之调试(Gdb)
4、高级应用:
一、文件
二、多线程
三、函数库
四、内存对齐
5、番外讲解:(主要参考《C程序设计新思惟》第2版 人民邮电出版社)
0、程序调试
1)、gdb
一、文档测试
1)、valgrind检查错误
2)、单元测试
3)、错误检查
4)、错误检查
5)、文档编制
二、项目打包
1)、makefile仍是shell脚本
2)、使用autotools打包代码
三、版本控制(git)
1)、查看差别
2)、git对象
3)、树与分支
4)、远程版本库
四、团体协做
1)、动态装载
2)、流程
3)、混合编程
五、注重重构
六、为所欲为