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