2022年C程序设计语言 .pdf
《2022年C程序设计语言 .pdf》由会员分享,可在线阅读,更多相关《2022年C程序设计语言 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 程序设计语言翻译挑错The C Programming Language的中译本C 程序设计语言由机械工业出版社出版,徐宝文、李志翻译,尤晋元审校,K&R 甚至为它专门写了个中文版序,可惜经典又被翻译糟蹋了。 我手头的是2008年 4 月第二版第19 次印刷,依然有着翻译错误甚至印刷错误(不可原谅! ) ,也许大名鼎鼎的尤晋元教授审校时忘记带眼镜了。有错误不可怕,但缺乏错机制就让人恼火了。遍寻网络也找不到官方勘误表,甚至交流方式都没有,只能说出版社和译者没把后续服务当回儿事。有些作译者通过个人主页、博客或邮件组同读者进行交流,在此表示敬佩。但整体而言,IT 图书的出版以图灵运做的最好,有和
2、读者交流的专门网站 ,图书勘误也在上面发放,这样大大降低了双方交流的成本,必须夸奖!回到正题上来,我正在阅读K&R 的英文版(提高英语和C 语言水平),但信心不足,辅以中文版一册,发现许多错误,不爽,决定在这里记下来(果然IT 技术书籍有原版就不要读翻译本,唉),这篇blog会写很长时间,因为我的英语水平一般般(现在,只是现在一般般)。2012.07.23 阅读第一章, 发现一些小错误让人十分恼火,因为直接读中文就能看得出来。说实话一边读原版一边对比蹩脚的翻译实在太不爽了。接下来我打算采用先英文,后中文的方式看剩下的内容,那么只有那些大的错误(类似引言1)或者火星中国人才能读懂的句子才会发现。
3、所以,为了自己好, 一定要学好英语呵! K&R 不适合初学者, 如果你头次接触C 语言,我推荐宋劲杉老师的 Linux C 编程一站式学习,或者你英语好就直接读英文的入门材料,比如Learn C The Hard Way这种;至于老手,看原版吧。我把其他人的错误总结记在后面,大家看一下。2012.07.27 引言1.pXIII第 5 段, “ 函数定义 可以不是 嵌套的, ”你妹啊,幸好我之前学过C,不然就被忽悠了!原文是 Function definitions may not be nested, may not在这里是 “ 不可以 ” 的意思啊老师!就算你英语不好,C 语言总该用过吧,这
4、也太坑爹了!正确翻译: “ 函数定义不可以嵌套” 。2. pXIII第 10 段, “ 这就意味着必须通过调用函数来比较两个字符串吗”这句不算错误,只是作者在这里吐槽一下自己,很幽默的一句被翻译得索然无味,原文是:“ You mean I have to call a function to compare two character strings?”3. pXV第 2 段, “ 所采用的方式将比第1 章更加 形式化 一些 ”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,
5、共 4 页 - - - - - - - - - 原文是 formlly,这里用 ” 正式 “ 更易懂些:“ 所采用的方式将比第1 章更加 正式 一些 ”2012.07.23 第一章 导言1. p25,练习1-20 ,“ .使空格充满到下一个 制表符终止位的地方”原文 next应该翻译成 “ 靠着,紧挨 ” 的意思,不是下一个!“ .使空格充满到挨着 制表符终止位的地方”2012.08.22 - 第三章 控制流1. p54,3.7 节最后一段,“ 当循环的后面部分比较复杂 .则可能需要 把测试条件颠倒过来或者 缩进另一层循环,这样做会使程序的嵌套更深 。”这一整段我个人以为都错了。“ The c
6、ontinue statement is often used when the part of the loop that follows is complicated, so that reversing a test and indenting another level would nest the program too deeply.”当循环体很复杂,逆转测试条件下再缩进一层执行会让程序会嵌套得太深时,就需要continue语句出场表现了。结合上上面的例子看,如果不用continue,就要写成这个样子:for (i = 0; i = 0) . reversing a test 指
7、ai = 0 , indenting another level 指 for 内的循环体嵌入又嵌入到if 里去了。(这一句的术语我有敲不准,大家还是结合例子看原文吧)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 2012.08.21 以下内容来自豆瓣网友jtuki :页码:第8 页 2011-01-30 22:34:47 引言部分(准确的说是XIII 页)一开始就出现了严重的翻译错误,比较窘。函数定义可以不是嵌套的- 翻译错误
8、。原文是may not be nested 即函数定义不可以嵌套。但是,在GNU C 实现中,这个来自ANSI 的规则被打破,前者允许函数嵌套定义。页码:第42 页 2011-01-30 22:37:42 条件表达式expr1 ? expr2 : expr3 本质上就是一个表达式,其类型根据expr2 和 expr3 的类型决定(此处书上说成是expr1 和 expr3 属于翻译错误)。如果expr2 和 expr3 类型不同,则根据转换规则来决定,与expr1 求值结果无关。页码:第60 页 2011-01-30 22:38:34 对于atof 的描述说它占用了过多的空间是翻译错误,原话是t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C程序设计语言 2022 程序设计语言
限制150内