通过这 9 本开源好书学习 C 语言

灰暗的星星灰暗的星星灰暗的星星灰暗的星星灰暗的星星
 
分类:技术文章

书是非常私人的东西,编程类书籍也不例外。我们都是通过阅读书籍来帮助掌握某种语言的基本知识。随后又通过阅读书籍来全面探索这门语言的灵活性。我仔细考察了一些我最喜爱的 C 语言书籍,并从其中选出了对我意义最大的九本。

C 语言是一种通用的、面向过程的高级编程语言。也是最具流行度和影响力的编程语言之一。该语言在设计时就被设计为可以通过编译器进行编译,以此来对内存进行底层操作、高效地执行机器指令以及在运行时仅需要最小的支持。很多很多编程语言都得益于 C 语言, C 语言就像是编程界的通用语言一样。

C 语言非常易懂。它允许程序员能够以一种清晰、简单、符合逻辑的方式来组织程序。这是一种非常灵活、实用并且简洁的语言,同时它还具有非常容易读懂的语法。使用 C 语言编写的代码运行非常快。可以非常简单地操作计算机的底层设施。通过编译器的指令可以允许我们为不同体系结构的设备生成同一个版本的程序。

C 语言是自由的。因此学习 C 语言的书籍也是体现了其自由性。快来看看我挑选的开源书籍,有没有哪一本能够吸引你?好好享受它吧!

《 C 语言》( The C Book

作者: Mike Banahan, Declan Brady 和 Mark Doran ,350 页

这本书是为那些已经具备使用现代高级面向过程编程语言的程序员设计的。这本书专注于那些 C 语言的特有之处。尤其是使用 C 语言的方式是这本书所重点关注的。

包含以下章节:

作者允许读者利用此书做任何他们想做的事情,只需说明作者和版权。经Mike Banahan确认,本书通过知识共享协议发布。

风格的要素—— C 语言版(C Elements of Style

作者 Steve Oualline ,265页

这是一本十分有用的编程风格指南,指导 C 和 C++程序员如何去编写可读性良好的,易懂的,易于维护的程序。不论你是一个学生还是专业程序员,你都能从这本书中提供的技巧和技术中获益,构建优雅可靠的代码。

这本书意在向读者们展示如何在你的程序中融入风格良好的代码。机器仅处理代码,而人类关注于注释。良好的编程风格与这两部分都有关。

我们的最终目标是构建设计良好,编写良好的代码,这种代码对于计算机来说是高效的,同时包含了精心编写的注释用于帮助人类理解程序。这样一来,调试,维护和增强程序,都变得更加容易了。最终还提升了代码的可读性,简洁性,可靠性和可维护性。

在本书中,你可以找到有关编写注释,程序头,变量命名,语句格式化,语句细节,编写预处理器命令,组织目录和创建makefile的指南。

本书通过知识共享协议发布。

《编写你自己的Lisp语言》(Build Your Own Lisp

作者 Daniel Holden ,212页

在学习 C 语言的同时学习如何创造你自己的编程语言——一个最简的Lisp语言(仅用不到1000行代码)。

这本书是为两种人写的,一种是想要学习 C 语言的人,另一种是想要知道如何创建一门语言的人。本书并不适合作为第一本入门书籍,因为你需要一些编程经验才能读懂它的内容。

本书基于 Creative Commons Attribution-NonCommercial-ShareAlike 3.0.协议发布

纸质版可以在Amazon上购买。

《 GNU C 语言参考手册》(The GNU C Reference Manual

作者 Trevis Rothwell, James Youngman ,91页

本书是一本 C 语言参考手册,意在写明C89,C99标准以及当前GNU对标准 C 语言的扩展情况。本书并不适合新手阅读。

包含以下章节:

本书基于GNU Free Documentation License Version 1.3 及其更新版本发布。

《GNU C 语言编程教程》(The GNU C Programming Tutorial

作者 Mark Burgess, Ron Hale-Evans ,290页

本书以逻辑顺序向读者介绍了 C 语言的基本内容。本书内容涵盖了 C 语言的全部主要内容的细节以及如何使用 C 语言编程,特别强调了GNU/Linux编译器以及相关软件。

一些章节主要介绍了函数,变量以及声明,作用域,表达式和操作符,参数,指针,判定,循环,数组,字符串,输入输出等等。

本书基于GNU Free Documentation 协议 Version 1.1版发布。

《 C 语言基础》(Essential C

作者 Nick Parlante ,45页

这份简短的文档解释了 C 语言全部的常用特性和技术。这份文档十分简洁,因此它的目标人群是已经具有其他编程语言背景的人。

内容包括变量,整型,浮点型,类型提升,截断,操作符,控制结构(if,while,for),函数,数值参数,引用参数,结构体,指针,数组,预处理器以及 C 语言标准库函数。

目录:

根据作者的描述,我们得知这是一本基于开源协议发布的书籍。

《Beej的 C 语言教程》(Beej’s Guide to C Programming

作者 Brian “Beej” Hall ,130 pages

本书试图为那些心存困惑的读者带来一种仅能通过纯粹 C 语言编程而产生的快感。

章节:

本书基于Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 协议发布。

《现代 C 语言》(Modern C

作者 Jens Gustedt ,310页

本书鼓励读者逐级探索 C 语言的特性。内容一共分为如下五层境界:

本书基于Creative Commons Attribution-Noncommercial- No Derivative Works 3.0 协议发布

《GCC简介》(An Introduction to GCC

作者 Brian Gough ,144页

本书介绍了 GNU C 语言和 C++编译器——gcc 和 g++,它们是 GNU 编译器套装(GCC)的一部分。

本书介绍了如何使用编译器。通过多年以来对邮件列表中的问题的观察,本书带领读者直击 GCC 的重要内容。

章节介绍:

本书基于GNU Free Documentation协议发布


很多 C 语言书籍都可以免费下载,但是可惜的是它们并没有以开源协议来发布,或其基于何种协议并没有明确说明。以下对其进行介绍,排名不分先后:

最后,如果你想买一本权威参考书,请认准《C程序设计语言》(The C Programming Language)。这本书非常简练,不适合新手,但是被奉为经典。