
学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何让编程初学者以最小的代价学习并精通C语言是本文的主题。请注意,即使是最小的代价”也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着各位编程初学者需要经历艰苦的过程。
一、要读就读好书,否则不如不读
所有初学者面临的第一个问题便是如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。
1 《C程序设计语言》
Kernighan和 RitchiTheCProgramLanguag的《C程序设计语言》堪称经典中的经典,不过旧版的很多内容都已过时,和现在标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。
2 《C语言参考手册》
即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》十分必要的C语言参考手册》就是CReferManualC语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的C程序设计语言》根据C89标准修订的而《C语言参考手册》描述的C99标准,二者可能会有些出入,建议按照C99标准学习。
3 《C和指针》
这本《C和指针》写得也是相当地不错,英文名是PointeronC特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。相信,只要你理解了指针,C语言便不再神秘。
4如果你已经看完一本C语言教材,并想要继续深入学习,那么我有两本书推荐给你
《C陷井与缺陷》
首先这本CTrapandPitfal的《C陷井与缺陷》,很薄的一本书,内容非常非常地有趣。不过注意的是,这本书是二十多年前写的,里面提到很多C语言的缺陷现在都已被改进,不过能够了解一些历史也不是什么坏事。
《C专家编程》
还有就是可以尝试挑战一下ExpertCProgram的《C专家编程》,书如其名,这本书颇具难度,不过一旦你仔细读完并能透彻理解,便可以放心大胆地在简历上写“精通C语言”
切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。
二、Unix/Linux还是Window这是个很大的问题
不同的编程环境会造就出不同思维的程序员。Window程序员大多依赖集成开发环境,比如VisualStudio而Unix程序员更加钟爱Makefil与控制台。显而易见,集成开发环境更容易上手,Window上学习C语言,只需要会按几个基本的VisutC++工具栏按钮就可以开始写Hello,World!而在Unix下,需要一些控制台 *** 作的基本知识。有人也许认为Unix环境更简洁,但习惯的力量是很大的大家都很熟悉 Window基本 *** 作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。
对于一个只懂得Window基本 *** 作、连 DOS什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的用C语言写一个小程序远比学习lscat等命令有趣,况且我要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefil写法等等等等。
所以我建议初学者应该以VisualC++60不是VisualC++NET或者DevC++作为主要的学习环境,而且千万不要在IDE使用技巧上过多纠缠,因为今后你一定要转向Unix环境的VisualC++60使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而DevC++使用gcc编译器,对C99标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用TurboC20作为实验环境,这是相当不可取的原因其一是TC20对C标准几乎没有支持,其二是TC20编译得到程序是16位的这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC20编译出32位程序,不过那过于复杂了
等你学完一本C语言的教材,一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的比如《C专家编程》转变的过程是痛苦的需要面对的各种纷繁复杂的命令,完全不同于Window平台的思考方式,但是这种痛苦是值得的Unix与C共生的Unix思考方式和习惯更加符合C语言的思考方式和习惯。Unix下,可以找到无数优秀的源代码供你尽情阅读,可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,会专门写一篇文章详细叙述)
归结起来就是一句话:编程初学者初学C语言,建议使用Window系统和集成开发环境,准备向“高手”方向努力时,请先转向Unix平台。
《C语言程序设计》
作者:郭有强 编
出 版 社:清华大学出版社
评价:书很利索,该有的都有,如果你还没有一本满意的C语言课本,买它没错。(也可以阅读外国的经典C语言书籍)
《C和指针》
POINTERS ON C Kenneth AReek、
徐波 人民邮电出版社
评价:不算厚的书,纠正对指针的错误理解,这是必读经典,相信会带给你很多思考。(单单一本还不够,继续往后看)
《C陷阱与缺陷》
Andrew Koenig、 高巍
人民邮电出版社
评价:172页,应当1-2天看完,读完豁然开朗,对C语言常见的陷阱进行剖析,必须经典。
《C专家编程》
Expert C Programming Deep C Secrets Peter Van
Der Linden 人民邮电出版社 (2008-02出版)
评价:200多页,应当2天左右看完,本书读起来很舒坦,不可多得的好书,带你领略语法之外的奥秘,必读经典。
②数据结构与算法:
《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》
吴伟民、 严蔚敏
清华大学出版社
评价:数据结构都是类C的伪代码描述,初次接触编程的同学可能理解不了,我也一样。我是看严蔚敏视频学会的数据结构,希望这个办法对你们也同样有效。
《计算机算法设计与分析(第3版)》
王晓东
电子工业出版社
评价:这是我们的课本,不过的确是学习它才把数据结构和算法入门了,为后面进阶做了铺垫。
《算法艺术与信息学竞赛•算法竞赛入门经典》
刘汝佳
清华大学出版社
评价:了解数据结构怎么用,常用算法与思想,书不厚,但很给力。初学可能有障碍,但这的确是入门经典书籍,请不要放弃。
《算法导论(原书第2版)》
科曼(Cormen TH)、等、 潘金贵
机械工业出版社 (2006-09出版)
评价:经典中的经典,无需多说,不要问我看哪些内容,负责任的说:有能力就多看点,其实都能看懂,书中的内容与思想将会终身受用。
《编程之美:微软技术面试心得 》
《编程之美》小组
电子工业出版社
评价:微软出品,像是一本小故事集,将数学和编程之美展露无疑,学起来很轻松,反复回顾收获颇丰。
《编程珠玑(第2版)》
Jon Bentley、黄倩、 钱丽艳
人民邮电出版社
评价:主要是数据结构和算法,都是常用的内容,不过作者思维新奇,跟随作者一起思考会碰撞出不少火花,评价非常高的一本书,本人没有顺序阅读,感兴趣的内容翻了翻。
《算法艺术与信息学竞赛 》
刘汝佳
清华大学出版社
评价:放在最后,因为此书的确很专业,我这点智商也驾驭不了,信息学竞赛必备。
《程序员面试宝典(第3版)》
欧立奇、刘洋、 段韬
电子工业出版社
评价:这本书很神奇,大二下学期的时候我就买了并看完了,等到大三找工作的时候发现里边的提到的陷阱题目还是有点意思的,C语言掌握的怎么样拿这本书验一验就知道了。
《数学之美》
(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)
潭浩强
清华大学出版社
学C语言的99%都用他的书
以下在网络上看到对他的书的评价
按∶
谭浩强
教授编写的
《C程序设计
》一书受到广泛的欢迎和高度评价。下面刊登几所大学讲授C语言
课程
的老师对《C程序设计》一书的评价意见。
清华大学计算机与信息管理中心
承担着清华大学非
计算机专业
的“计算机软件技术基础”课,自1994年起选用清华大学出版的谭浩强教授编写的《C程序设计》一书作为本课程教材,取得了很好的教学效果,深受师生们的欢迎,现正使用第二版作为
教材
。此书的特点及对教学的
促进作用
主要表现在以下几方面:
1.内容全面,实用性强
此书涵盖了程序设计
基础知识
及C语言程序设计的全部内容,并介绍了大量常用
算法
。通过学习此教材,初学程序设计的学生可以达到熟练运用C语言进行小规模应用开发的能力。
2.讲解透彻,深入浅出
此书对
概念
讲解透彻,使初学
计算机程序设计
的学生不仅学习了一种
高级语言
,而且能够对相关基础知识有准确深入的理解,例如在介绍
变量
的存储类型时、介绍指针时都对
计算机
的
存储管理
做了清楚的论述,使读者知其然也知期所以然。广大非计算机专业的学生学习
计算机课程
的学时很少,没有足够的
时间系统
地学习计算机专业基础知识。因此像这样将必要的基础知识融会贯通到程序设计课程中,对学生的
知识结构
建设以及今后的深造和提高都大有裨益。
3.通俗易懂,易于自学
此书的一个突出优点就是,语言优美、举例生动、
浅显易懂
。学生在学习C语言之前,普遍有些畏难情绪,因为听说C语言比较难学。的确C语言最初是面向专业
开发人员
的。但是读了
这本书
之后,学生们不再惧怕C语言。很多学生说,读这本书不仅
学会
了C语言,而且读的
过程
本身就是一种享受,不像有些专业书籍,堆砌大量技术
名词
,艰涩难懂。由于这本书易于自学,给我们的教学工作带来很大帮助,使我们可以达到精讲多练,逐步实现教师指导下的学生自主式
学习模式
。
4.结构清晰,循序渐进
由于本书结构清晰,
知识点
明确,循序渐进的内容组织方式非常符合
初学者
的认知
规律
,因此给教师组织
课堂教学
提供了很好的指导。我们按照这本书的内容结构组织教学,取得了学生和
教务处
的一致好评。
5.习题丰富,利于复习
计算机程序设计是一门实践性很强的课程,因此仅仅通过阅读教科书或听课是不可能掌握的,学习程序设计的最重要环节就是实践。本书每章都附有大量习题,并且有配套的习题解答,非常有利于学生复习巩固课上所学的知识。也便于教师设计
实验课
的
教学内容
。
C语言其实有很多好书,我们上学普遍学的是老谭的书,对于应付考试,考计算机等级够用了。但是对于一个真正想把编程当饭吃的人来说,这是根本不够的。从入门到精通,学习编程总有个过程。不同阶段看不同的书,或者看一本能“活到老,学到老”的书。编程书籍以国外的受欢迎程度远远大于国内。下面给大家推荐几本:
入门:
C语言入门经典
《C语言入门经典》例子简单生活化,而且每个例子分析很细。章节安排合理,章末的例子还特别注重思路的引导,而且分析起来特别有成就感。这本书是自学过程的一本好书。
进阶:
C primer plus
这本书很适合希望系统学习C语言的读者,正如他的名字,是一本不错的入门和进阶的书。书中的每一个知识点都有很多生动简单的示例,并给出了相应的运行结果。总之,在看这本书的`过程中,有一种一气呵成的感觉。
高手:
C专家编程
《C专家编程》展示了最优秀的C程序员所使用的编码技巧,并专门开辟了一章对C++的基础知识进行了介绍。书中C的历史、语言特性、声明、数组、指针、链接、运行时、内存以及如何进一步学习C++等问题进行了细致的讲解和深入的分析。
本书可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,本书可以帮助他们站在C的高度了解和学习C++。
当然,C语言的书籍很多,大家也不必拘泥于推荐的书籍,适合自己的才是最好的。只读书而不去实际动手,这相当于纸上谈兵。理论联系实际才是硬道理。
《C语言教程》《c和指针》《C语言深度解剖》
1:《C语言教程》是一本经典的教材,这本教材的特点是通俗易通,很适合于自学或者入门的,缺点是教材的深度不够。
2:《c和指针》很好的弥补了《C语言教程》的不足,这本教材很系统的介绍了C语言,比较的全面细致,但是没有《C语言教程》的通俗易懂。
3:前两本教材适合于入门,想更加深入学习C语言的话《C语言深度解剖》是个很不错的选择,这本书言语深刻幽默,通俗易懂,很适合于进阶的学习,也很适合与实际的工程开发。
1看《ThinkingInC》;
2看《TheCProgrammingLanguage》和《InsideTheCObjectModel》,不要因为他们很难而我们自己是初学者所以就不看;
3请阅读《TheStandardCBible》(中文版:标准C宝典),掌握C标准;
4请看《EffectiveC》和《MoreEffectiveC》以及《ExceptionalC》;
5请看《程序设计实践》,并严格的按照其要求去做;
6读完了《InsideTheCObjectModel》以后再来认定自己是不是已经学会了C;
7请留意下列书籍:《C面向对象高效编程(CEffectiveObject-OrientedSoftware)》《面向对象软件构造(Object-OrientedSoftware)》《设计模式(DesignPatterns)》《TheArtofComputerProgramming》;
8建议你买本书,书比网上的电子版教程好的多,如计算机届超级权威教授谭浩强老先生写的《C语言程序设计(第三版)》,全国发行了700万册,可以说是学C语言的人必看的书,我们大学就用这本书,很适合自学,通俗易懂。
2009-10-19 07:44:50添加 1 C语言程序设计 作者 : 谭浩强
出版社 : 清华大学出版社评语 : 第0本 《C语言程序设计》谭浩强我们很少有学C语言的启蒙书不是用这本的。如果你从来没接触过C语言,这本书还是适合作为入门的。尽管大学毕业之后就不再碰这本书,但是还记得当初这本书看了3遍、指针那部分看了至少5遍的那种心情。以后看了其它的书,才对C语言中的一些内容有更深的理解。相信大多数第一次接触C语言的人都有类似的感觉。不要期望一本启蒙的书带给你想要的一切,一切才刚刚开始。 加入购书单已在购书单 2009-10-19 07:48:08添加 2 C程序设计语言(第二版)影印 作者 : Brian WKernighan,Dennis Ritchie
出版社 : 清华大学出版社评语 : 第1本 《C程序设计语言》 Brian W Kernighan / Dennis M Ritchie 这本书又称为 R&K C,还有谁能比C语言之父对C语言更有发言权的呢?推荐看英文版。你会惊讶于在短短不到200页的篇幅内,这两位牛人将C语言描述的这么清晰。即使不专门学C语言的人也可以拿出来翻翻 加入购书单已在购书单 2009-10-19 07:44:50添加 3 C 陷阱与缺陷 作者 : (美)凯尼格 著,高巍 译
出版社 : 人民邮电出版社评语 : 第2本 《C陷阱与缺陷》Andrew Koenig Andrew Koenig的成名作,能帮助初学者减少90%的错误。一些错误(比如赋值符、运算符优先级等)还是不时的会在自己的程序里出现,只是已经打过预防针了,很容易发现。另外作者写了一本《Accelerated C++》,据说是C++的最佳入门书,狠赞!! 加入购书单已在购书单 2009-10-19 07:44:50添加 4 C专家编程 作者 : (美)林登(LinDenPVD) 著,徐波 译
出版社 : 人民邮电出版社评语 : 第3本 《C专家编程》(LinDen,PVD)一看书名就知道这丫不能拿来入门用的,第一次看的时候够折磨大脑的。作者声称,编程的唯一原因是因为乐趣。相比之前的几本书,这本书还介绍C语言运行的环境,更全面地考察了C语言。深入分析了C语言中一些容易混淆的概念,如复杂的声明和定义、数组和指针、链接和运行时库、内存等。很值得一读。顺便一提:链接库可参考《深入理解计算机系统》的动态链接库一章,写得更易读 加入购书单已在购书单 2009-10-19 07:44:50添加 5 编程精粹:编写高质量C语言代码(英文影印版) 作者 : Steve Maguire
出版社 : 人民邮电出版社评语 : 第4本 《编程精粹:编写高质量C语言代码》 《Writing Solid Code》 Steve Maguire 这是我读到C语言书中最惊叹的一本,尽管写出没有bug的程序不太可能,但按照作者提供的方法,可以离这个目标很近。本书关注的更多是怎么使用C语言开发工业级产品的问题。这本书源自作者十几年不断的追问自己两个简单的问题: 1)怎样才能自动地查出这个错误? 2)怎样才能避免这个错误? “他的另一部名著Debugging the Development Process(中文版《微软加入购书单已在购书单 2009-10-19 07:44:50添加 6 C Interfaces and Implementations 作者 : David R Hanson
出版社 : Addison-Wesley Professional评语 : 第5本 《C Interfaces and Implementations》 David R Hanson 这本据说为唯一一本能和R&K C并驾齐驱的书,可惜中文版众口一致说太烂,无处可载电子版,影印版跳票多年,原版USD 5499实在承受不起,囊中羞涩,奈何奈何。想念多年,至今不能一睹芳容,深以为憾。 加入购书单已在购书单 2009-10-19 07:44:50添加 7 C标准库\图灵程序设计丛书 作者 : P J Plauger
出版社 : 人民邮电出版社评语 : 前面5本差不多够了,另外推荐两本,精力过剩的可以翻翻第6本 《C标准库》P J Plauger 本书介绍C标准库的实现,书中有较为详尽的代码。虽然这本书年代久远,现在的实现肯定和以前也有差别,但是还是很有参考价值,特别是对C标准库的实现有兴趣的人。中文版太贵,英文电子版看得太累,还是以后有地方借的时候再继续看。 加入购书单已在购书单 2009-10-19 07:44:50添加 8 C语言参考手册(原书第5版) 作者 : (美)哈比森(HarbisomSP) 著
出版社 : 机械工业出版社评语 : 第7本 《C语言参考手册》拿来备查的,C语言的任何细节几乎都能在其中找到借到。书的第一部分介绍C语言语法细节。第二部分介绍运行时库,可以和《C标准库》参考阅读。
以上就是关于初学者学习C语言,用什么书好,想用点比较经典的书。全部的内容,包括:初学者学习C语言,用什么书好,想用点比较经典的书。、C语言进阶学习有哪些经典书籍、C语言哪本书最好等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)