当前位置:首页 > 公众号精选 > 小麦大叔
[导读]就在前几天,有几位老哥和我私聊,让我整理一份C语言经典书籍的书单,现在我把这个清单重新整理了一下,这里有零基础入门和进阶提高的书籍,对每个阶段的学习都会有帮助,下面它来了。

大家好,我是小麦,就在前几天,有几位老哥和我私聊,让我整理一份C语言经典书籍的书单,现在我把这个清单重新整理了一下,这里有零基础入门进阶提高的书籍,对每个阶段的学习都会有帮助,下面它来了。

关于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

  • Linux C编程一站式学习

  • C 和指针

  • C 程序设计语言

  • 深入理解C指针

  • C 专家编程

  • C 陷阱与缺陷

  • C 语言的科学和艺术

  • C 语言程序设计现代方法

  • C 语言接口与实现

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

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

  • Linux程序设计

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环境高级编程

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

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

Linux程序设计

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

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

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

—— The End —

免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

单片机编程需要使用专门的软件工具,这些工具能够帮助程序员编写、调试和烧录程序到单片机中。以下是一些常用的单片机编程软件:

关键字: 单片机 编程 软件工具

Java语言和C语言是两种不同的编程语言,它们在语法、特性和应用领域上有许多差别。下面将详细介绍Java语言和C语言之间的差异以及它们各自的技术特点。

关键字: Java语言 C语言 编程

嵌入式系统是一种专门设计用于特定应用领域的计算机系统,它通常由硬件和软件组成,并且被嵌入到其他设备或系统中,以实现特定的功能。在嵌入式系统的开发过程中,选择适合的编程语言是至关重要的。C语言是一种被广泛应用于嵌入式系统开...

关键字: 嵌入式 计算机 C语言

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序

嵌入式系统是现代生活中无处不在的一部分。它们包括了我们的家电、汽车、智能手机、医疗设备等等。这些系统的工作必须高效、可靠,因为它们往往控制着生活中的关键方面。而C语言作为一种广泛用于嵌入式系统开发的编程语言,其质量和稳定...

关键字: 嵌入式系统 C语言 编程

在嵌入式系统开发领域中,C语言是使用最广泛的编程语言之一。它具有高效、灵活和可移植的特点,成为嵌入式系统设计师的首选语言。本文将介绍C语言编程的基本概念、特点以及在嵌入式系统开发中的应用。

关键字: 嵌入式系统 C语言 编程

C语言编译器是一种用于将C语言源代码转换为可执行程序的软件工具。它的主要功能是将C语言代码翻译成机器语言,以便计算机能够理解和执行。C语言编译器通常包括预处理器、编译器、汇编器和链接器等多个组件,它们协同工作以完成编译过...

关键字: C语言 编译器 Microsoft Visual C++

在编程和计算中,运算符优先级是解释和计算表达式的一个关键因素。本文旨在阐述运算符优先级的概念、规则及其在表达式中的应用,以帮助读者更好地理解和运用运算符优先级。

关键字: 表达式 运算符 编程

泰克科技组合软件总经理Rick Khulman:“激发孩子们——尤其是女孩们对STEM的兴趣,对我本人乃至广大工程界都至关重要。”

关键字: 编程 机器人 示波器
关闭
关闭