1、《Absolute Beginner’s Guide To C》第二版,作者Greg Perry   【更新】:这本书也有中文版《写给大家看的C语言书》,感谢刘江在评论中补充。PS:亚马逊等几大电商网站都无货中。   书如其名,这本书是特别为没有编程经验的程序员编写的。这本书从基本的I/O命令,比如printf()、scanf()讲起。在此基础上,也进一步讲解了数据结构、内存中的堆结构、循环和自定义函数。这本书以清晰的讲解模式,帮助读者更简单地理解C语言。同时,书中也简单介绍了C语言中用到的基本语法和标识符。   

2、《C Primer plus》第5版   这是目前市场上,最适合自学的C语言书籍。你可以在书中找到所有C语言编程概念的详细解释。这本书为每一个单独的概念提供了简短的例子,帮助读者更好理解。比如,指针这一章节就体现了这个特点。指针章节是本书编写最出色的章节之一。指针用来标识内存中的具体位置并且存放相应内存地址。书中参照了最新的ANSI标准C

3、《C专家编程》   你是准备进一步提高编程技巧的C语言专家吗?《C专家编程》就是为你准备的,它可以帮助程序员理解高级的C语言概念。它强调程序员常用的一些最佳C语言技巧。这本书写得十分有趣,展现了作者在SUN系统(SUN SYSTEM)中的丰富经验。这本书还定义了一些传统的编程方式,比如使用不同的声明方式。同时,本书还提供了很多实用的编程实践提示,比如,指针和数组之间的差别。   一开始,借助书本学习C语言可能有些困难。但是,这些书用最好的方式介绍了C语言中的基本概念。借助这些书,你可以从学习基本的C语言开始,一直深入到学习C语言编程中的高级技巧。完成书中的练习很重要。在实现这些习题的过程中,你可以高效理解和学习有关概念。这些书,也为你继续学习其他高级语言,比如C++、JAVA,提供了基础。   C语言学习秘诀   一、一字真言   学好C语言,一字真言,那就是“编”。   (一)编。   学习C语言,乃至学习所有的语言,都讲究一个动手--不是动手打人,而是动手编程序。你必须通过编写程序来熟悉知识、理解知识。倘若只学不编,只看别人的程序,自己不动手写,是不能从入门到精通的。要知道,在计算机界,只说不练的人很欠揍。试想一下,你在哪里辛辛苦苦的编程序,他却站在一边,如老板一样喋喋不休,对你提出这项意见,那项思路,甚至畅谈自己编程将会如何如何,好像很牛皮的样子,但就是不编一行代码。估计大家碰上如此之人,只会一个动作,那就是点击“踩”。   一个“编”字就可以学好C语言吗?真的如此简单吗?不是的,仅仅“编”是不够的,你还需要“我编”。   (二)我编。   请注意修辞,“我”编!这个“我”其实就是只“你”,也就是学习C语言的人。   大家在学习C语言时,要多编写程序,比如学习链表时,要自己编写链表程序,甚至自己编写俄罗斯方块等游戏程序来练习。不过有个前提条件,你必须自己编写这些所有的程序才有效果,如果你从网络上下载了某某源代码,或者拷贝了同学的程序,任何大言不惭的说是自己编写的,那么我也只能大言不惭的告诉你,这样做出了养成偷窃的习惯外,没有任何效果!   有同学会问,那么“亲自”编程序总可以精通C语言了吧,其实还差一点点,仅仅“编”是不够的,只是“我编”还不足以精通,为了达到C语言的最高峰,你还需要“我编编编”。   (三)我编编编。   “编”字重复三次,这里的“三”,代表多,意思是你必须多多的编写程序。亲自编写10行代码等于没有编,亲自编写1000行代码是远远不够的,亲自编写1万行代码还马马虎虎,亲自编写10万行代码,你绝对成为程序员中的战斗员。   乍一看10万行代码,估计有同学会先直挺挺的躺下去,然后又眼珠一转站了起来--他们想起了坏主意。“不就是10万行吗,容易!现在的编程工具都有代码生成功能,随便在VC中用鼠标拖曳几下,搞一个MFC窗口程序,系统就自动生成了几百行的代码。在搞几个三方控件,几千行代码就生成了!”   再次声明,“编编编”是有前缀的,那就是“我”,也就是学习者自己,使用代码自动生成工具产生的代码难道是“学习者”编写的?   要不上有政策,下有对策,“不用代码生成器,那么就抄,照着输入代码就行!”哎,人不能无耻到那种地步!这十万行代码要“你”亲自完成,亲自在脑海中发芽、生根,再亲自逐行输入。这又不是什么政绩任务,也不是什么形象工程,欺骗别人最终只能是自欺欺人。   二、两种态度   一般人提起C语言,常常一个字如影随形涌上心头,那就是“难”!害怕啊,C语言真是太恐怖了,传说中的指针真是太锋利了,一不留神就把系统划破,搞出几个死机重启都是太正常不过了。   其实没有必要这么担心,本朝太祖曾经说过:“在战略上藐视敌人,在战术上重视敌人。”   (一)战略上藐视C语言   其实,C语言也就是一个普通的语言而已,别把它想象的太难!与Java相比,C语言也只是程序复杂一点、代码冗长一点、库函数少上一点、三方控件难学一点,编译工具简陋一点、指针麻烦一点,其他的都差不了多少,程序设计思想总是一样、程序构建总是相同的、程序语法总是类似的、程序逻辑总是差不多的。   没有必要对C语言谈虎色变,把他当成一门普通的语言就行了。要知道,就算C语言再难,总比汇编语言容易掌握、比机器语言容易记忆、比英语容易掌握。所以要自信!一切C语言都是纸老虎。   (二)战术上重视C语言   虽然我们在C语言面前保持了激昂的斗志,虽然我们无所畏惧。但是真正在学习得过程中,还是务必保持谦虚谨慎的态度,戒骄戒躁,不要因为搞了一两个俄罗斯方块游戏程序就洋洋自得,以为老子天下第一,甚至只遍了10行代码,就到CSDN博客中到处骂人,到处“踩”人的帖子。要知道,“雄关漫道真如铁,而今迈步从头越”,无论你学了多少,只要还没有走上工作岗位,那么万里长征就只是才迈出了第一步,还有很长的道路等待着你。

