怎样学习C语言(献给迷茫的C爱好者)!

一 、怎样学习C语言

        不少人对学习C语言感到无从下手,常常问我同一个问题:究竟怎样学习C语言?我是一个教师,已经开发了不少年的程序,和不少刚刚起步的人同样,学习的第一个计算机语言就是C语言。程序员

        通过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,若是不懂C语言,你想写底层程序这几乎听起来很好笑,不懂C语言,你想写出优秀高效的程庌輌这简直就是天方夜谭。为何C语言如此重要呢?算法

    第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法自己,因此,若是你想在程序设计方面有所建树,就必须去学它。编程

    第二:C语言可以让你深刻系统底层,你知道的操做系统,哪个不是C语言写的?全部的windows,Unix,Linux,Mac,os/2,没有一个里外的,若是你不懂C语言,怎么可能深刻到这些操做系统当中去呢?更不要说你去写它们的内核程序了。windows

    第三:不少新型的语言都是衍生自C语言,C++,Java,C#,J#,perl...哪一个不是呢?掌握了C语言,能够说你就掌握了不少门语言,通过简单的学习,你就能够用这些新型的语言去开发了,这个再一次验证了C语言是程序设计的重要基础。还有啊,多说一点:即便如今招聘程序员,考试都是考C语言,你想加入it行业,那么就必定要掌握好C语言。数据结构

 

那么究竟怎样学习C语言呢?

一、工欲善其事,必先利其器数据结构和算法

        这里介绍几个学习C语言必备的东东:函数

        一个开发环境,例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。可是如今windows时代,用turbo C有感受不方面,编辑程序起来很吃力,而且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个东西虽然比较大块头,可是一旦安装好了,用起来很方便。学习

        一本学习教程,如今C语言教材多如牛毛,但推荐你们使用《C语言程序设计》谭浩强主编 第二版 清华大学出版社,此书编写的很适合初学者,而且内容也很精到。动画

        除此之外,如今有不少辅助学习的软件,毕竟如今是Window时代了,学习软件多如牛毛,不象咱们当初学习,只有读书作题这么老套。操作系统

二、葵花宝典

        学习计算机语言最好的方法是什么?答曰:读程序。

        没错,读程序是学习C语言入门最快,也是最好的方法。如同我,如今学习新的J#,C#等其余语言,再也不是抱着书本逐行啃,而是学习它们的例程。

        固然,对于没有学过任何计算机语言的初学者,最好仍是先阅读教程,学习完每一章,都要认真体会这一章的全部概念,而后不放过这一章中提到的全部例程,而后仔细研读程序,直到每一行都理解了,而后找几个编程题目,最好是和例程相似的或同样的,本身试图写出这段已经读懂的程序;

        千万不要觉得例程你已经读懂了,你就能够写出和它同样的程序,绝对不必定,不相信你就试一试吧,若是写不出来,也不要着急,回过头来再继续研究例程,想一想本身为何写不出来,而后再去写这段程序,反反复复,直到你手到擒来为止,祝贺你,你快入门了。

 

三、登峰造极

        写程序的最高境界其实就是掌握各类解决问题的手段(数据结构)和解决问题的方法(算法)。

        是否是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,何况硬件和硬件还不同,要给一个芯片写驱动程序,无非就是掌握这块芯片的各类寄存器及其组合,而后写值读值,仅此而已。

        这不过是熟悉一些io函数罢了。那么怎样才算精通程序设计呢?怎样才能精通程序设计呢?

        举个例子:你面前有10我的,找出一个叫“张三”的人,你该怎么办?

        第一种方法:直接对这10我的问:“谁叫张三”。

        第二种方法:你挨个去问“你是否是张三?”,直到问到的这我的就是张三。第三种方法:你去挨个问一我的“你认不认识张三,指给我看”。

        不要小看这个问题,你说固然会选第一种方法,没错恭喜你答对了,由于这个方法最快,效率最高,可是在程序设计中找到解决问题的最优方法和你用的手段倒是考验一个程序员程序设计水平的重要标志,并且是不容易达到的。

        刚才这个问题相似于数据结构和算法中的:Map数据结构,穷举查找和折半查找。因此掌握好数据结构和一些经常使用算法,是登峰造极的必然之路。

 

2、语言学习方法

        谈谈偶的学习方法,抛砖引玉!

        学习不论讲不讲方法,最终都能学会。可是别人1个月学会了,而你却100年才学会,这不就晚了么?:)因此说,学习仍是要讲究方法的。学习方法正确,事半功倍;学习方法不正确,事倍而功半。

        什么才是学习C语言的捷径?个人答案是看书。

        书中所写,是前人数十年经验所写,看十本书,就至关于汲取了前人数十年的功力,那么你的内功也会迅速上升1甲子。:)

        书固然要看好书,只有好书才养分丰富。假如你花了1天时间看了一本破书,而该书介绍的知识虽然对于你来讲是全新的知识,可是因为书中组织不当、或者深度不够,使你获取的养分不多,还不如本身研究一天来的快,这种书就不值当看了。学习C语言要看那些好书?我认为首先要把基础书给看扎实了~

        看书是学习的导向,书中能一一介绍清楚概念,但书却不能把应用的细节一一介绍给你,由于应用老是招数繁复,变化无穷。

        所以咱们要想熟悉招数,懂得书中所讲怎么使用,还要多读源码。Linus给别人解答问题的时候,常说Read the fucking source code;候捷也在其文中提到“源码以前,了无秘密。”这就是大师的箴言呀。源码就像是动画、就像是幻灯片,把书中的招式一一演练给你看。

        学习忌贪多、忌浮躁、忌急功近利、忌目中无人。把学习计划放的长一些,培养一个好的学习方法,一步一步慢慢走,终能成为高手。


 

若是你想快速掌握C/C++编程,小编推荐个人C语言/C++编程学习基地【点击进入】!


 

都是学编程小伙伴们,带你入个门仍是简简单单啦,一块儿学习,一块儿加油~

涉及:编程入门、游戏编程、windows编程、Linux编程、Qt、黑客等等......