这篇文章的目标,是给零基础的同学一个可以一步一步照着做的学习方案。我把编程学习分成了四个阶段,每个阶段都有对应的教材和实践项目推荐。
第一阶段这个位置的同学不知道编程具体是做什么、没有学过编程语言。或者学校开设过编程课程,奈何听了一个学期PPT啥也没学会。
教材推荐:《啊哈C语言》
C++是世界上最复杂的编程语言,它最初定位为C语言的升级版,之后又增加了大量语法特性,但这并不意味着我们要把它学得那么复杂。
大家都知道中文有几万个汉字,常用的字已经可以满足99%的表达需要。同样的,编程语言有很多语法,大量规则和细节,常用的也就只有那么一些。所以我们完全可以从最常用的语法特性开始学习,甚至很多已经参加工作的同学也就只掌握了这些内容。
《啊哈C语言》这本书的优点:
讲解简单有趣,是我看过最易懂的C语言入门教材,号称小学生坐在马桶上都能学会。
内容精炼,你必须学的内容都有,可以不用学的内容都没有。
各大电子书平台(多看、豆瓣阅读等)均有电子版销售,才十几块钱。
实践:完成《啊哈C语言》的学习后,不用急着看下一本书学习更多知识。这个时候应该做几个小项目做练习,确保自己真的理解并能运用书上介绍的知识。
刚开始你可能不知道怎么动手,可以参考我之前的一篇教程:年轻人的第一个C/C++游戏项目,字符版贪吃蛇
学习我是怎么分析的,看看书上的知识如何组织在一起变成一个小游戏。教程中提供了源码,你可以下载下来分析源码,并尝试动手修改内容,比如:
增加积分,每次吃到食物加1分。
增加等级,每10分升一级,等级越高,蛇的移动速度越快。
随机增加游戏中的障碍物,碰到障碍物游戏结束。
你可以发挥自己的想象力,给这个简单的小游戏增加各种各样的功能。
完成这个小游戏后,下一步可以尝试自己做一些小型的项目,比如打砖块、计算器等,这些都是非常简单适合刚入门的同学做的项目。
第二阶段有了第一步的基础,现在上手C++就简单多了。
教材推荐:C++Primer(没有plus)
很多人认为C++Primer不适合新手。好吧,如果你真的是完全0基础,学校没开设编程课,那么C++Primer对你来说可能有点难。但是经过前面的学习,你已经掌握了一些基础的编程知识,因此我认为你现在有能力读这本书。
难点:
书太厚。
内容太细致不够简练。
C++Primer囊括了几乎全部的C++语法。前面我们提到过绝大部分内容在初学阶段是用不到的,甚至工作后都用不到。因此这一阶段,只需要看第一部分多页,学习基础语法就够了。所以书太厚不是问题。
C++Primer属于比较详细的教程,不管常用不常用的语法全都非常详细地解释清楚了。比如变量的16种类型,变量初始化的4种方法,实际上我们写代码可能只用得上4种类型和1种变量初始化的方法。所以C++Primer更适合的阅读方式是快速浏览一遍,不用把里面所有细节都记下来,你记不住,也没必要。
你只需要大概了解一下C++有些什么样的语法,然后在看别人代码或自己写代码的时候有个印象就可以了,真的遇到了,打开书查一下,除非你要参加考试,否则不用把各种语法细节背下来。
实践:学习完成后,同样不用急着学习更多内容。先把之前做的项目翻出来,看看自己曾经写过的代码,用新学到的知识重新写一遍,这是一个温故知新的过程,这个过程中你可以领悟到很多新的东西。
之后可以再做一些其他更复杂的项目作为练习,比如:打砖块、俄罗斯方块、连连看等更为复杂的游戏,或者图书管理系统、学生选课系统等学校比较喜欢的课程设计大作业。
如果你选择做小游戏练手,可以用EasyX这个非常简单的图形库来处理游戏的画面。文末的免费体验课中介绍了具体的用法,一定可以帮到你。
第三阶段接下来可以开始学习C++Primer第二部分C++标准库,只有多页内容。
实践:完成学习后,同样的,再把之前做过的项目用新学到的知识重新做一遍,不厌其烦。
第四阶段现在放下C++Primer学习一门必学的课程:数据结构和算法,这是一门表面看起来没什么用,但能内在提升程序员开发功力的一门课,从著名公式“程序=数据结构+算法”中就能看出它的重要性。
推荐书籍:入门:《大话数据结构》进阶:《数据结构与算法分析》
和学习语法一样,学数据结构和算法最好也是用一本简单的书入门,《大话数据结构》就是这么一本非常简单易懂的教材,与《啊哈C语言》有异曲同工之妙。
实践:按照书上的描述,把所有数据结构和算法都写一遍,不要抄书上的代码,要理解书上的内容后自己完成。
第五阶段恭喜,如果你能坚持学到这个阶段,就已经完成了入门的学习,有能力独立开发小型项目,你可以去一些企业做初级程序员了。但如果你不只是为了混口饭吃,而是想做一个优秀的程序员,想在这个行业有所建树,记住一句话:学无止境,你要学的东西还有很多。
预览时标签不可点收录于话题#个上一篇下一篇