4、《C程序设计语言》   这本书由C语言之父合著编写。它提供了对C语言的更好见解。比如在C语言中的控制流、运算符、数据结构和函数构造等方面,这本书都有自己的解释。书中所有概念都有合适的例子,以助读者理解。如果你想要学习一种更好的编程范式,代码重用或是注释的重要性。那么,这本书最适合你。书后的系列练习很有挑战性,可以让你通过每一个练习有所提高。   这本书并不好读。但是,这是必读的一本书。我建议,你在读完一本简单的教程之后,再阅读这本书。书中有很多章节需要很长的时间,才能深入理解和掌握。   

5、《C语言程序设计:现代方法》   这本书以一种独特的方法解读了C语言。C语言已经经历了一些变化,这本书高效介绍了这些变化。书中的程序都是用纯C代码编写,使得程序有很好的可移植性。这本书鼓励读者独立思考,并且鼓励你找到更有效的解决问题的方法。对C语言感兴趣的学生,这是一本很好的课堂教材。   

6、《C语言编程精解及面试攻略》   印丨R.纳热瓦拉·拉奥   编辑推荐丨以概念+范例程序+面试题的方式细致而全面地介绍C语言知识,注重编程技能的提高;涵盖知名软件公司的大量C语言面试真题,并提供答案。   内容简介丨这本书中所有C语言相关的概念都是以深入浅出的方式来介绍的,读者无需任何计算机基础知识就能顺畅地阅读本书。书中的.面试题采集自各大软件公司的真实面试题,数以百计的范例程序能帮助读者很好地通过考试。   拓展阅读:   学习C语言必看的最经典书籍   为什么在程序员中,C语言如此流行呢?这背后有很多原因。首先,它独立于平台,可以运行在MAC、Linux、UNIX和PC各种环境中。它是UNIX系统以及其他同样结构的系统的默认语言。同时,它是一种多用途的语言,它可以用于编写设备的驱动程序、桌面应用、嵌入式系统和DBMS(数据库管理系统)。这也就是说,你可以使用C语言写几乎所有需要的程序。   

7、《C语言解惑》   中丨刘振安。刘燕君   编辑推荐丨这本书创新性地从“错误”的角度出发进行讲授,通过对比程序的对错、程序的好坏,使读者具备编制高质量程序的能力。   内容简介丨这本书结合作者的教学和工程实践,安排了大量正反两方面的实例,通过比较对错和优劣,使读者留下深刻的印象,更容易记住编程的要诀,并进一步建立好的编程风格,最终提高编程能力和程序的质量。   

8、《C高级编程》   基于模块化设计思想的C语言开发   中丨吉星   编辑推荐丨C语言模块化设计和编程的典范之作!高度呈现模块化设计的思想与精髓,系统总结模块化的系统设计方法。   内容简介丨这本书是目前唯一地、系统化地、深入地讲解C语言模块化设计和编程的著作:以大量可复用的仁工程代码为依托,深入地讲解了C语言的核心技术和重要模块,以及如何用模块化的方法进行大规模工程实践。   

9、《手把手教你学C语言》   中丨吴明杰、曹宇、吴丹   编辑推荐丨这本书主要针对学习C语言的初学者,即使完全没有编程基础,也能够通过阅读本书快速掌握C语言的核心知识。   内容简介丨这本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符串、结构体、链表、文件操作、栈和队列、自定义头文件、多文件编译、Linux下C文件的编译和链接、链接库等知识点。   

10、《算法精解》   C语言描述   美丨Kyle Loudon   编辑推荐丨公认的权威经典,数据结构和算法领域最具特色的著作之一!十余年来,畅销不衰!   内容简介丨这本书对常见的数据结构如链表、栈、队列、集合、哈希表、树、堆、图都做了详细的分析并给出了具体的实现。算法方面除了最为常见的排序和检索外,还有数值计算、数据压缩、数据加密、几何计算等方面的主题。   

11、《零基础学C语言》   第3版   中丨康莉、李宽   编辑推荐丨这本书非常适合无C语言基础或基础薄弱的程序员阅读,并可作为开发人员的参考手册。   内容简介丨这本书循序渐进地讲述了C语言的语法规则和编程思想,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述。   

12、学习C语言必看的6本书籍   C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。下面为大家带来了学习C语言必看的6本书籍,欢迎大家参考!   

13、对于初级程序员来说,本书对学习基本概念大有帮助。这些概念在其他语言(比如:PHP和JAVA中)也有所应用。   

学习C语言必看的6本书籍