本文由 伯乐在线 - programmer_lin 翻译自 fromdev。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。

你正计划着通过看书来学习C语言吗?“书籍是人类最忠诚的朋友“。海明威一定知道书籍对一个人一生的重要性。书籍是知识的丰富来源。你可以从书中学到各种知识。书籍可以毫无歧视地向读者传达作者的本意。C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的。C语言可以把程序简单地编译为机器指令,使得它成为了最高效的语言。

为什么在程序员中,C语言如此流行呢?这背后有很多原因。首先,它独立于平台,可以运行在MAC、Linux、UNIX和PC各种环境中。它是UNIX系统以及其他同样结构的系统的默认语言。同时,它是一种多用途的语言,它可以用于编写设备的驱动程序、桌面应用、嵌入式系统和DBMS(数据库管理系统)。这也就是说,你可以使用C语言写几乎所有需要的程序。


1.《C程序设计语言

这本书由C语言之父合著编写。它提供了对C语言的更好见解。比如在C语言中的控制流、运算符、数据结构和函数构造等方面,这本书都有自己的解释。书中所有概念都有合适的例子,以助读者理解。如果你想要学习一种更好的编程范式,代码重用或是注释的重要性。那么,这本书最适合你。书后的系列练习很有挑战性,可以让你通过每一个练习有所提高。

这本书并不好读。但是,这是必读的一本书。我建议,你在读完一本简单的教程之后,再阅读这本书。书中有很多章节需要很长的时间,才能深入理解和掌握。

2、C语言程序设计:现代方法

这本书以一种独特的方法解读了C语言。C语言已经经历了一些变化,这本书高效介绍了这些变化。书中的程序都是用纯C代码编写,使得程序有很好的可移植性。这本书鼓励读者独立思考,并且鼓励你找到更有效的解决问题的方法。对C语言感兴趣的学生,这是一本很好的课堂教材。

 3.《Absolute Beginner’s Guide To C》第二版,作者 Greg Perry

【更新】:这本书也有中文版《写给大家看的C语言书》,感谢刘江在评论中补充。PS:亚马逊等几大电商网站都无货中。

书如其名,这本书是特别为没有编程经验的程序员编写的。这本书从基本的I/O命令,比如printf()、scanf()讲起。在此基础上,也进一步讲解了数据结构、内存中的堆结构、循环和自定义函数。这本书以清晰的讲解模式,帮助读者更简单地理解C语言。同时,书中也简单介绍了C语言中用到的基本语法和标识符。

 4.《C Primer plus》第5版

这是目前市场上,最适合自学的C语言书籍。你可以在书中找到所有C语言编程概念的详细解释。这本书为每一个单独的概念提供了简短的例子,帮助读者更好理解。比如,指针这一章节就体现了这个特点。指针章节是本书编写最出色的章节之一。指针用来标识内存中的具体位置并且存放相应内存地址。书中参照了最新的ANSI标准C99。对于初级程序员来说,本书对学习基本概念大有帮助。这些概念在其他语言(比如:PHP和JAVA中)也有所应用。

5.《C专家编程

你是准备进一步提高编程技巧的C语言专家吗?《C专家编程》就是为你准备的,它可以帮助程序员理解高级的C语言概念。它强调程序员常用的一些最佳C语言技巧。这本书写得十分有趣,展现了作者在SUN系统(SUN SYSTEM)中的丰富经验。这本书还定义了一些传统的编程方式,比如使用不同的声明方式。同时,本书还提供了很多实用的编程实践提示,比如,指针和数组之间的差别。

一开始,借助书本学习C语言可能有些困难。但是,这些书用最好的方式介绍了C语言中的基本概念。借助这些书,你可以从学习基本的C语言开始,一直深入到学习C语言编程中的高级技巧。完成书中的练习很重要。在实现这些习题的过程中,你可以高效理解和学习有关概念。这些书,也为你继续学习其他高级语言,比如C++、JAVA,提供了基础。

