说在前面
为什么会写下这篇文章?本人也并不是什么大神,但是也自学了很久,从一个小白开始自学,期间走过很多弯路,掉过许多坑。一路跌跌撞撞下来,算是有了点收获,有了点感想,将它们记录下来,希望能帮助新入坑的小伙伴们少走些弯路。虽然说不上句句珠玑,但每句都是有感而发,真心实意。
思想准备
持续性的学习才能带来实质性的提高。长话短说,不要三分钟热度。
误区
常看见有人提问,我英语不好是不是不适合学呀?我数学不好是不是不适合学呀?老是有人在担心英语和数学这两样东西会成为你学习路上的最大障碍,可是你此时的犹豫不决才是你的最大障碍。
首先你要明白好的数学和英语能带给我们什么?
好的英语,能让你获取技术资讯更加快速,准确。最新的资料、资讯往往是国外的。
好的数学,能让你更快速的解决问题。
站在领域顶端的大神们,毫无疑问,拥有好的英语水平和数学水平。但是,我们只是想自学一下而已,只是入个门罢了,它们并不会让你无法学会C。而且,你是一个活人呀,你有手有脚有脑子,你觉得哪方面不强,学习补上不就行了?你不停发帖询问糟糕的英语和数学会不会影响你自学的时间,早足够你背会儿单词,解几道题了。
正式学之前该做的准备
编译环境的准备
常看见发帖求介绍软件以及软件安装出现问题的。然后一堆人推荐了一堆软件,然后让新手陷入选择困难。我想说,你是学习C语言的,不是学习编译器的,你应该专注于语言特性与编程思路,而不是工具的使用,主次应该分清。因此,新手需要的软件是易上手。在这不推荐VC6.0,因为它是在是太老了,现在的系统win7,win10什么的,安装它基本上都会有兼容性问题,现在连计算机二级都不用VC6.0了。也不推荐使用宇宙第一IDE-VS系列,因为它庞大、复杂。不可否认它的强大,但是还是之前那句话,初期应该注重语言本身,并且微软为自家的编译器制定了不少规则,新人常会踩坑,比如scanf_s()。所以本着简单易上手的原则,推荐使用DEV-C++。
自学资料的选择
资料大致分两类,视频与书籍。无论怎样,书籍是必不可少的,因为先不说你看的视频质量层次不齐,其次,视频是被动的摄入知识,而看书是主动学习,效率也不一样。当然,不同人对不同学习方式的效率也不一样,但是一本用来参考的书必然是不可缺少的。
再来看书的选择,先搞清你学C是用来做什么的。倘若只是考个二级,那么谭浩强的书可以一看,但是请网上找一份勘误,里面有不少错误。如果你的目标不止计算机二级,那么《C Primer Plus》值得你一读。
额外推荐
《C和指针》,它详细但又不失简练的介绍了C语言以及C标准困的方方面面,且花了大量的篇幅和图示来将指针的概念讲的很清楚。
《C程序设计语言》作者是Kernighan那本,即传说中的K&R。
应该掌握的技能
学会阅读
看到这个标题,大家可能会忍不住吐槽了,从小念到大的书,还不会阅读?
嗯,可能你还真的不会。经常会出现这种情况,书上某个例子出现个新东西,哇,没学过,好难,看不懂,再看一会,还是不懂,不想看了。或者试图在初期搞清楚每一个小细节。你看到了某些内容,就想了解它的全部,一头扎进涉及的每个主题,越陷越深。但是,一次性地学习所有程序设计原理、技术和语言功能是不可能的,你应该注重于当前主题下想给你呈现的知识,以及好的、有效的程序设计技巧,而不是一些长时间内都用不上的技术细节,因为,往往在下一章就会有你所需的答案,且一旦你学会编程,你完全可以自己到手册中查找技术细节。
学会提问
提问也是一项应该掌握的技能。总是有这样的提问者,一张图片,或者一大串格式奇葩的代码,再问上一句错哪了???
首先应该明确一点,没有人有义务回答问题,所以你提问的方式让人不爽了,可能就不会有人想回答了,或者谁也不知道你问的是什么,自然不会有人回答。
提问之前,你首先都得明确你的要求是什么,即你预期的效果是什么?再是,你为达到这个目的,做了什么努力?出现了什么问题?最后是截图截得清楚点,代码格式也弄弄好。
这样,那些懂的自然能有针对性的回答你。节约大家的时间。
搜索引擎的使用
可以这么说,网络是你最好的老师。如何从繁杂的网络中寻找到你想要的资料?通过搜索引擎。学会搜索编程资料是一个重要的技能。搜索引擎最强大的是谷歌,可惜需要科学上网,退而求其次你可以用用必应搜索和百度搜索。将你的问题提炼成关键字,输入搜索框搜索。当然这是最基础的方式,更多技巧请搜索“如何用好谷歌等搜索引擎”。
正式学习中该注意的几点
多动手
实践出真知。将不懂的程序编译执行一遍比你在那冥思苦想要有效的多,且有些问题你只有在实践中才能体会到。
多思考
知识不是眼睛过上一遍就算了,问题不是看上一遍就会了,你需要去思考,思考这个程序执行的过程,去思考哪一步除了差错,去思考这个问题的解题思路。只有不断思考,才能将书本的知识内化为自己的。
多总结
总结也是一种思考,在这我鼓励大家写写博客,将所学到的知识,碰见的问题,记录下来,你会发现受益匪浅。
多交流
不要闭门造车,现在是互联网世界,你不去外边看看永远不知道自己出于什么水平。和人交流,你会不自觉的吸收他们好的一面。一开始你是处于请教的一方,你能快速从请教对象上获取知识,当技术成长后,你处于被请教的一方,你在回答他人问题的过程中也是对自己掌握知识的梳理与巩固,“好面子”的你会不断学习以保持你的技术领先。
结语
OK,也就写上那么多吧。有心的自然会去学,会去思考,无缘的多说也无益。再说,只是现在的我的感想,经验、学识所限,这些东西还不算完善。就这样吧~
ps:转载请说明出处。
网友评论