把谭老师的书丢到废纸篓里是唯一正确的选择。
科尼汉的书简洁明晰到了极致。我买了能买到的科尼汉所有的书,
从《unix编程环境》到《程序设计实践》,没有一本让我失望。
伟大的作者,简洁风格的代表,永远的K&R.
谭老师的书我就不说什么了,居然教学生include一个.c文件....囧
K&R是公认的世界上最经典的C语言教程,但是不能反映C89之后C语言的发展以及最新的C99标准,可惜了
-------------
你说的第一个问题在chinaunix上有过好一场争论,你可以去搜一下看看。
第二个问题说实在的,如你所言,虽然最经典,但是如今也不是非看不可。如果说想当作参考书,那有更经典的c reference manual,5th。所以我觉得这本书看了也不一定就怎么样,不看也不一定就不行。
@特别是《C核心技术》那翻译的鸟人根本不懂C,运行环境翻译错,第19章的目录搞错,把“溢出(Overflow)”翻成“上溢”,把“二进制(Binary)”翻译成“二元”,把“Object file”一会儿译成“目标文件”,一会儿又译成“对象文件”
@@@
这本你说的《C核心技术》(C in a nutshell)是台湾的蔡学镛翻译的,你说他不懂C语言,你就要先问问你自己是不是K&R。overflow根据不同情况的确分为上溢和下溢,不明白的去看CSAPP。Binary在应用于operator的时候普遍都是翻译为“二元操作符”。Object file这一点在附录的makefile里翻译的有些乱,主要是和target的翻译有些混淆。
PS. 机工社的确很不厚道,c in a nutshell这本书先不说用纸好坏,原版copy台湾oreilly的翻译,竟然把index给阉割了...
算了,机械工业出版社更应该消失掉,瞧瞧他们毁了多少外国名著????从06年版的《C语言参考手册》到08年的《C核心技术》,哪本不被翻得乱糟糟的?????特别是《C核心技术》那翻译的鸟人根本不懂C,运行环境翻译错,第19章的目录搞错,把“溢出(Overflow)”翻成“上溢”,把“二进制(Binary)”翻译成“二元”,把“Object file”一会儿译成“目标文件”,一会儿又译成“对象文件”,表5-14又遗漏“.”运算符。还有08年徐波翻译版的《C核心技术》字符集那一节明明原书英文版和ISO/IEC9899-1999里明确说明HT、VT、FF这三个控制符是必须在源字符集的,徐波偏在FF后面加个“等”字,你倒是出来说说看原书英文版是不是“HT、VT、FF等格式字符”啊???我是看过原版,然后来批判中文版的,别再来害人了机械工业出版社!!!!至于《C程序设计语言》我也宁愿啃英文版的,中文版的我根本不屑于看!!!机械工业什么烂水平呐!!!!
还有,提醒一句,这《C程序设计语言》不是入门的,劝那些Windows小白们还是知难而退吧,否则就是书中正文第2页的Hello World都编译不来,即便运气好,编译出来了,新版的gcc一定会给你个warning,因为K&R的《C程序设计语言》落伍咯,跟不上时代咯,ISO/IEC 9899 1999很明确的说int main ( void )以及在主函数末尾加上return 0;,新版的gcc只有按ISO/IEC 9899 1999的标准写法才不会报警告!!!还有《C程序设计语言》正文部分没有详细讲解枚举类型,只在后面的参考手册带了一下。
总结,K&R的《C程序设计语言》是经典,没错,可不代表其中文版也是经典,依我对机工出版社的一贯了解,中文版至少肯定被毁了一半!!!!K&R的《C程序设计语言》是经典,没错,可不代表他就适合被MS Windows强占着的中国小白们!!!!
一句话,没水平你只能看看谭的你们所谓的烂书,有水平的人家看原版书,就是不会看机械工业的垃圾中文书!!!!要看,那也为了是拿出谬误来批判用的!!!!!!!!!!