答案:第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。
第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os/2,没有一个里外的,如果你不懂C语言,怎么可能深入到这些操作系统当中去呢?更不要说你去写它们的内核程序了。
第三:很多新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪个不是呢?掌握了C语言,可以说你就掌握了很多门语言,经过简单的学习,你就可以用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即使现在招聘程序员,考试都是考C语言,你想加入it行业,那么就一定要掌握好C语言。
那么究竟怎样学习C语言呢?
1:工欲善其事,必先利其器
这里介绍几个学习C语言必备的东东:
一个开发环境,例如turbo C2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,但是一旦安装好了,用起来很方便。
一本学习教程,现在C语言教材多如牛毛,但推荐大家使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,并且内容也很精到。
除此以外,现在有很多辅助学习的软件,毕竟现在是Window时代了,学习软件多如牛毛,不象我们当初学习,只有读书做题这么老套。我向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,还有题库测试环境,据说有好几千题,甚至还有一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了,非常适合初学者。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
2:葵花宝典
学习计算机语言最好的方法是什么?答曰:读程序。
没错,读程序是学习C语言入门最快,也是最好的方法。如同我,现在学习新的J#,C#等其他语言,不再是抱着书本逐行啃,而是学习它们的例程。当然,对于没有学过任何计算机语言的初学者,最好还是先阅读教程,学习完每一章,都要认真体会这一章的所有概念,然后不放过这一章中提到的所有例程,然后仔细研读程序,直到每一行都理解了,然后找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序,不要以为例程你已经读懂了,你就可以写出和它一样的程序,绝对不一定,不相信你就试一试吧,如果写不出来,也不要着急,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。
3:登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?举个例子:你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去挨个问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,没错恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。刚才这个问题类似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。所以掌握好数据结构和一些常用算法,是登峰造极的必然之路。最后给你推荐严尉敏的《数据结构》清华大学出版社,希望每一个想成为程序设计高手的人研读此书。
首先要做的是电脑的入门。用电脑娱乐当然是最好的方法了,比如可以玩游戏,看影碟或上网,这些基本的使用只要别人在旁边指点一下就行了,不需要专门借一本电脑书看着做。我们可以从中了解到Windows的一些基本操作,增加对电脑的感性认识。总之,电脑入门关键在于多实践。
我要说的是学电脑,如果你用电脑只是用来娱乐休闲,那就偏离了我的初衷。对于初学者,最好学的当然是文字排版了,不但要会打字,还要会排版,那么就可以做一些文字出版工作了,比如做杂志。要学的软件嘛,有微软的word2000,XP,金山的wps office,但前者用的较多。
如果你嫌上述工作太简单的话,图形编辑正适合你。此工作入门简单,但可以做得很深入,很专业。许多平面设计公司和广告公司就是靠这个吃饭的。可以学的软件也比较多,老牌的有Adobe的photoshop 6.0,illustrator 9.0,coral的coraldraw 10。还有macromedia的fireworks 4,freehand 10以及比较流行的flash 5。后三种软件都是软件新秀,和网页制作结合得不错,也比较“傻瓜”,功能却不弱,比较适合初学者。特别值得一提的是flash,现在网上的flash正热火朝天,用它可以做动画短片、网站甚至游戏。不过不花费许多精力的是做不出来的哦。
对网络世界是不是很感兴趣?你也可以自学作网页!不过这需要有以上几点的基础,即文字排版和美术编辑,然后再学点网络知识,就可以编织你的“梦幻网页”了,可用的软件首推macromedia的dreamweaver 4。如果你习惯word就可以用frontpage,不过它比前者逊色不少,习惯photoshop的可以选go live。
如果你认为以上这些都是小菜一碟,那你要学的就是电脑的高级应用了,比如编程,做动态网页,3ds max、autocad等高级应用或学网络管理。当然你的精力是有限的,能精通以上高级应用中的一种就不错了。
最后再谈谈学电脑需要的一些条件。自己有一台电脑当然是最好了,如果没有,也可以到机房上网。我校实验楼里有四个机房,其中网一、网二、网五的电脑较好,上面也有许多必要的软件,比较适合学电脑,当让如果你有联通或电信的账号,就可以通过设置代理服务器后上网,那里的收费标准是一课时一元钱,上网流量费另计。图书馆也有一个机房,机上没有什么软件,那儿是专门上网的,上机费是一小时一元,流量费另计。方便的上网处还有外面的网吧,速度也不错。再说上网账号吧,我校有电信和联通的两种,价格都是50元300M,30元100M。可以在社区(3号楼)或图书馆购买。
就介绍这些吧,要学好电脑首先需要自己的努力,比如在图书馆借些电脑书啦,多上机实践,希望大家都能学到一手实用的电脑技术。
学电脑的“四忌”与“四要”
学习电脑有“四忌”,一忌好高骛远,要打好基础。对于初学者首先应该掌握Windows的基本操作。学电脑的目的在于应用,因此,学会和掌握一种文字处理软件是必要的。二忌纸上谈兵,要勤于实践。计算机有很强的操作性。因此对初学者来讲一定要利用好各种时间进行上机训练,将理论转化为实际操作,这样才能真正地消化吸收。不少人认为自己缺乏英语基础,学电脑很困难。其实现在操作系统和很多软件都是汉化版,不懂外语一样能上计算机。三忌浅尝辄止,要精益求精。学习电脑知识除:了选择好自己适用的教材,还要阅读一些有关的杂志和报纸,拓宽自己的知识面。四忌见异思迁,要持之以恒。
学以致用最重要
谭浩强教授的《计算机普及教育中的一个误区》写得太好了,我也认为学习的目标不同,在学习内容和方法上就应该有所区别,学以致用最为重要。我是个主任医师,年纪一大把才开始学计算机,目的也仅仅应用。我就是从计算机原理和BASIC语言开始学习的。一开始兴趣蛮大,可是越学越费劲,学也没有学好,电脑的基本操作还是没有学会。我学电脑实在是事倍功半。一些老作家都学会了电脑,用电脑写了好几本书了,我还在理论的牛角尖里怎么也钻不出来。白费了不少力气。我开始怀疑自己是不是学计算机的料了。后来,我才明白,学电脑主要在于个人的需要和兴趣,不能照搬学校的那一套。恰恰是学校必修的某些脱离实际和落后的课程学生们最不喜欢,不少人考完就丢。第16期“读者信箱”里安徽读者胡越说:他所在的学校里,所用的还多是DOS平台下的WPS和UCDOS。实际上现在大家用的都是Windows,工作中大都使用Windows平台下的Office和WPS,我们的教育和实际应用的脱节之大可见一斑。“尽信书不如无书”,学习电脑还是应当自己的爱好和需要学起,学以致用。
弄清用电脑的目的和目标
计算机入门不难。我们希望把计算机当成工具,而不是自己当程序员。我们只想用计算机提高设计速度和准确性,提高工作效率,减轻手工劳动的负担,这才是我们使用计算机想要达到的目的和追求的目标。
找准自己的位置
学习时首先要找准自己的位置。要把计算机看成一种工具、一种技能,而不要被书本上那些难懂的知识以及抽象的理论概念吓倒。其次要把自己感兴趣的地方当成着眼点、突破口。其三,贵在动手这一点非常重要。最后,选择适合自己的辅助教材,坚决摒弃那些现在用不着的内容。
又一位电脑教育者的反思
我是多年从事计算机教学的大学教师,既教过计算机专业班,又教过非计算机专业班,我的感触与谭教授完全一样。在教学中深深体会到,对非计算机专业的学生那些抽象的知识,你解释得越多,学生越有一种不着边际的感觉,认为计算机越学越难。后来将这些问题不说或者很简单地介绍一下,学生倒觉得计算机不难学,学习劲头能一直保持很高,对计算机的掌握程度大为提高。可见,即使不去学计算机的基本结构和基本工作原理,大家也能学会用计
上一个:C语言的指针越学越糊涂,有形象生动的方法没?
下一个:C语言中printf()后的括号里面的怎么写,表示什么?