这可能是学习C语言最好的免费在线电子书

程序员书库(ID:OpenSourceTop) 编译

链接:https://www.ossblog.org/learn-c-programming-with-9-excellent-open-source-books/

书是很私人的东西,编程书籍也不例外,我们都是通过它来帮助自己入门掌握某种编程语言,然后再利用它来充分了解这门语言的灵活性,这篇文章我们将盘点9本学习C语言最佳的免费电子书籍。


C语言是一种通用的,面向过程的高级编程语言,是目前最流行和最具影响力的语言之一,它的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言,如今已经成为编程世界中的通用语言


C语言易于理解,程序员可以以一种清晰、简单、合乎逻辑的方式来组织程序,它是一种非常灵活、使用并且简洁的语言,再加上易读的语法,C语言编写的代码运行速度快。


接下来,看看我推荐的这9本书,有没有吸引到你的



1、《The C Book》



这本书是是C语言基础具备之后进阶的上乘之作,专注于那些 C 语言的特有之处。如何使用 C 语言是这本书的重点内容


章节包括:


变量和运算法则 - 介绍了C语言的一些基础知识,包括关键字和标识符,变量声明,实数类型,整型,表达式和运算法则以及常量


控制流和逻辑表达式 - 研究可以在C程序中使用流程控制的各种方式,包括一些迄今为止尚未推出的语句。控制流,逻辑表达式和一些特殊操作符


函数 - 函数的类型,递归和参数传递以及链接


数组和指针 - 数组,指针,字符处理,sizeof和存储分配,函数指针,涉及指针的表达式,数组,&运算符和函数声明


结构体数据类型 - 结构体,联合体,枚举类型,限定符和派生类型以及初始化


预处理器 - 预处理器的工作原理和指令


C的专门领域 - 声明,定义和可访问性,typedef,const和volatile以及序列点


 - 诊断,字符处理,本地化,数学函数,非本地跳转,信号处理,可变参数,输入和输出,格式化I / O,字符I / O,无格式I / O,随机访问函数,通用函数,字符串处理以及日期和时间


C语言的完整程序 - 将所有内容放在一起,main参数,解析程序参数,模式匹配程序以及更宏大的示例


书籍链接:http://publications.gbdirect.co.uk/c_book/



2、《C Elements of Style》



这是一本很好用的编程风格指南,能够帮助C和C ++程序员编写出易读的代码,无论你是学生还是专业程序员,都可以从这本书中学习到许多代码技巧


我们的最终目标是建立一个设计良好,编写良好的代码,这样的代码能够快速让计算机理解,而且精心构建的注释可以让人们更好的理解它。这种情况将简化调试;维护和增强程序,最终改善代码的可读性,可靠性和可维护性等。


这本书里包含编写注释,程序标题,确定变量名称,语句格式,语句详细信息,编写预处理器,组织目录和创建makefile的指南。


书籍链接:http://www.oualline.com/books.free/style/index.html


3、《Build Your Own Lisp》



学习C编程语言,同时学习如何构建自己的编程语言,要知道最小的编程语言Lisp,仅用了不到1000行代码。


本书适用于想学习C语言的人,或者曾经想知道如何构建自己的编程语言的人。它并不适合作为一本入门编程语言的书籍,因为你需要一些编程经验才能更好的理解书中的内容。


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


书籍链接:http://buildyourownlisp.com/



4、《The GNU C Programming Tutorial》



这本书以逻辑顺序向读者介绍C语言的基本思想。它详细介绍了C语言的每个主要元素以及如何用C语言编程,并特别强调了GNU / Linux编译器和相关软件。


有几章专门介绍函数,变量和声明,范围,表达式和操作符,参数,指针,循环,数组,字符串,输入和输出等等。本书是基于GNU Free Documentation 协议 Version 1.1版发布的。


书籍链接:http://www.crasseux.com/books/ctut.pdf


5、《Essential C》



这是一个相当简短的C语言教育文档,它解释了C语言常见的所有特性和技术。因此它针对的是具有其语言背景的程序员。


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


章节介绍:

● 基本类型和操作符

● 控制结构

● 复杂数据类型

● 函数

● 数组和指针

● 标准库参考


书籍链接:http://cslibrary.stanford.edu/101/EssentialC.pdf



6、《An Introduction to GCC》




本书以通俗的语言介绍了GCC编译器工作原理、流程及常用选项,同时配以示例,内容浅显易懂,适合想了解GCC的初学者使用。


章节介绍:


编译C程序 - 介绍如何使用gcc编译C语言程序。程序可以从单个源文件或多个源文件进行编译,并且可以使用系统库和头文件


编译选项 - 介绍GCC中可用的其他常用编译器选项。这些参数控制用于诸如库函数搜索和文件的路径搜索,使用额外的警告和诊断,预处理器宏和C语言方言


使用预处理器 - 描述如何使用cpp,它是GCC的一部分。预编译器在编译之前将源文件中的宏展开。只要GCC处理C或C ++程序时,它就会自动调用


编译进行调试 - 提供-g调试选项。


编译优化 - GCC是一个优化过的编译器。它提供了多种选项,旨在提高编译速度以及减少编译后所占内存大小


编译C ++程序 - 介绍如何使用GCC编译C ++编写的程序,以及特定于该语言的命令行选项


特定于平台选项 - 介绍一些常见的平台:Intel和AMD x86等


故障排除 - GCC提供了多种帮助和诊断选项,以帮助解决编译过程中的问题


编译器相关工具 - 描述了许多与GCC结合使用的工具。


编译器如何工作 - 详细介绍了GCC如何将源文件编译为可执行文件。编译是一个涉及多阶段过程,编译过程中使用的全套工具称为工具链


检查编译后的文件 - 介绍几种用于检查可执行文件和目标文件内容的有用工具


常见错误信息 - 描述由gcc和g ++产生的最常见的错误和警告信息。每个案例都附有对原因的描述,可能解决方案的例子和建议


获得帮助 - 如果读者遇到本书未涉及的问题,还有更详细地描述了GCC和与语言相关的主题的参考手册


书籍链接:http://www.network-theory.co.uk/docs/gccintro/



7、《Modern C》



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


第一级——为读者描述C语言程序的基本知识,目的,结构以及如何使用它们


第二级——详细的说明了大部分主要概念以及特性,如控制结构,数据类型操作符等。旨在让读者能够更深入了解这些运行程序必备的知识。


第三级——进入 C 语言的核心部分。详细解释了指针,熟悉 C 语言的内存模型,并且让你了解 C 语言库的大部分接口


第四级——对特定的主题进行详细说明。比如性能,原子性,线程及泛型编程


第五级——探讨了作者对这门语言未来发展趋势的理解


书籍链接:http://icube-icps.unistra.fr/img_auth.php/d/db/ModernC.pdf



8、《The GNU C Reference Manual》



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


书籍链接:https://www.gnu.org/software/gnu-c-manual/



9、《Beej’s Guide to C Programming》



本书试图让读者体会到单纯用C语言编程带来的快感,本书偏重于基础,动手实操的内容比较少,新手入门级的程序员可以看看


书籍地址:http://beej.us/guide/bgc/


附:

这可能是学习Python最好的免费在线电子书

推荐↓↓↓
C语言与C++编程
上一篇:一个笑话引发的“血案”,glibc 社区指责 RMS 独裁 下一篇:年代甚远,GCC 9 不再支持较早版本的 ARM 微架构