1. How to Think Like a Computer Scientist: C version(最推荐, 这是C语言的首选入门教材)下载网址:http://prof.beuth-hochschule.de/scheffler/lehre/programmieren-in-c/linux
2. C Primer Plus算法
3. 《The C Programming Language (2nd Edition)》 (K&R, 这是最著名的C语言书籍。可是,它不是写给初学者看的,更偏重C语言的编程技巧和算法思惟。)编程
4. 《零基础学C语言》,康莉等著,机械工业出版社,2009。在国产教材中,这本书的质量很高,值得推荐。《Linux C编程一站式学习》这本书在国产书籍中罕见地采用了GFDL许可证,http://learn.akae.cn有在线阅读,能够免费下载。这一点值得高度确定,(不过作手册比作教科书好)。编程语言
5. Beginning Linux Programming 它主要讲解如何用C语言调用Linux的系统API,偏重基本概念的解释。工具
6. 若是你要学linux编程, 直接上《unix环境高级编程》, 绝佳!学习
另外, 若是你看不太懂K&R,应该不是语言层面的问题,而是对计算机硬件和OS的理解不足致使的。我以为,要理解C语言,须要理解计算机原理和汇编,才能明白 C语言为啥要设计成那个样子。google
从这个角度,推荐《深刻理解计算机系统》,能让你更好的理解计算机和OS,同时这书也是很好的linux下的C语言开发入门教材。spa
“”“设计
编程语言不是用来学的,是用来用的(少数语言例如lisp除外)。K&R是C做者写的东西,固然值得读,就如同说你学C++必需要读BS的书同样,一般只有读发明者的书才能更深入的理解这个语言,不过通常而言,发明者的书不适合初学者。unix
彷佛没有什么语言有必要看超过两本书。直接上手开始作,才能真正掌握,而这些是看100本书都没法获得的。
对于每一个语言来讲,入门书有一本就够了,至于提升书,当你有了必定的编程经验后有一本也就够了。这就是我认为不须要超过两本书的缘由。
至于工具书,我我的认为意义不大,由于绝大多数用于查API和基本概念的东西都有电子版,也均可以直接在网上搜到,没有必要收藏一本书(收藏一个页面或者一个google关键字要比收藏一本书方便得多)
”“”
附带 一个励志小故事: https://www.sohu.com/a/206160515_707469