当前位置: 查字典图书网> 编程> C程序设计伴侣> 《C程序设计伴侣》中的错误

《C程序设计伴侣》中的错误

对“《C程序设计伴侣》中的错误”的回应

薛非 2012-09-28 01:10:51

“  作为作者,我来对这位读者的这些误解进行一点解释,希望大家不要再有这样的误解
  其一,关于“事实上的标准”
  这里涉及到标准和业界的一个互动关系,有时候,标准走在了业界编译器的前面(标准中有的内容,编译器没有实现),而有的时候,标准会落在业界编译器的后面(编译器已经实现的特性,并没有在标准中出现),两者往往是相互伴随,前前后后的。
  至于这里说到的“事实上的标准”,这位读者提出微软不认同,实际上,微软在C++方面还有一定的份额,在C语言方面,非常少,在C语言方面,基本上是GCC一家独大。因而说他是事实山的标准,也并无不妥。 ”

狡辩是吧?
你根本就不懂什么叫标准

薛非 2012-09-28 01:09:09

“其二,关于UNIX的问题,我还想问问这位读者,Linux还是从UNIX发展而来呢?这就如同,儿子(Mac OS X)是由父亲(UNIX)发展而来,但是反过来说儿子就是父亲,好像不太合适吧 ”

你这是在向我请教还是露怯了?

薛非 2012-09-28 01:06:29

“利用time()函数获得)来初始化随机种子,否则我们用rand()函数得到的是一个伪随机数”

你到底懂不懂什么叫“伪随机数”,不懂就不要信口开河

薛非 2012-09-28 01:05:13

4.4.2
"(a>0)&&(b>0)
在计算这个逻辑表达式的值的时候,会根据小括号确定的运算次序(或者表达式的默认运算顺序),首先计算a>0和b>0这两个关系表达式的值,然后逻辑运算符“&&”会根据这两个关系表达式的值最终得出整个逻辑表达式的值。"

这不是在胡扯吗?连C语言基本运算都讲不清楚,你也好意思出书?

薛非 2012-09-28 01:02:37

P35:"使用true和false这两个关键字来表示逻辑上的真和假".这个也太雷人了吧,什么时候true和false成了C语言的关键字?

连C语言有哪些关键字都不清楚也敢写C语言书?
你不是诚心误人子弟是什么

imcc 2012-09-27 11:18:59

可以看出,这位读者的观点实在是有点偏激
我在这里也不便多说
想了解这本书更多,可以访问我的个人网站
http://chenlq.net

imcc 2012-09-27 11:13:13

其二,关于UNIX的问题,我还想问问这位读者,Linux还是从UNIX发展而来呢?这就如同,儿子(Mac OS X)是由父亲(UNIX)发展而来,但是反过来说儿子就是父亲,好像不太合适吧

imcc 2012-09-27 11:05:09

作为作者,我来对这位读者的这些误解进行一点解释,希望大家不要再有这样的误解
其一,关于“事实上的标准”
这里涉及到标准和业界的一个互动关系,有时候,标准走在了业界编译器的前面(标准中有的内容,编译器没有实现),而有的时候,标准会落在业界编译器的后面(编译器已经实现的特性,并没有在标准中出现),两者往往是相互伴随,前前后后的。
至于这里说到的“事实上的标准”,这位读者提出微软不认同,实际上,微软在C++方面还有一定的份额,在C语言方面,非常少,在C语言方面,基本上是GCC一家独大。因而说他是事实山的标准,也并无不妥。

薛非 2012-09-24 21:10:41

12行 srand((int)time(0));
这里的 0 是一种不规范的写法,C++里可能这么写,但C不是这样写
(int) 完全是外行的错误写法
因为srand()函数的参数应该是unsigned类型
srand((int)time(0))的后果是限制了种子数的范围
这使得后面的rand()在很大程度上失去了意义
失去了多少意义?大约损失了50%

薛非 2012-09-24 21:06:19

代码 10~11行

给初学者徒增负担而已
要知道在这里初学者连循环都没学
这里的初始化也毫无必要

薛非 2012-09-24 21:05:46

4.8 综合运用——猜数字游戏

代码中
2~5行处于该学习阶段的读者完全不可能理解

薛非 2012-09-24 21:03:10

 4.8 综合运用——猜数字游戏

代码中1/3的内容是这个阶段的学习者根本就没接触过的
这是给在这个学习阶段的初学者增添负担,而不是帮助他们学习巩固所学习内容
这段代码读者不可能看懂
而且存在很多错误和瑕疵

薛非 2012-09-24 21:00:29

4.8 综合运用——猜数字游戏

“特别是例4.8,给出了利用各种形式的条件结构解决同一个问题的不同方法和途径,我们应该仔细体会各种条件结构的特点,从而在我们的程序中灵活选用合适的选择结构。”

例4.8 是个很糟糕的例子,它并没有非常恰当地使用条件结构,盲目追求方法的数量,须知写代码和解数学题目不同,一题多解是没意思的,代码追求的是思想的自然表达,而不是为了追求表达方式的数量刻意用不同的方式去扭曲思想

薛非 2012-09-24 20:46:28

1.5B 使用GCC编译C语言程序

总体评价:这一小节对读者没有意义。因为这不是学习C语言所需要的,而且这么一小节的篇幅根本就讲不了什么。

薛非 2012-09-24 20:44:44

1.5B 使用GCC编译C语言程序

“GCC的使用方法跟谭老师所介绍的Visual C++的编译器的使用方法非常相似,它的调用方式如下:

gcc [编译选项] [文件名]”

这是凭空捏造。
谭浩强的书根本没有介绍Visual C++的编译器的这种使用方法。

薛非 2012-09-24 20:36:36

1.5B 使用GCC编译C语言程序
“除了Linux/UNIX操作系统之外,GCC还能运行在其他不同的操作系统上,如Solaris、Windows(需要自己安装Cygwin或者是MinGW)、Mac OS X操作系统等。”

这句话的逻辑很可笑,因为Solaris、Mac OS X 都是UNIX
所以就仿佛在说
除了 动物、植物 之外,还有小猫、小狗。
谭浩强的书中常有这种逻辑混乱的句型。

《C程序设计伴侣》热门书评


书名: C程序设计伴侣
作者: 陈良乔
出版社: 人民邮电出版社
副标题: 帮你更好地理解谭浩强老师的那本书以及更多!
出版年: 2012-10
页数: 332
定价: 49.00元
装帧: 平装
ISBN: 9787115290953