Copyright © 2088 2014男篮世界杯_u20世界杯8强 - malajz.com All Rights Reserved.
友情链接
本文作者: 程小媛
公 众 号: C语言编程
各位,昨天发的招人启示,截至目前总共有70多人报名,在这里首先感谢大家的支持与厚爱,我们深感荣幸。还是那句话,作为技术号,我们深知自己的责任与期待,但是名额有限,我们会对昨天的留言进行一一回复,没能如愿的还请大家理解。我相信我们的目标是一致的:那就是知识和技术本身,后面我们会尽力提供优质的内容给大家,也请大家继续支持我们,谢谢!
接下来就开始我们今天的正题吧!我想学过C语言的人都应该对谭浩强版《C程序设计》不陌生,有人对它大加赞赏,也有人对它吐槽颇多。那我们究竟应该怎样看待这本书呢?今天我们就跟大家聊聊这个话题。
从这本书的内容来讲,由于历史的局限性,的确有很多不足。
一般对这本书的吐槽就集中在以下几个方面,我进行了简单的总结:
1、书本内容和更新速度不跟形势。
这也是大家吐槽最多的地方,普遍反映书的内容过于老旧,甚至有些代码都不能运行,当然这是编译器支持不同的C标准造成的,但是此书确实更新速度比较慢,在2000年以后出的版本仍然支持的是C89标准。
2、语法知识和意识概念存在错误。
由于历史上的原因,同时这本书当时是翻译过来的,语言之间的差异,再加上翻译上理解的偏差,造成书中部分语法和概念确实有一定的问题,当你有机会读英文原著的时候,你会感受到的。下面的图是在知乎上大家总结的一些错误的点,大家看看即可:
展开全文
3、内容设计和引导方向具有偏差。
很多人说这本书相对其他教材太难了,其实这与它的内容设计有关,开篇的内容对于刚接触C语言的人来说确实具有一定的难度,让不少人望而生畏。
其实最令我印象深刻的是:i+=(++i)+(i++)这种类型的代码。我相信你肯定见过且做过,直到现在仍有不少人为之苦恼,其实此类代码的来源就是这里。我们讲理论目的是指导实践,但是这种堆叠式地靠运算符优先级的写法真的意义不大,实际工程中代码的目标是简单易懂且有效,难道仅仅是为了考察运算优先级?
作为一本让无数人了解认识C语言的教材,它无疑是成功的。
任何事情都要辩证看待,说完不足,我们再说说优点。谭老生于1934年,58年从清华毕业,那时候C语言还没有问世。很多人说书太老,不支持C99,但是C语言的第一个真正意义上成熟的标准是89年,也就是后来我们说的C89,但是那时候谭老已经55岁了,在C99问世的下一年,《C程序设计》这本书出版,那时他已经66岁了,在当时的条件和环境下已经实属不易。
这本书出版以后,敲开了我们国家大学C语言课程甚至可以说是编程类课程的大门,担得起 C语言标杆级教材这一名号,其影响程度之深,影响范围之广,真的令人叹为观止。2004年2月19日人民日报专栏文章中说∶“20世纪中国计算机普及永远绕不开一面旗帜,那就是谭浩强”。
站在今天看昨天,其实这本身就是一种不公。
正如那句话所说,有多少人爱你,就有多少人恨你。站在今天以当代的眼光和水平评判昨天的事物,这本身就是一种不公平。谭老最大的贡献是把千百万群众带入计算机的大门,这毋庸置疑。 其实我们更应该思考的不是这本书如何种种,而是为什么这么多年很多大学的教材还是它,难道只因为经典吗?
-1大于1,-1乘3不等于-3?C语言的这个规则你必须得会!
C语言中鲜为人知的 “三字母词” 到底是啥?
main 中的 argv和argc 到底是个啥意思?
3月编程语言排行榜 来了!!!
一文让你学完C++,干货收藏!!!
编程中著名的 “Hello World” 到底从何而来?
来个鹅厂C语言面试题试试手?
用C语言验证 “6174黑洞之谜” 返回搜狐,查看更多