一笑
对
C程序设计语言
的书评
发表时间:2006-04-16 22:04:04
如果你是一个完完全全的编程新手,本书不适合于你---- 你应该先看一本国内的C语言教材,他们虽然泛泛而谈,但至少可以让你了解具备一点最基本的C语言知识,而且不会让你感到太困难---比如潭老师的书(虽然被很多人唾弃)---何况国内的作者最适合写计算机方面泛泛而谈的书籍..呵呵。
如果你已经看过1到2本最基础的C教材了,并且编写的C代码至少大于200行以上(不可能再少了吧.. 即便只做课本练习,你编写的C代码数量也不可能比200行还少吧),那么你应该立刻停止阅读手边其他的任何一本C语言教材,来认真学习这本C语言的圣经!
你有必要而且完全应当认真做好它的每一个练习,即便全书的第一个程序 -- 看起来是那么的简单 --- 你也应当开始认真的去做。
可能你会象我一样,有了一些程序设计经验,初读它时,会觉得那么的简单,在不经意间就翻过了几章 --- 但是,请你也应该象我一样--- 停下来,从头开始读起,并且认真的做好练习,仔细体会K&R的每一句话。如果你足够认真的话,你会发现虽然他们写的是C语言的教材,但是字里行间却时时闪烁着他们关于编程的精彩指导---- 比如在函数那一章---前提是你足够的认真和用心,还要有一定的‘对语言的敏感和洞察力’。
好句
大二的时候认真学过C++,基本语法过关,后学习matlab做过一些小项目、搞过一段时间ACM训练,玩过单片机。现在大三,决定走软件方向,一年之后找工作。由于非计算机相关专业,基础知识欠缺,故想高效率补充计算机体系知识。刚看完《计算机科学概论》,现在看C语言之父dennis联合编写的《The c progamming language》,发现讲解比较全面有深度,底层的细节比较多,有些地方还不理解。
有些问题查半天资料未必找到答案,或许即时交流,一句话就搞明白了!诚邀正在学习C语言的朋友加群一起交流学习,最好是正在看这本书的。 学习之路一起走会更快~
群号码:498904811
大一的时候,自学过谭浩强的c语言教材,当时,觉得谭老师写的书写的挺好的,现在再回头来看看他写的书籍,确实....,现在一直在用c#,想重温c语言的精华~
对语言的敏感和洞察力,看书快的人都是没有品位家伙 ,这样的人不会成为大师,看了tron我很受感动 ,但由于人类自私的劣根,我们距离这个神奇的虚拟王国还很遥远,因为大部分程序员所知甚少,计算机绝对是人类创造的,但现在的人类离计算机越来越“远”,人们开始对其预料之外的现象感到陌生与困惑还有茫然不解,原因就是为什么我们对于想要知道的细节还要用猜的,这就是人类进化的瓶颈,人们用崇敬的心情去认识理解大自然,但我们却因为同类的藏私而深陷泥晫,我们很渺小,我们现在做不到什么,但可以做的是 剔万卷之废言统其标的,提其精髓,绘而成卷布于世人,使后世学者不再怠罔而废。
每行代码都应该有它的原因。 虽然这是文艺的豆瓣。 :)
你的解释还是没有到点子上,帮你补充一下
EOF是一个整型常量,它经常在文件和流的处理函数的返回值判断里代表一个文件读取完毕或者有错误发生的时候的状态,它真正的值实际上是没有在 ANSI C 标准里给出,但是应该是负数。
好,再看getchar()做了什么,它读取了你输入的每个字符,然后返回了这个字符的ASCII值,在这段代码里,我们把这个返回的值赋给了一个整形。如果这个值等于EOF定义的值的话,就中止前面的循环。
在你运行程序的时候,windows 是Ctrl + z , UNIX 是 Ctrl + D ,这个意思是发送一个EOF的信号到你在执行的这个进程。然后getchar()捕捉到这个EOF.
于是就输出你的回车行数了。
如果要深究的话,getchar()帮你做了很多事情,当然也有编译起的功劳。但是要深刻的理解为什么一个整形的 c == '\n' 。 那也是不容易的事情。