C程序设计语言(第2版·新版)

[美] Brian W. Kernighan

出版时间

2003-12-31

ISBN

9787111128069

评分

★★★★★

标签

编程

书籍介绍
这不是一本买来翻两页就能学会C的书。几乎所有认真读过的人都在同一句话里达成共识:它太精简,精简到需要一定基础、需要动手做题才能真正吃透。它真正的价值不在
作者简介
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语言设计者亲笔撰写,编程界公认的权威经典。
  • 内容精炼无冗余,通过典型示例系统讲解语言特性。
  • 首次引入Hello World,奠定现代编程入门范式。
读者共识
  • 言简意赅,多一字嫌多,少一字嫌少,堪称编程圣经。
  • 不适合初学者直接阅读,需具备一定基础方能领悟。
  • 相比国内教材,本书语言干练,直击核心,更具专业性。
精彩摘录
  • ""相对于#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"
目录
出版者的话
专家指导委员会
中文版序
译者序
校译者简介

显示全部
用户评论
圣经,言简意赅。大概带着读者过了一遍标准库的实现,通俗易懂,建立人的自信(笑)。中间有的地方会跑得有点远,比如突然从指针讲到了 parser 的实现。最后一章草草看了,感觉跟着 CSAPP 一起读会比较好。附录部分都属于文档,没读,有空再翻。另外,感觉所有都是字符的封装。总之是非常涨姿势的一本书。PS:一个周末边玩手机边看看完。
想系统学下C语言
May the God bless you.
跟CSAPP的公开课一起看
读了四遍这本书,第一次是刚学计算机程序设计,不懂,很迷茫;第二次是学完一门语言Java,略懂;第三次是学完另一门语言C++之后,似是而非,似懂非懂;现在是第四次,本科毕业之后读,深感其中思想之深厚,简单而精妙,体会C语言用最简单基本的元素构建了无数软件大厦,醍醐灌顶,豁然开朗。
学生时代看的…只能说慢慢品吧
可能是我水平不够,虽然觉得还可以,但也没那么传神
2022 finished 2nd 从大学,到读研,再到工作两年,好不容易读完了
经典岂容错过,必读!
好美好美的大师书写
下载
收藏