谭浩强《C语言程序设计(第二版)》错误

博主详细分析了谭浩强《C语言程序设计(第二版)》前50页的诸多错误,涵盖术语误用、编程概念混淆、C语言规则错误等方面。指出该书作为计算机科学教材,存在误导性和不准确性,对初学者可能产生负面影响,并质疑其为何能在教育领域长期流行。
摘要由CSDN通过智能技术生成



谭浩强《C语言程序设计(第二版)》的前50页中的错误分析
谭书也算是一本奇书了,据说已经发行了300多万册。这本书真的那么好吗?师长早有教诲,因此本人从来没有好好读过谭书。近日遇周围人盛赞谭书,非辩论不可。虽本人不愿应战,但也不得已将谭书找来翻翻。随便翻了一段,就发现错误百出,在此将其中最前面的一些整理出来,提出与国内广大
行家和新入道者讨论,望行家们提出批评,供新入道者参考。

书中程序的不规范性、不良的格式和低劣的编程都不在这里深究了。实在是太多,要深究、分析和改
正起来,必须写一本数倍于谭书的大作,本人实在没这个时间和精力。水平高的人有的是,欢迎写几
个续篇。欢迎转载到其他BBS,以期引起讨论。对本人所言的不实之处欢迎批评。
注:下面将作者尊称为“谭先生”。负的行号表示一页里倒数的行数。
--------------------------------------------------------------
先看目录,是不是有个地放有:
"淡函数………………………………",什么东西,这算是排版错误,不理会!

P1行1:…,它适于作为系统描述语言,…
这开宗明义的第一句话就说明谭先生对于计算机科
学的术语不甚了了。什么叫“系统描述”,什么叫“系统程序设计”?人们都都说C是一种“系统程
序设计语言”,而“系统描述语言”则完全是另一种东西。想必谭先生对它们之间的差异和关系都不
清楚。在这种情况下就来下断言,一上马就露了怯。

P2表格:if (e) S;
这个错误说明谭先生对C语句基本结构也不清楚。在C语言里,分号是普通语句的结束符号,是语句
的一部分。如果谭先生的S表示语句,那么后随的分号是必需的吗?如果谭先生的S表示语句中分号
前面的一部分,那么又如何理解可以放在这里的{ ... } 顺序结构呢?它算语句吗?可以放在这里
吗?要加分号吗?无论怎么看,谭先生都难以自圆其说!

P3行4:C语言是理想的结构化语言,…
不知谭先生的这个论断由何而来。C的创造者肯定不会说这句话,即使是C语言最狂热的崇拜者恐怕
也不敢这样说。幸亏谭先生生在中国,其书只在中国出版,否则恐怕他就不会好过了,不知有多少人
要找谭先生理论个究竟。

P3行7-8:例如整型量与字符型数据以及逻辑型数据可以通用。
此句子表现出的语文水平就不深究了。要问谭先生的简单问题是,“量”与“数据”是什么关系?再
一个问题是,C语言什么时候增加了“逻辑型数据”?

P3行14:C语言允许直接访问物理地址。
不知这个论断从何而来。至少无法从C语言参考手册中找到根据,看来是谭先生为C语言增加的特殊功能。

P4程序:This is a c program.
通观世界上所有有关C语言的重要著作,C语言的名字“C”都是用大写表示。这里好象谭先生表示了
对C的不肖,与前面大相径庭,不知何故。P5行9:注释可以出现在程序中的任何位置。
这里又修改了C语言的规则。这里给谭先生提个小问题:“请找出在C程序里不能出现注释的位置(
或说,加了注释就会改变程序意义的位置)。”请10秒钟内回答。

P5行12:“%d”表示“十进制整数类型”。
写程序有问题呀!怎么一遇到具体问题,写出的解释到处都是毛

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值