下面是我在知乎一个关于零基础学习编程下的回答。
本文针对电脑只会开关机,有问题只会用360,却又希望能学习一点编程知识的普通网民朋友。
必须提前说明,本套教程学完,最快大概需要3个月。学完以后基本做不出什么软件,只能懂一些循环语句。
所以不适合希望尽快学成参加工作的朋友。
以下正文:
我来认真答题吧...
题主问的是怎么准备,而不是问这样做对不对,能不能成功。
我相信大家都成年了,自己有规划。
看到题主,我总是想起三年前的我,想入门而不得。门都找不到,没人给我建议。用什么书,怎么学,统统没头绪。
我大学日语专业。15年离开学校时,只是普普通通的网民,平时电脑有问题,只用360或者暴力关机的那种。毕业后利用业余时间学了一点C的皮毛,目前正在自学javaSE。
作为完全零基础,我必须先声明:自学难度很大,题主请做好打硬仗的准备。
我建议:
高考完,还是需要放松的,所以,我觉得利用暑假学个C,启蒙就够了。如果学得快,可以再考虑学其他的。我一个菜鸟肯定不敢说C简单,我的意思是借助C启蒙。两个月就学它吧。剩下的时间好好和同学玩,以后很难有段时光和心境了。祝福你。
一,学C语言,一瞥什么叫程序。
很多人推荐学python,马上能做出东西,而学C的过程从头到尾一直是黑窗口,太枯燥。对此我不反驳。但因为我本身不觉得学C枯燥,所以学得还挺开心。这点请题主注意。
我选择C的原因:
1,我推荐的视频是郝斌老师的《C语言自学教程》,这套视频教得很浅,但重点够突出,对零基础小白的启蒙做的非常好。与其说看这套视频学C语言,倒不如说初探编程世界,有个概念吧。视频最主要还是教循环分支语句,数组,指针,结构体等等最最基本的程序知识。但这些知识在以后的学习中都要用得到的。所以,这个阶段借助C语言做个启蒙吧。
2,C和Java的语法很像,java的创建和C是有渊源的,有点传承的意思。所以后期学习java,基础语法可以一带而过,直接学习面向对象和类的使用。(原谅我知识匮乏,我的意思就是说,学郝斌老师的C,是对以后学习java做铺垫。即使你以后不学java,学python或者其他语言,这套视频教的知识以后你都用得到。是程序最基本的知识)
二,初学者初期不推荐看书
真正面向初学者的好的书籍太少。而且面向初学者的书籍往往会很冗长...因为为了照顾初学者,要通过对比已知的事物引入,或者大量的类比。所以初期最好是看视频,顺便看看老师是怎么敲代码,调试,化内存分析语句的。知乎的人都是精英,他们早就忘了自己当初在老师的指导下怎么学成的。所以对初学者往往很没耐心。你经常会听到以下范例式回答:
看什么视频,直接看书啊,直接敲啊!
直接看Thinking in java!(这本书对初学者而言,相当于小学生看鲁迅的文章学中文...)
放弃吧,你学不起的(纯粹打击)
所以,私以为,你以后如果认定要自学,不要理会这些人的话。找跟自己学习路径相同的朋友,好过很牛逼但是没有借鉴作用的大神。
我建议看郝斌的视频,先过一遍。因为纯新手的话,没有人上课、没有人指导,几乎不可能独立地把书看懂。而且刚开始会觉得非常枯燥。这是我个人的真实感受。我一开始连VC++都不会装,什么叫编译,点哪里运行?整型是什么?和数学中的整数有区别吗?这些都是初学者的问题。很正常,跟着一步步慢慢来。老师还会带你敲代码。有什么比老师给你亲自示范一遍更直观?
看完视频后,需要看书的,可以买经典书籍系统性学习下。此时会好懂一下。
三,学习方法
1,郝斌C语言自学教程过一遍。某些视频看不懂的,多看几遍(三遍还看不懂,就做个标记,再往下看。因为学习某些知识需要了解后面的内容...)。多百度查一查,看看别人的博客总结。(windows自带的media播放器可以对MP4格式文件加速。播放界面右击——增强功能——播放速度设置)
2,一开始就安装好IDE工具(就是运行环境。比如你写文字要用word,写代码要用IDE工具。我推荐Dev C++),不要想着看完视频再安装,再去动手。
看视频一定要同时敲代码。不敲代码等于白学,而且理解不深刻。看懂了和会敲是两码事。
3,初期建议背诵简单的小算法,比如冒泡排序,怎么算闰年等。因为后期刷题时经常要用到。
4,看完视频,建议去刷一阵子题目,巩固下基础语法。推荐我们母校的在线判题系统:
按如下顺序刷:
special课程相关—— 高级语言练习题(新手入门)50~ ——5000~5047
problem练习题——1100~1199
共150道题目左右,刷完,你的编程启蒙就算OK了。
当然,有些人对启蒙的概念是:看完什么计算机导论视频,完成xxxx教程。每个人定义不同。但不管怎么样,相信我,学完这套视频,你的暑假起码不是浪费的。
【资料】
郝斌C语言自学教程:
链接:《C语言自学教程》密码:jgfm
Dev C++和VC++软件:
链接:Dev C++和VC++软件 密码:zgqn
在文理上刷题时,自己写的程序源码: