编程语言应用

首页 » 常识 » 常识 » 关于C语言推荐的一些书籍
TUhjnbcbe - 2022/10/26 0:16:00

大家好,我是TT。

对于C语言学习来说,从基础到进阶,都有哪些经典书籍可以参考呢?

今天,我就向你介绍几本值得作为首批阅读材料的C语言书籍。这些书里的大部分我都读过不止一遍,希望它们也能对你有所帮助。

第一本书是StephenPrata的经典著作《CPrimerPlus》。(在之前的文章中也推荐过)

你可能也对它很熟悉。这本书非常适合没有任何编程语言基础的同学,来作为初次学习C语言时的参考书籍。当然,如果你已经具备了一定的C语言基础和项目经验,也可以阅读本书来进行适当的查缺补漏。

这本书详细地介绍了C基本语法(最新版,基于C11标准)的各类细节,并通过大量实例,展示了这些语法在实际项目中的使用方式。但稍显遗憾的是,本书对C标准库的相关内容仅在附录中做了简短介绍,如果你想了解如何正确使用标准库的相关接口,那它的参考价值就比较有限了。

第二本书是JensGustedt的《ModernC》

这本书虽然没有上一本经典,但它是为数不多的以C17标准为主的C语言书籍。这本书采用了不同的角度将相关内容进行了分类,并且还讲解了代码风格、C内存模型、多线程,以及原子操作等内容,这些都是《CPrimerPlus》中没有涉及到的。

唯一美中不足的是,书中的用例相对来说较为复杂,理解成本比较高。但还是推荐你完整阅读一遍,相信读完后你会有不少收获。

第三本书是RandalE.Bryant等人编写的《ComputerSystems:AProgrammer’sPerspective》,它的中文版书名为《深入理解计算机系统》。(在前面文章中也有推荐过)

同样地,这也是一本经典书籍,通常被简称为“CSAPP”。我认为,这本书是每一个专业的程序员都应该反复阅读,甚至去动手实践的一本书。通过它,我们能够对计算机系统的内部运作机制有一个基本且全面的认识。

对于C语言开发者来说,掌握基本的语法只是职业生涯中的第一步。如果想触及与C语言密切相关的操作系统、编译器、虚拟机、系统编程等众多底层领域,就离不开与计算机系统打交道。因此,这本书可以说是C开发者的必读书之一。

深入理解计算机系统计算机与互联网计算机系统图书京东¥.5购买已下架

第四本书是IgorZhirkov的《Low-LevelProgramming》

这本书可以作为学习NASM和x86-64的入门教材。NASM是一个针对x86处理器的汇编器,它可以将我们使用纯x86汇编代码编写的程序,编译为对应的二进制可执行文件。

本书使用汇编代码与C代码,介绍了x86-64平台上的系统调用、虚拟内存、非本地跳转、调用约定,以及共享库等内容,信息量非常丰富。不过这本书也有一些不足的地方,比如某些章节的内容可能有些偏题。

第五本书是潘爱民等人编写的《程序员的自我修养——链接、装载与库》。

这本书可以作为CSAPP的后续拓展资料。该书详细地介绍了程序编译及运行时背后发生的一切细节,比如目标文件的结构、静态链接与动态链接的区别、Linux共享库的版本控制,以及CRT的组成结构与运行原理等。但稍有遗憾的是,本书的相关内容是基于IA-32而非x86-64平台介绍的,两者在某些技术细节上可能稍有不同。

程序员的自我修养--链接装载与库0京东好评率%无理由退换¥88购买

第六本书是PeterVanDerLinden的《ExpertCProgramming:DeepCSecrets》

这本书出版于年,因此其中的部分内容在如今的C17甚至C2x标准下,早已过时。但我仍然向你推荐它的一个重要原因是,这本书的作者以诙谐幽默的方式讲述了C语言在设计上的种种考量。如果你想知道为什么C语法会被如此设计,那么看完这本书,你可能会有新的发现。

最后一本书是邓志的《x86/x64体系探索及编程》

从名字上就能看出,这是一本专注于探索x86/x64平台处理器架构的书,因此它并非适合所有C开发者。如果你对x86ISA指令的原理和使用细节感兴趣,又不想直接阅读英文版的Intelx86Manual,那这本书无疑是一个很好的选择。

x86/x64体系探索及编程(博文视点出品)京东好评率96%无理由退换京东配送¥61.8购买

当然,除了上面推荐的这几本书外,在学习C语言的过程中,你也可以参考cplusplus.

1
查看完整版本: 关于C语言推荐的一些书籍