關於C編程,我以爲有下面3個層次:linux
基礎 - 基本語法程序員
進階 - 避免常見錯誤 與 良好的風格面試
高手 - 軟件架構算法
基礎語法是固定的,學習起來比較容易,軟件架構則須要閱讀不少優秀的代碼來培養,
而常見的錯誤與良好的風格則能夠借鑑前人的經驗。編程
如下介紹一些書籍,但願它們可使用你的代碼更加優美。數組
這本書的做者是李先靜老師,這是他編程經驗的總結,從事linux開發、嵌入式開發工做的工程師看後應該會有不少共鳴,牆裂推薦!!!安全
李先靜,CSDN開源專家,有着十年Linux開發經驗、五年手機開發經驗。擅長嵌入式程序員培訓,軟件架構設計和技術寫做數據結構
圖書目錄:架構
第0章 背景知識併發
第1章 從雙向鏈表學習設計
第2章 寫得又快又好的祕訣
第3章 從動態數組學習設計
第4章 併發與同步
第5章 組合的威力
第6章 算法與容器
第7章 工程管理
第8章 內存管理
第9章 從計算機的角度思考問題
第10章 文本處理
第11章 分離用戶界面與內部實現
第12章 撰寫設計文檔
附錄C語言中接口定義的不一樣形式
有一句話說的很好,「規範大於配置」。
規範是團隊成員之間的一種約定,有了規範,好處多多。
一個功能,選擇方案後,編碼的邏輯是相對固定的,至於文件的命名,存放的位置,代碼的風格倒是很是自由的。
一旦制定了規範,工程師的注意力就能夠集中在代碼邏輯上,提升效率。
全部人都按照規範來,整個系統有序,易維護,代碼的增長與刪除不至於讓整個工程混亂不堪。
若是你須要爲一個團隊制定C編程規範,《華爲技術有限公司c語言編程規範》能夠做爲你的參考。
圖書目錄:
0 規範制訂說明
1 頭文件
2 函數
3 標識符命名與定義
4 變量
5 宏、常量
6 質量保證
7 程序效率
8 註釋
9 排版與格式
10 表達式
11 代碼編輯、編譯
12 可測性
13 安全性
14 單元測試
15 可移植性
16 業界編程規範
很是適合新手C程序員。
圖書目錄:
第0章 導讀
第1章 詞法「陷阱」
第2章 語法「陷阱」
第3章 語義「陷阱」
第4章 鏈接
第5章 庫函數
第6章 預處理器
第7章 可移植性缺陷
第8章 建議與答案
它適合有必定經驗的C程序員。
《C專家編程》展現了最優秀的C程序員所使用的編碼技巧,並專門開闢了一章對C++的基礎知識進行了介紹。書中C的歷史、語言特性、聲明、數組、指針、連接、運行時、內存以及如何進一步學習C++等問題進行了細緻的講解和深刻的分析。
圖書目錄:
第1章 C:穿越時空的迷霧
第2章 這不是Bug,而是語言特性
第3章 分析C語言的聲明
第4章 使人震驚的事實:數組和指針並不相同
第5章 對連接的思考
第6章 運動的詩章:運行時數據結構
第7章 對內存的思考
第8章 爲何程序員沒法分清萬聖節和聖誕節
第9章 再論數組
第10章 再論指針
第11章 你懂得C,因此C++不在話下
附錄A 程序員工做面試的祕密
附錄B 術語表
C語言三部曲:C缺陷與陷阱、C專家編程、C與指針。
指針的知識只是其中一小部分,感受是另外一版C專家編程。
圖書目錄:
第1章 快速上手
第2章 基本概念
第3章 數據
第4章 語句
第5章 操做符和表達式
第6章 指針
第7章 函數
第8章 數組
第9章 字符串、字符和字節
第10章 結構和聯合
第11章 動態內存分配
第12章 使用結構和指針
第13章 高級指針話題
第14章 預處理器
第15章 輸入/輸出函數
第16章 標準函數庫
第17章 經典抽象數據類型
第18章 運行時環境
附錄 部分問題答案
C風格要素,把bug扼殺在萌芽中的一本書。
這本書能夠做爲學習C語言的第二本書。
這本書好像沒有中文版本,如下是我翻譯的圖書目錄。
圖書目錄:
第1章 程序風格和結構
第2章 代碼文件、註釋、程序標題
第3章 變量命名
第4章 表達式格式
第5章 具體表達式
第6章 宏定義
第7章 目錄結構與Makefile
第8章 寫漂亮的代碼
第9章 總則