K&R之后用什么书来学习普通C语言的编程?

在Brian Kernighan和Dennis Ritchie 的C编程语言之后,一些最受初学者青睐的书最终被certificate是最好避免的,例如Herb Schildt甚至是O’Reilly Practical C Programming的 任何东西,似乎没有替代这些。 否则,大多数可用的材料都是关于C ++的。

除了K&R和我已经拥有的优秀的C:A参考手册之外 ,还有哪些其他书籍最适合学习用C语言编写代码(普通C89而不是C ++),而不学习一路上的不良做法?

Peter van der Linden的专家C编程:Deep C Secrets

C:Harbison和Steele的参考手册

这不是一本教程书,但它是关于C的最佳书籍(在我看来甚至超过了K&R)。 与K&R(或任何其他教程)一起使用,您将在C中获得良好的基础。

我很想读“编程和编程 实践 珍珠” 。 两者都是相当简洁的书籍和C导向

这就解释了为什么Schildt不好。 这里有一些批评。

在SO中搜索C资源。

K&R基本上涵盖了您需要了解的有关C的所有内容,甚至还实现了一些常用的数据结构。 如果你正在使用* nix并想学习如何利用操作系统, UNIX环境中的高级编程,第三版是常用的一个很好的参考/指南,如读取文件,创建线程等。代码在C中。

我会说完全避开这些书。 选择一个项目,任何项目(虽然不是太大),并在C中实现它。没有什么可以替代简单地跳进去做。 K&R提供了足够的知识,您可以开始磕磕绊绊地获得真正良好学习的体验。

我喜欢Kenneth A. Reek的C指针 。 我不会说它比K&R好,但我当然觉得它更友好,更容易学习。 我从K&R开始,但在我拿起这本书之前,并没有真正掌握C语言。

编辑 :我刚刚发现自从我买它以来这本书的价格暴涨了。 因此,虽然我的建议仍然如此,但我不能以当前的要价推荐它。 因此,如果您可以在图书馆找到旧版本或副本,那么它是值得的,但按照目前的价格,其他书籍基本上也可以用更少的钱来获得。

专家C编程是一本值得考虑的书,一旦你掌握了C,我认为至少值得一看。尽管我对完全推荐它有点犹豫。 从好的方面来看,它包含了许多好的提示和技巧以及一些非常有用的建议。 从负面来看,这些伎俩和建议是非常有组织的,埋没在不那么有用的建议中,一半的书似乎充满了蹩脚的笑话,旁边和无关紧要(但偶尔有趣)的故事。 所以我从图书馆借用它,但不为此付钱。

但是你无疑会意识到,在你写C之前,你永远不会真正学习C.

C释放出来 。

再次拿起你的K&R书,这一次做练习。 然后将您的代码与K&R中的代码进行比较,看看它在function接口和数据结构中是否具有相似的优雅。 这本书不是一本快速阅读的书,而是转到下一本书。 它包含大量有价值的信息,练习将帮助您实现其中一些您可能在一读时错过的内容。

来自APress的Ivor Horton(第3版)的C开头是一本关于C编程的精彩入门书。 这本书非常详尽,不是一本参考书,而是一本从C语言开始到结束的好教程。

由Ivor Horton开始的C(第3版)

学习C的好书是: C BY DISSECTION Al Kelley和Ira Pohl的C编程要点

非常容易阅读许多优秀的编程示例。

关于CI的最佳教科书是Peter A. Darnell和Philip E. Margolis的C:软件工程方法 。 虽然它(不当地)不像其他书籍那么出名,但我发现它非常易读,它处理了K&R跳过的所有细节。

它有两个缺点:

  1. 它是从1996年开始的,所以它不包括C99。 (这对你很好,因为你对C89感兴趣。)
  2. 这是非常昂贵的。

编辑:另一本感兴趣的书是Steve Summit的C编程常见问题解答 。 虽然我没有印刷本书,但随附的网站帮助我理解了C的不太明显的特征。

我也可能会推荐阅读C程序。 可悲的是,我自己还没有做足够的推荐。

我同意McWafflestix,学习任何编程语言的最好方法是跳入项目,并根据需要查找内容。 这就是我学习的方法……我认为有4种语言? 而且它的工作始终如一。

干杯!

对于ACCU , 初学者C和高级C ,有一些简短但有用的评论(俄罗斯镜像)。

K&R也不是当前版本的C. ISO或ANSI C。