C语言程序员必读的5本书的更多相关文章

  1. C 语言程序员必读的 5 本书

    你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...

  2. C 语言程序员必读的 5 本书,你读过几本?

    你正通过看书来学习C语言吗?书籍是知识的丰富来源.你可以从书中学到各种知识.书籍可以毫无歧视地向读者传达作者的本意.C语言是由 Dennis Ritchie在1969年到1973年在贝尔实验室研发的. ...

  3. C程序员必读的 3 本书

    C程序员必读的 3 本书 原创: Martin 老师  公众号:零基础零障碍学习C语言 勿用质疑,今天来看这篇文章的朋友都是准备学好C语言的朋友,大家想学好C语言的迫切性,就好比Martin老师等着元 ...

  4. Java程序员必读的9本书

    本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...

  5. java 书籍推荐 JavaEE程序员必读图书大推荐

    java 书籍推荐 JavaEE程序员必读图书大推荐 转自:http://www.cnblogs.com/xlwmin/articles/2192775.html 下面是我根据多年的阅读和实践经验,给 ...

  6. (C#)程序员必读的一些书籍

    前言 ·貌似公司里很著名的一句话,在这里套用过来了,WP研发工程师,首先是WPF/SL研发工程师,WPF/SL研发工程师首先是是个C#研发工程师,C#研发工程师首先Windows研发工程师.Windo ...

  7. 转:Jeff Atwood倾情推荐——程序员必读之书

    Jeff Atwood倾情推荐——程序员必读之书 英文版:<Code Complete 2>中文版:<代码大全(第二版)>作者:Steve McConnell译者:金戈  汤凌 ...

  8. JobDeer 的《程序员必读的职业规划书》

    JobDeer 的<程序员必读的职业规划书> 关键字 持续性,人生规划,职业规划 概念 职业规划三部分: 职业定位 目标设定 通道设计 职业价值论: 能为公司做什么 同样的能力再不同公司价 ...

  9. 9本java程序员必读的书(附下载地址)

    本文列出的9本书在Java程序员界都是被认为很棒的书.当一个程序员开始初学Java时,他的第一个问题应该是如何选择一本书来作为指导学习Java.这个问题也就表明,相对于其他的教程和博客,Java书籍还 ...

随机推荐

  1. EntityFrameworkCode 操作MySql 相关问题

    近段时间,由于工作原因,使用到了EntityFrameworkCore 操作MySql数据库,使用中遇到一些问题,特此记录 系统环境 Win10 1805,VS 2017,Framework:Asp. ...

  2. 使用 Python 编写脚本并发布

    使用 Python 编写脚本并发布 P1: 脚本 通常在 Linux 服务器上会遇到在命令行中输入命令的操作,而有些操作包含的命令数目较多或者其中的命令包含的参数较多,如果一个一个的敲命令的话就太麻烦 ...

  3. 我与ARM的那些事儿1初识ARM

    最近一直在研究ARM,说到ARM,我们首先想到了是三星.高通等公司,这些公司都制造CPU的,其实ARM也是一家公司,只不过它是提供最核心的逻辑电路,而且它的赚钱方式是与其他公司进行双赢的!你卖出多少芯 ...

  4. vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据

    在vue项目中组件间相互传值或者后台获取的数据需要供多个组件使用的情况很多的话,有必要考虑引入vuex来管理这些凌乱的状态,今天这边博文用来记录这一整个的过程,后台api接口是使用webpack-se ...

  5. IOS runtime动态运行时二

    在C#.Java中有编译时多态和运行时多态,在OC中,只有运行时的多态,这与它的运行机制有关.OC中,方法的调用是通过消息的传递来进行的.在IOS runtime动态运行时一http://www.cn ...

  6. Toolstrip 工具栏控件

    工具栏是另一种获取应用程序主要功能的常用方法,比起菜单更直观.   Tool strip 控件是由system.Windows.forms.Toolstrip类提供的,作用是创建易于自定义的常用工具栏 ...

  7. GroupBox 分组框控件

    GroupBox 控件是由System.Windows.Forms.GroupBox类提供的,作用是为其他控件提供可识别的分组.   可在同一页面,实现多个单选的RadioButton   通常,使用 ...

  8. <深入理解JavaScript>学习笔记(4)_立即调用的函数表达式

    前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行.(小菜理解:的确看到好多,之前都不知道这是自执行匿名函数) 在详细了解这个之前,我们来谈了解一下 ...

  9. 九、sparkStream的scala示例

    简介 sparkStream官网:http://spark.apache.org/docs/latest/streaming-programming-guide.html#overview spark ...

  10. MySQL一查就会

    Table1--mysql常用操作 主题 用例 说明 书写规范 数据库和表的名称不一定要大写. 输入文本类型的数据时都要加上单引号: NULL 表示未定义,它不会等于另一个NULL: 不要使用双引号. ...