标签:
浙工大图书馆中,计算机的书都集中在三楼TP区。
《Head First C》。Head First系列的书质量基本都很高。该书有很多插图,总体上就是用一种轻松愉快的方式给新手讲解令人头疼的C语言。书虽然有些厚但其实并没多多少字,内容上也相当丰富,英文原版的阅读难度大概也就高中阅读理解的难度。图书馆有其中译本《嗨翻C语言》,但我强烈推荐去看其英文影印版《深入浅出C语言》,一来这书的英文版本身难度就不大,二来容易树立阅读英文资料的信息(特别是看到自己看完这么厚一本英文书的时候)。
现在很多国内出版社(比如东南大学出版社,电子工业出版社),都推出了不少国外著名教材的影印版,内容、排版均与进口原版相同,价格却大大降低。大多数国外教材的中译本的翻译质量都相当糟糕,如今,这种影印版书籍很好的解决了这个问题。
《C Programming: A Modern Approach》 (第二版)。 图书馆似乎没有这本书的影印版,但是有它的中译本《C语言程序设计 现代方法》。喜欢看英文版的话可以自行下载pdf。这本书比Head First C严肃一些,看上去更像是一本教材,整体上比较系统、全面和严谨,也是入门好书。
《C Traps and Pitfalls》。英文版和中文版图书馆都有。书名的中文翻译是《C陷阱与缺陷》,影印版可能也用这个书名。该书非常经典,以至于1989年出版以后,到现在还在各大C语言必读书目里面。由于这本书出的时间非常早,因此里面有些地方可能与现代的C语言标准有些差异,比如说,在当时main()可以不显式指定返回值类型,默认就是int,但现在的C标准规定必须显式的声明返回值类型为int,即int main() {...}。因此建议在看完上面两本之后再看这本书为好。这本书很薄,也就一百来页,但内容上相当出色,其中的指针、数组的部分尤为精辟,而且把一些C语言基本的原理性的东西也讲得很清楚,如此一来可以避免很多不必要的死记硬背。一定会大有所获。
为什么不推荐谭浩强的书?有很多原因。最大的一个原因就是谭书的错误实在太多(据说随便找找就有上百个,但我没证实过)。谭先生似乎根本不在乎C语言有C语言标准这回事,印刷错误什么的也就算了,很多根本就是概念性的错误,实在误人子弟。当然我们也得从历史看待问题,在谭书刚发行的那个时候,计算机尚未普及,更别说相关的资料了,谭浩强出了这么一本简单易懂的C语言书的确是非常有意义的。但是现在,既然已经有好得多的教材可以替换它了,又何必拘泥于谭书?谭书还是留给非专业的学生应试去吧,我们专业的可是真的要天天与代码打交道的。
不要用VC++6啦,2018年都快到了,你还用1998年发布的东西,不觉得哪有问题么?就算要用也用新一点的Visual Studio 2015 Community或2013 Community,嫌VS太大用用Code::blocks也好。
当然我个人还是比较建议在学习的初期,尝试尝试在Linux或Mac环境下用命令行去编译程序。这种编译器一般用的比较多的就是gcc和clang。最好连Makefile的写法都去了解了解,这样你就知道,当你点了Visual Studio中的编译按钮后,究竟发生了什么。这样也容易理解C语言多文件编译的原理。这个仅仅是个建议,如果嫌麻烦,那继续用Visual Studio等集成开发环境也不会有什么大问题。
要说还有什么一定要学的东西,那就是调试器。代码一时爽,调试火葬场。还真有人,本科毕业了还不知道世界上有调试器这种东西,还以为调试代码都是睁着眼睛瞎摸,东改一点,重新编译,哎呀没成功,再西改一点,哦又没成功,还混进去几个新的问题进去,越来越不对了。这怎么可能呢?用调试器的话,就可以节省大量瞎摸的时间,它可以按照你的指示设置断点,让程序运行到某处的时候停止,然后你就可以用它观察当前所有变量的值,你甚至能用它一条一条的单步执行代码,一步步慢慢走,看看程序到底会在哪儿跌跤。所以别把自己的生命浪费在瞎摸上,有那时间还不如去操场跑几圈。
必须得提一下代码风格。代码风格是干嘛的?用来增强程序的易读性的。你得知道,你自己写出的代码可不只是给电脑读的,你自己要读吧,别人可能要看你代码吧,要是你写的代码易读性很差,不缩进甚至乱缩进,不仅显得邋遢,还不容易找到错误(我见过一些人,找了半天错误没找出来,把代码的缩进规范一下,马上就找到了原因,啊原来是少了个括号)。
代码风格的问题我暂时推荐去看下面两本资料
《高质量C/C++编程指南》林锐
这本指南有一部分就专门讲代码风格,可以自行下载pdf
《The C Programming Language》第二版
这是C语言之父写的C语言教材,虽然不适合零基础的初学者,但里面的代码风格相当清晰(一般称为K&R风格)。这个办公室里有一本,可以借去看看。
标签:
原文地址:http://www.cnblogs.com/luc9/p/4832182.html