所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。
大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以百度一下:)
Kernighan和 Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。
如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。
切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
c/c++程序员需要掌握的书籍大概可以分成几个方面:
计算机基础类书籍,这类书籍包括计算机组成原理、计算机网络、数据库、 *** 作系统、数据结构与算法。
c/c++类专业书籍,这类书籍包括基础的C语言程序设计、C++primer。
扩展类书籍,c/c++相关扩展类,推荐的有C陷阱与缺陷、深度探索C++对象模型、effective C++。
平台扩展类书籍,这类就要看你在哪类系统下做开发,一般常用的系统平台是嵌入式、windows、Unix及ios(object C++),这类书籍就比较多了,可以按照个人需求选择。
按照上述推荐的理由是:
学习计算机语言需要一定的基础,这类基础是非常重要但是很无聊的,后续在做开发的时候会觉得非常实用。
学好语言其实不是非常麻烦的部分,一般的教材类书籍即可,重要而麻烦的是在敲代码的过程中去熟练掌握、运用和创新。
扩展类书籍3可以帮助你更深入的理解你所学到的东西,而深入理解是程序员进阶的必经之路。
平台类书籍略有区别,但是标准C++是一样的,只是针对各自平台做了相应扩展(objectc++除外)。如果需要在某个平台下做开发,或者学习再去学习使用即可。
最适合初学者的本科课程教材是:《C++ 程序设计教程 》钱能 等著,清华大学出版社,2000年, ISBN: 7-302-03421-4(这本书已经有了第二版,不过最好使用第一版,第二版也不错,但是非常不适合初学者!)
下列教材可供参考:
(1)《C++ 语言程序设计》(第2版) 郑莉 董渊著,清华大学出版社,2001年(这本书也有第三版了,变化不大)
(2)《C++语言基础教程》,吕凤翥 编著,清华大学出版社,1999年。
推荐习题集:
(1)《C++语言-习题与解析》,李春葆编著,清华大学出版社。
(2)《C++语言程序设计习题集》,马锐,胡思康编著,人民邮电出版社。
深入学习:
>>本课程只是一个入门课程,通过本课程的学习,学生仅仅是初步掌握了C++程序设计的基础知识和基本思路。在后续的学习和工作中,如果需要 超出本科课程的范围,进一步全面深入学习C++语言,对于初学者(仅仅具备本科课程教学要求水平)来说,建议选择参考书籍
《C++ Primer Plus》(第五版),STEPHEN PRATA著, 译者:孙建春,韦强,人民邮电出版社,2005年
>>如果对于C++语言比较熟悉,已经有了一定实际开发经验,而需要对于C++软件开发具备比较深刻的理解和熟练的技巧,推荐下列参考书:
(1)《C++编程思想》,Bruce Eckel 著,刘宗田等译,机械工业出版社,2001年。
《C++编程思想》第二卷,实用编程技术,Bruce Eckel 著,刁成嘉等译,机械工业出版社,2006年.
(2)《C++程序设计语言(特别版)》Bjarne Stroustrup 著,裘宗燕译,机械工业出版社 2002年
(3)<C++ Primer>中文版(第4版)Stanley B.Lippman等著,李师贤 等译,人民邮电出版社,2006年
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)