继K&;R用什么书来学习普通C语言编程?

继K&;R用什么书来学习普通C语言编程?,c,C,在布赖恩·克尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)的著作之后,一些初学者最喜欢的书变成了最好避免的书,比如《奥莱利》(the O'Reilly),而且似乎没有什么可以替代这些书。否则,大多数可用的材料是关于C++的。 除了《K&R》和我已经读过的《优秀》之外,还有哪些书是学习用C(普通的而不是C++)编写代码的最佳选择,同时又不必学习坏的实践呢 彼得·范德林登的我想说的是完全避开这些书。选择一个项目,任何项目(虽然不是太大),并用C语言实现它。没有什

在布赖恩·克尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)的著作之后,一些初学者最喜欢的书变成了最好避免的书,比如《奥莱利》(the O'Reilly),而且似乎没有什么可以替代这些书。否则,大多数可用的材料是关于C++的。
除了《K&R》和我已经读过的《优秀》之外,还有哪些书是学习用C(普通的而不是C++)编写代码的最佳选择,同时又不必学习坏的实践呢

彼得·范德林登的

我想说的是完全避开这些书。选择一个项目,任何项目(虽然不是太大),并用C语言实现它。没有什么可以代替简单地跳进去做它。K&R提供了足够的知识,你可以开始蹒跚前行,并获得有助于真正良好学习的经验。

解释了Schildt不好的原因。还有一些批评

搜索SO以查找C资源。


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

我也可以推荐阅读C程序。遗憾的是,我自己还没有做足够的工作来推荐一些特别的。

我喜欢Kenneth A.Reek的作品。我不想说它比K&R好,但我确实发现它更友好,更容易学习。我从K&R开始,但直到我拿起这本书才真正掌握C

编辑:我刚发现这本书的价格自从我买了它之后就飞涨了。因此,尽管我的建议仍然如此,但以目前的要价,我无法真正推荐它。所以,如果你能找到一本二手书或是图书馆的一本书,那么它是值得的,但以目前的价格,还有其他一些书基本上也同样好,而且价格要便宜得多

《专家C编程》是一本我认为只要你掌握了C语言的诀窍,至少值得一看的书,尽管我不愿意直接推荐它。从好的方面来说,它包含了许多好的提示和技巧,以及一些非常有用的建议。不利的一面是,这些技巧和建议组织得很糟糕,隐藏在不太有用的建议中,书中有一半似乎充斥着蹩脚的笑话、旁白和无关(但偶尔有趣)的故事。所以我想从图书馆借,但不付钱


但是,正如你毫无疑问地意识到的那样,除非你写C,否则你永远不会真正学习C。

我很想阅读和阅读。这两本书都非常简洁,而且都是面向C的

来自APress的Ivor Horton的《C入门》(第三版)是一本关于C编程的伟大入门书。这本书非常全面,不是一本参考书,而是一本很好的C语言教程


在(俄罗斯人的镜子)上有一些简短但有用的评论。

K&R基本上涵盖了您需要了解的关于C的所有内容,甚至实现了一些常用的数据结构。如果您正在使用*nix并想学习如何利用操作系统,那么这是一本很好的参考/指南,可用于阅读文件、创建线程等常见用途。示例代码是C语言。

学习C语言的好书是:


有很多很棒的编程示例,非常容易阅读。

再次拿起你的K&R书,这次做练习。然后将您的代码与K&R中的代码进行比较,看看它在功能接口和数据结构方面是否具有类似的优雅。这不是一本可以快速通读并转到下一本书的书。它包含了很多有价值的信息,这些练习将帮助你认识到一些你在第一次阅读时可能错过的信息。

关于C的最好教材是彼得·达内尔和菲利普·马戈利斯的。虽然它没有其他书那么有名,但我发现它可读性很强,而且它处理了K&R跳过的所有细节

但它有两个缺点:

  • 它是从1996年开始的,因此不包括C99。(因为您对C89感兴趣,所以这对您来说应该没问题。)
  • 它相当贵
  • 编辑:
    另一本有趣的书是SteveSummit写的。虽然我还没有出版这本书,但随书附上的内容帮助我了解了C语言不太明显的特点。

    为什么不出版K&R?这只是一个说你不喜欢的书的坏话的借口吗?安迪,Schildt是/出名的/糟糕的。Pete Seebach对Schildt的一本书有这样的说法:C:《完整参考》是一本很受欢迎的编程书,只是因为它基本上是一本蹩脚的书。赫伯特·席尔德(Herbert Schildt)擅长清晰易读的文本,巧妙地描述了一种与C语言截然不同的语言。本页旨在为人们提供一种很好的方法来找出它的错误。“措辞不清楚,但我不认为Rob说K&R不好。O'Reilly(2012)Ben Klemens写的非常棒。我正在考虑将此添加到我的回复中,但我认为这可能有点误导。虽然C是一种很好的实现语言,但它也可以吸引一些可怕的蹩脚实现;即使在一些最好的C代码中,也可能有一些非常不清楚和迟钝的代码。我认为对于learni来说尤其是“做”比“读”更有价值“。我本来会包括‘做’,但已经提到了。C上的指针很容易是最贵的。@Rob:哇,什么时候发生的?我买我的已经好几年了,我在英国买的,但我不记得它比任何其他编程书都贵。不幸的是,它是从amazon.co.uk买来的75.72英镑,我想确信它值这个价。嗯,这是一本很棒的书,但老实说,我不会花75英镑买它。我同意,这是一本好书。一年前,我在www.bookfinder.com上找到了我的二手书(像新的一样),只花了25欧元。是的,这是一本必备的C书。我应该包括在内