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)、混合編程
五、注重重構
六、爲所欲爲