Chinaunix首页 | 论坛 | 博客
  • 博客访问: 530742
  • 博文数量: 576
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5020
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(576)

文章存档

2011年(1)

2008年(575)

我的朋友

分类:

2008-10-14 15:00:09

C语言学习方法


乾坤一笑

原文见于乾坤一笑的blog

       谈谈偶的学习方法,抛砖引玉!:)
       学习不论讲不讲方法,最终都能学会。但是别人1个月学会了,而你却100年才学会,这不就晚了么?:)所以说,学习还是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。
       什么才是学习C语言的捷径?我的答案是看书。书中所写,是前人数十年经验所写,看十本书,就相当于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)书当然要看好书,只有好书才营养丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来说是全新的知识,但是由于书中组织不当、或者深度不够,使你获取的营养很少,还不如自己研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了,比如拙著《》中介绍的4本。(虽然这些书很多已经绝版了,但我相信电子版也是很有益处。况且,如果你真的想看,我相信你一定有办法搞的到。)这些书你会在很短的时间内看完(比如一两个月),这取决于你的基础和悟性。之后要看那些书呢?我不妨再列几本。Bjarne Stroustrup的《》(The C++ Programming Language)一定要看,这本书里面对于C的一些基础概念的定义,比我见过的其他任何C语言书都要全,都要仔细;Bjarne Stroustrup的《》(The Design and Evolution of C++)和David R.Hanson 的《》(C Interfaces and Implaementations Techniques for Creating Reusable Software)一定要看,这两本书讲述了如何用C来实现异常处理、实现类型的封装和扩展等一些大的项目中经常用到的高级技术。其他的书,操作系统的要看,编译原理的要看,算法的要看,模式的也要看。读书破万卷,coding如有神。总而言之,就如《传》中云:“生而知之者,上也;学而知之者,次也;困而学之又其次也。”我们不能总是因困而学之,而要做到兵马未动,粮草先行。
       看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,因为应用总是招数繁复,变化多端。因此我们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the fucking source code;候捷也在其文中提到“源码之前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。可以说高手的经验大都是源自代码。源码和书一样,也是要看好的,不要看差的。在此,我推荐看Linux kernel source code 和 Linux tcp/ip source code。这两套代码都是开源的,垂手可得。此外,还可以配合着Andrew S.Tanenbaum的《》(Operating Systems:Design and Implementation)、毛德操 胡希明的《》、Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman合著的《》(Linux Device Driver,3e)、W.Richard Stevens《》 (TCP/IP Illustracted )、W.Richard Stevens《》(Advanced Programming in the UNIX Environment,新版增加了Linux kernel的内容)等书来看,方便的很。

       当然程序不是看出来的,是写出来的。我高中的时候每天坚持写6个小时程序,《数据结构》和排列组合、图论方面的习题反复做了N遍。到现在虽然已经时隔五六年,很多内容早已淡忘掉,但却培养了我很强的编码能力和调试能力,直到现在还对我的工作有很大的帮助。

       学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。
-------------
写于2005年8月1日  转载请标明出处和原文链接

编者注:本文中书籍链接一律按《》例,引用于China-pub,但部分书籍也已缺货,大家可以看看其他书店或到图书馆或找朋友借阅。


--------------------next---------------------

可不可以介绍一下c++的学习书籍啊
要适合初学的 ( longhao 发表于 2006-12-2 10:03:00)
 
多谢指教啊~真是受溢非浅啊 ( kolvin 发表于 2005-11-8 21:18:00)
 
理论、实践(看书、上机)是掌握工具的基本途径,
关键是掌握工具后,有没有使用的用处,学一套九阴真经
没地方用那不太可惜了,~~~ ( nenlong 发表于 2005-8-15 2:03:00)
 
to underyun:
  感觉你说的很对,我补充一下,当你根据兴趣已经无法使自己再有提高,这样你就可能失去兴趣,在这个时候,就该适当的看看书了,扎实的理论基础,将使你我有更高的提高。 ( dylan_ding 发表于 2005-8-8 16:51:00)
 
不错,讲的太好了!! ( chx20 发表于 2005-8-6 18:08:00)
 
看书是一种途径,但肯定不是捷径。兴趣才是捷径,什么每天坚持写6小时的程序,如此枯燥的学习方法很难学好的。什么大师,什么四书五经,没必要老是挂在嘴边,有需要时,适当翻翻即可。经常给自己成就感,保持兴趣,才是王道。 ( underyun 发表于 2005-8-4 16:02:00)
 
to mybios:
可能最后两段较短没有引起你的注意啊... ( zhaotide 发表于 2005-8-3 18:24:00)
 
觉得楼主的方法太学生腔了。。
正确的方法应该是:看书->写代码->写代码->写代码->写代码->写代码->写代码->写代码->写代码 ( mybios 发表于 2005-8-3 16:38:00)
 
.......................................................

--------------------next---------------------

阅读(243) | 评论(0) | 转发(0) |
0

上一篇:VC知识库>>文档中心

下一篇:杂谈:编程ABC

给主人留下些什么吧!~~