C Programming

K. N. King

出版时间

2008-04-01

ISBN

9780393979503

评分

★★★★★
书籍介绍
这是由C语言之父Dennis Ritchie与Brian Kernighan合著的权威之作,被无数读者奉为“C语言圣经”。它最独特的价值不在于快速上手,而在于以极简的篇幅带读者走过标准C的全貌乃至标准库的实现原理——从指针、数组到结构、联合体,再到推导出的parser实现,视野会不时“跑得远”。正因其精炼,它不适合零基础的初学者,却值得反复重读:有人学C十年后才读,仍相信下次会有新心得。它的真正门槛在书后习题,被折腾几遍,才算真正入门。若配合CSAPP或习题集共读,效果更佳。
作者简介
Brian W. Kernighan,贝尔实验室计算科学研究中心高级研究人员,著名的计算机科学家。参加了UNIX系统、C语言、AWK语言和许多其他系统的开发,同时出版了许多在计算机领域具有影响的著作,如《The Elements of Programming Style》《The Practice of Programming》《The UNIX Programming Environment》《The AWK Language》《Software Tools》等。 Dennis M. Ritchie,1967年加入贝尔实验室。他和 Ken L. Thompson 两人共同设计并实现的C语言改变了程序设计语言发展的轨迹,是程序设计语言发展过程中的一个重要里程碑。与此同时,他们还设计并实现了UNIX操作系统。正是由于这两项巨大贡献,Dennis M. Ritchie 于1983年获得了计算机界的最高奖——图灵奖。此外,他还获得了ACM、IEEE、贝尔实验室等授予的多种奖项.。
AI导读
核心看点
  • C语言之父与K&R合著,程序设计领域的权威经典。
  • 文字极简精炼,多一字嫌多,少一字嫌少,无废话。
  • 深入剖析标准库实现,揭示C语言简洁高效的核心思想。
读者共识
  • 被誉为程序设计的圣经,值得多次重读以领悟新心得。
  • 虽不适合纯新手入门,但对有基础者是极佳的进阶读物。
  • 部分读者反映翻译质量一般,建议条件允许时读原版。
精彩摘录
  • ""相对于#define语句来说,它的优势在于常量值可以自动生成。尽管可以声明enum类型的变量,但编译器不检查这种类型的变量中存储的值是否为该枚举的有效值。不过,枚举变量提供这种检查,因此枚举比#define更具优势。此外,调试程序可以以符号形式打印出枚举变量的值";"
  • "If a name that has not been previously declared occurs in an expression and is followed by a left parenthesis, it is declared by context to be a function name, the function is assumed to return an int, and nothing is assumed about its arguments. Furthermore, if a function declaration does not includ"
  • "float类型通常是32位,它至少有6位有效数字,取值范围一般在10^-38 ~ 10 ^ 38之间"
  • "BCPL and B are "typeless" languages. By contrast, C provides a variety of data types. The fundamental types are characters, and integers and floating-point numbers of several sizes. In addition, there is a hierarchy of derived data types created with pointers, arrays, structures, and unions. Express"
  • "Right shifting a signed quantity will fill sign bits ("arithmetic shift") or on some machines ans with 0-bits ("logical shift") on others"
  • "Declaring the argument x to be unsigned ensures that when it is right-shifted, vacated bits will be filled with zeros, not sign bits, regardless of the machine the program run on."
  • "char *fgets(char *line, int maxline, FILE *fp) fgets reads the next input line (including the newline) from file fp into the character array line; at most maxline-1 characters will be read. The resulting line is terminated with '\0'. Normally fgets returns line; on end of file or error it returns NU"
  • "void *realloc(void *p, size_t size) realloc changes the size of the object pointed to by p to size. The contents will be unchanged up to the minimum of the old and new sizes. If the new size is larger, the new space is uninitialized. realloc returns a pointer to the new space, or NULL if the request"
用户评论
非常出色的C教材,章节编排也很适合用来复习
CH1-21
超越TCPL了...
借来半年了,今天才翻完 作者的黑色幽默还是很冷的,哈 写过5k行以上的可以不用看,没啥该注意的点
也挺喜欢的
清晰的结构,章节安排的顺序非常有逻辑,写作语言清晰,大量释例代码。 就是有时候有些啰嗦。作者会不厌其烦地介绍多种写法给你,然后在最后一段说前面123种现在极少用了,用第4种吧。类似这样。不过这样对于阅读一些历史代码也有帮助(其实到时遇见生僻古久的写法直接google不就好了)。 总而言之,如果想对C做一次全面的复习,就用这本书吧! 个人觉得也非常适合作为入门C的第一本书,对新人来说前面所说的啰嗦也许会有很大帮助,省去一堆到处查的时间。
入门必备
读过的最好的C语言书。
为什么没有课后答案 为什么
下载
收藏