评论

收藏

[C++] C语言入门书籍推荐,C语言自学必看书籍(2022年)

编程语言 编程语言 发布于:2021-12-04 19:18 | 阅读数:632 | 评论:0

一、C语言入门书籍推荐的基础C语言书籍入门系列
C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,因此相对于其它编程语言,它具有自己独特的特点。我想用我近10年的经验给大家推荐全部经典C语言入门书籍,让小白少走弯路。
关 注 微 信 公 众 号:C和C加加 回复 “88”即可领取C语言书籍大全电子书和C语言进阶教程
DSC0000.png
1、《C语言程序设计:现代方法》(第2版)
本书最主要的一个目的就是通过一种“现代方法”来介绍 C语言,书中强调标准 C,强调软件工程,不再强调“手工优化”。这一版中紧密结合了 C99标准,并与 C89标准进行对照,补充了 C99中的最新特性。
本书是为大学本科阶段的 C语言课程编写的教材,同时也非常适合作为其他课程的辅助用书。
2、《C语言程序设计》(第2版)谭浩强版本
这本书堪称经典之作初学者学习可以看看,这个就是零基础入门学习C语言的,上手快。但关键在实践!坚持!
不过这本书被诟病的地方也不少,可以看完上面那本再看这本,很多东西就懂了。
3、《程序员修炼之道》
DSC0001.png
《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
4、《C和指针》
这是一本全面的C语言入门书。当然入门的深度和高度都比国内的教材高太多了。所以,如果你能直接从这本书开始学的话,起点会比较高,当然能学懂的话,说明你很有才。
一般情况下,本书的部分内容更适合有C基础的人看。如ADT、递归、指针和数组的部分,书中所述的思想是国内教材所缺乏的。
5、《C primer plus》(入门首选)
C prime Plus这本书看了两遍,练习题基本上都自己独立做完了。题目没怎么主动算法能力(毕竟不是算法的书),但是每个细节说的很清楚。初学者很容易找到信心的。学完c primer plus之后可以来看上面谭大爷的书找错误。
6、《高质量程序设计指南》(一定要看)
一个偶然的机会接触了本书的第一版,引发了对软件工程的思考,让我很早就意识到代码规范的重要性,为今后学习打下了坚实基础,真的很感激这本书,虽然其内容都很简单,但是在我迷茫的时候真的给了我很多启迪。
7、《C/C++深层探索》
很不错的书,他的另外一本c标准:标准和实现也非常好。原创佳作~~语言的扩充成为C++,我们知道C语言是一种程式语言,而C++则为对象化语言,因此C++比C更加接近人类的语言。
8、《从问题到程序》(最佳高校教材)
既适合初入门到的小子,也适合相见恨晚的匹夫。而且里面又简略提到不少CS里面的概念:
风格严谨,十分强调程序的强健和安全,测试.越界访问从头到尾都在强调,后面还自己实现了个通用整数输入检查函数,还有通用错误信息处理函数,错误处理讨论得很详细.代码简练,命名规范.老早就讲了函数,”强调通过函数抽象建立清晰结构的重要性”.提供大量的模式,实例和建议,教会初学者设计、权衡.内容不依赖任何具体C实现,讨论IDE好处和坏处.

二、C语言入门书籍推荐之C语言内核/驱动系列
1、《Linux C编程一站式学习》
此书内容涵盖极广:C的基本语法,简单的数据结构,C与汇编的联系,计算机系统结构,操作系统,正则表达式,TCP/IP,无所不包。
本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,本书对于C语言的语法介绍得非常全面,对C99标准做了很多解读,因此也可以作为一本精简的C语言语法参考书。
2、《Linux内核设计与实现》(第3版)
首先书很薄,而且讲解不求深入。如果一个人在第一次翻阅此书的时候有这样的印象,那应该好好反省下自己是否太浮躁了。它可以带你由理论学习阶段逐渐过渡到实践阶段。对于这样一部书,要是太厚就有点骗钱的嫌疑,要是太深入又会让人觉得作者故意显摆自己的学识。
3、《Linux设备驱动程序》(第3版)
适合中低水平的人。Linux 设备驱动模型真心复杂!对于写Linux驱动的人来说, 这本书应该是教科书级别的吧, 必读.
4、《深入Linux内核架构》
觉得是linux内核的一大作,坊间关于《深入理解linux内核》的传说,本人用自己的拙学是这么理解的。对于可以有较好的英文阅读能力的人,可以不用看毛德操的老师的书,后者已经完全可以替代了。注意现在比较的逻辑,并没有拿这本书去调戏《深入理解》,毕竟本人认为本书阅读时间该是有操作系统概念,然后还没有深入代码研究的阶段。所以同样还在摸索的你我,不要被本书的页数给吓到了,如果你是在校学生,我建议花一个学期对着源码研究。

三、C语言入门书籍推荐之C语言应用系列
1、《UNIx环境高级编程》
此书的经典性就在于不高不低不多不少,把UNIX系统编程的来龙去脉向你娓娓道来。很多地方都可以让你感觉到,你的疑惑作者在写书的时候已经了如指掌。
2、《UNIX网络编程》
了解 linux 下的网络编程,这本很赞。其中讲到了较为底层的网络编程系统调用和几种网络通信模式,譬如阻塞式,非阻塞式,I/O 多路复用等。但离实践还是由于一定的距离,网络编程中重点不在于系统调用,而是对具体的项目想要设计与之适应的网络模式。

