适合绝大多数人的C语言书单,你有看过吗(文末资源)

2021年5月10日 57点热度 0人点赞 0条评论

为什么要学C语言?

先看C语言的历史; 1973 年,KenThompson 和 DennisRitchie 在做系统内核移植开发时,感觉使用汇编语言很难实现。后来决定使用一种称为 BCPL的语言进行开发,在开发过程中,他们在 BCPL 的基础上做了进一步的改进,推出了 B 语言(取 BCPL 第一个字母)。

后来发现使用 B 语言开发的 UNIX 内核,还是无法达到他们的预期要求,于是在 B 语言的基础上,做了进一步的改进,设计出了具有丰富的数据类型,并支持大量运算符的编程语言。改进后的语言较B语言有质的飞跃,1970年左右,取名为 C 语言,并使用 C 语言成功重新编写了 UNIX内核。

这也是为什么UNIX的时间戳默认是从1970年1月1日开始;

C/C++无处不在,到底能做哪些事情呢?

  • 大多数操作系统内核都是用C编写的,包括但不限于Windows,Linux,Mac,iOS,Android等。

  • 现代浏览器也是用C/C++编写的。像Chrome,Firefox等。

  • 现代游戏引擎是用C/C++编写的,例如Unity3D,虚幻引擎,cocos2d-x等。

  • 编程语言的编译器和解释器也是用C/C++实现的。

下面给大家推荐基本C语言学习非常优秀的书籍。

C Primer Plus

《C Primer Plus(第5版)(中文版)》是C语言书最好的入门书籍之一,0基础完全可以。
可以说是满分入门书籍,内容循序渐进,这本书重要的不止是让你学会了C语言,更重要的是能够锻炼你的编程思想,这对以后的学习很有帮助。
遇到看不懂的地方多看几遍,再看不懂就先跳过,有时候一回头就突然懂了。
如果想把C当作吃饭的技能,除了这本书,还必须要再补一下数据结构和算法方面的知识。

Linux C编程一站式学习

本书有两条线索:

  • 一条线索是以Linux平台为载体全面深入地介绍C语言的语法和程序的工作原理;
  • 另一条线索是介绍程序设计的基本思想和开发调试方法。

本书分为两部分:

  • 第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识C语言;
  • 第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识C语言。

本书适合做零基础的初学者学习C语言的第一本教材,帮助读者打下牢固的基础。

有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。

本书对于C语言的语法介绍得非常全面,对C99标准做了很多解读,因此也可以作为一本精简的C语言语法参考书。

C 和指针

这本书和《专家编程》《C缺陷和陷阱》可以并称C语言(进阶书)三杰;

这本书提供与C语言编程相关的全面资源和深入讨论,由浅入深;

它涵盖了C语言的全部内容,特别注重指针的讲解,除了头尾的几章,指针的话题几乎是贯穿了全书。

正是指针使得C语言如此之强大,所以要学习C语言的精髓,就是要精通指针!

C 程序设计语言

在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。

本书作者是C语言之父,相当经典,“hello,World"程序就是由本书首次引入的。

不过读这本书,我们得有一些unix like系统的操作经验,需要知道文件描述符,输入输出流,重定向,管道以及”anything is file“等在unix世界里这些归为常识的概念;

这些离我们这些在windows的世界里长大的一辈太远。

深入理解C指针

深入理解C指针和内存管理,提升编程效率!这是一本实战型图书,通过它,读者可以掌握指针动态操控内存的机制、对数据结构的增强支持,以及访问硬件等技术。

C 专家编程

虽然是技术类书籍,但是作者很幽默,书里面八卦比较多,趣味性比较强;

同时也展示了优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。

对于有一定经验的C程序员会很有帮助;

对于C语言功底深厚的程序员,本书可以帮助他们站在C的高度了解和学习C++。

C 陷阱与缺陷

作者以自己1985年在Bell实验室时发表的一篇论文为基础,结合自己的工作经验扩展成为这本对C程序员具有珍贵价值的经典著作。

写作本书的出发点不是要批判C语言,而是要帮助C程序员绕过编程过程中的陷阱和障碍。

本书适合有一定经验的C程序员阅读学习,即便你是C编程高手,本书也应该成为你的案头必备书籍。

正如书上所说,“本书所揭示的知识,至少能够帮助你减少C代码和初级C++代码中90%的Bug”,我觉得这并不夸张。

C 语言的科学和艺术

《C语言的科学和艺术》是一本C语言经典教材,强调软件工程和优秀的程序设计风格。

此外,读者还可以从书中学习到ANSIC的基础知识,这些内容已经成为计算机行业的标准。

作者的写作风格使得书中深奥的概念变得易于理解和引人入胜。

这本书集中讨论库和抽象的用法,这是当代程序设计技术中最基本的知识。

使用库来隐藏C语言的复杂性,更加突出主题,使读者可以较好地掌握每一个主题的精髓。

然后,进一步给出每个库的底层实现,较好地展示了库自身的抽象威力。

C 语言程序设计现代方法

《C语言程序设计现代方法》最主要的一个目的就是通过一种“现代方法”来介绍C语言,实现客观评价C语言、强调标准化C语言、强调软件工程、不再强调“手工优化”、强调与c++语言的兼容性的目标。《C语言程序设计现代方法》分为C语言的基础特性。C语言的高级特性、C语言标准库和参考资料4个部分。每章都有“问与答”小节,给出一系列与本章内容相关的问题及其答案,此外还包含适量的习题。

C 语言接口与实现

《C语言接口与实现:创建可重用软件的技术》概念清晰、实例详尽,是一本有关设计、实现和有效使用C语言库函数,掌握创建可重用C语言软件模块技术的参考指南。

书中提供了大量实例,重在阐述如何用一种与语言无关的方法将接口设计实现独立出来,从而用一种基于接口的设计途径创建可重用的API。

数据结构与算法分析——C语言描述

本书是《Data Structures and Algorithm Analysis in C》一书第2版的简体中译本。

原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

在本书中,作者更加精炼并强化了他对算法和数据结构方面创新的处理方法。通过C程序的实现,着重阐述了抽象数据类型的概念,并对算法的效率、性能和运行时间进行了分析。

UNIX环境高级编程(第3版)

《UNIX环境高级编程》被誉为UNIX编程“圣经”。

经典中的经典。不过看这本书的前提是你熟悉linux,哪怕不是使用linux接口编程,至少要用过,了解shell,gcc,vim。 所以适合有一些基础的读者。

Linux程序设计

时至今日,Linux系统发展越来越成熟,因为具备跨平台、开源、支持众多应用软件和网络协议等优点,它得到了各大主流软硬件厂商的支持,也成为广大程序设计人员理想的开发平台。

本书是Linux程序设计领域的经典名著,以简单易懂、内容全面和示例丰富而受到广泛好评。

中文版前两版出版后,在国内的Linux爱好者和程序员中也引起了强烈反响,这一热潮一直持续至今。

👇👇👇

关注公众号【小麦大叔】

到后台回复【C语言】

上述书单中的书籍,即可下载;或者您有更好的经典书籍推荐或者有好的想法,欢迎积极讨论。

geek-maige

文章评论