四、C语言入门书籍推荐之进阶系列(王者归来BAT等你)
1、《C陷阱与缺陷》
书中所说的几乎所有需要注意的地方作为一个程序员都有可能遇到,作者叙述起来很有意思,丝毫没有说教的感觉,举的例子很简单却一针见血。
此书作为一本常备读物是非常合适的,没事经常翻翻加深印象。
2、《C专家编程》
DSC0002.png
它使你对C的使用有深入了解,最后还介绍了一些C++,如果你以前没太多接触过C++,只知道C,通过这本书打开通往C++之门也不错。书中还提到了一些当年那些传说中Hacker的的故事,挺风趣的。
3、《C语言程序设计》K&R版
什么是好书?无法删减的书才是真正的好书。K&R的书一如C语言的设计理念:简单而高效
里面的习题建议都认真做一遍,而且是在linux下用vi来做,用makefile来编译,用shell脚本来进行测试,本来第八章的题就是和linux相关的
计算机的大学生们不应只会在WINDOWS下用VC来编程,而都应该在linux环境下进行程序设计,因为linux本身就是为开发者准备的操作系统
4、《C语言解惑》
DSC0003.png
本书脱胎于作者在C语言的摇篮——贝尔实验室教授C语言的讲稿,几乎涵盖了C语言各个方面的难点,并包含了一些其他书籍很少分析到的问题。在每个谜题后面都有详尽的解题分析,使读者能够清晰地把握C语言的构造与含义,学会处理许多常见的限制和陷阱,是一本绝佳的C语言练习册。
5、《你必须知道的495个C语言问题》
比教材经典,最好手边一本教材,一边翻,一边看本书。建议集中时间看,然后再重新复习!很实用的书,比c语言陷阱,c语言解惑要深刻!!!广度还行,深度不足,适合查缺补漏。
6、《C语言参考手册(原书第5版)》
这是C99确定发布后出版的参考手册。相比K&R要更加接近现在。K&R适合入门,而这本书不读,恐怕不算”学过C语言“。
7、《C语言接口与实现》
这本书的语言属于那种简单准确的风格,与原文的语义一致性很高,基本上没有因炫耀文字而牺牲准确性之处。新手当做兴趣书看或者老手老复习下也可以。可以加深对ADT的理解。
8、《深入理解计算机系统》(修订版或第3版)
我个人认为这本书是在你学完数据结构和导论之间去看,因为这本书只是让你去深入理解计算机导论里面的一些概念,算是高配版本的计算机导论,目的是为了引出来操作系统、组成原理这些专业核心的课程。如何利用计算机的工作流程去优化自己写的东西这个才是这本书的目的。
9、《C语言的科学和艺术》
这本书对于C语言中比较困难的部分:如指针、C风格字符串、数组和指针的关系、数组和字符串的关系,都有“一针见血”式的透彻分析,使初学者能够容易的明白其中的知识,也使有经验的读者能够抓住重点理解更加深入。对于这些比较精髓的知识,特别是指针和数组名的区别,会在文中多次被提醒:分配内存、左值!
10、《数据结构与算法分析C语言系列》
这本书确实是很好的数据结构与算法分析的最佳入门教程,讨论了主要的数据结构:表、栈、队列、树、散列、优先队列、不相交集合和图;同时讨论了经典的排序算法:插入排序、希尔排序、堆排序、归并排序、快速排序;介绍了5种常用算法:贪婪算法、分治算法、动态规划、随机化算法、回溯算法;并讨论了Java Collection中相关数据结构的实现:ArrayList、LinkedList、TreeSet、TreeMap、HashSet、HashMap、PriorityQueue。
11、《Linux程序设计》
DSC0004.png
《Linux程序设计》是我的Linux编程入门书籍,在阅读和学习这本书的时候产生了很多的疑问,书里也没有对应的解答,直到……直到我看了APUE,带着这些问题去学习APUE,产生了巨大的能量。总之,推荐这本书,但是这本书也只是入门书籍,站在《Linux程序设计》的肩膀上,学习APUE,在Linux的世界里遨游吧!
12、《现代编译原理》
翻了这么多本书,这是我看过的唯一一本讲具体怎么构建一个编译器的书。同时这本书所构建的编译器就像作者说的那样,简单但是并不平庸,拥有很多挺先进的特性。也能算是一个优化编译器。
13、《重构-改善既有代码的设计》
大师Martin Fowler的经验之谈,看后有种醍醐灌顶、欲罢不能的感觉。重构也是当今敏捷开发一项不可或缺的技艺,建议所有有设计和项目开发经验的开发者都应读一下。
14、《老码识途-从机器码到框架的系统观逆向修炼之路》
知识点都是底层的干货,对理解高层封装出来的一些概念的本质灰常有帮助。总之弄懂了这些底层的机制,对高层语言的理解会透彻很多。不过最好有一点汇编基础再读,否则略艰涩。
15、《C语言进阶》
里面有一部分基础语法,但是也有很多高级的东西。函数指针与指针函数,指针数组与数组指针,预定义,预编译,调试之类。如果想应付面试,看这本书应该也没有错,里面有很多笔试喜欢考的sizeof的东西。
16、《实用C语言编程》
把这本书吃透了,找个工作,那是再容易不过了,所以说一本好书需要时间来检验它,在岁月中沉淀下来…岁月检验过的好书,不解释。
关 注 微 信 公 众 号:“ C和C加加 ” 回复 “88”即可领取电子书和C语言详细进阶教程
DSC0005.png






关注下面的标签,发现更多相似文章