一般理工科学生上大学都会学习一门程序设计语言C/C++语言。我曾经无数次的给学生说过,大学里每个学期按5门课算,8个学期下来40门课,其实只要学会一门C语言,找工作不成问题,甚至找个高薪工作都不成问题。可是现实却非常残酷,我们很多学生大学四年下来对编程都不入门,学了再多课程又怎样呢?我面试求职者的时候,经常问刚毕业的大学生,大学学了哪些课程,很多人只能说出课程的名字,连课程里讲什么都说不上来。因为大部分人都在应付考试,平时不学习,考试的时候突击一下,还以此标榜自己有很强的自学能力。真是很滑稽啊,要不是老师考试前画重点,而且范围很明确,估计再怎么自学也白搭,这些都是学习的误区啊。有点扯远了,还是回来说说如何学习编程。
程序设计说容易很容易,说难也很难,说难和说容易都有道理,只是看问题的角度不同。程序设计容易的地方比如:语法、库函数,这些东西很容易掌握。但是算法和编程的思路,以及调试程序,写出高质量的代码,这些就不是很容易的事情了。下面逐一来剖析一下:
编程语言的语法。很多初学者经常犯的一个错误,就是尽可能的掌握所有语法,例如:C语言(C++和C#类似)都有表达式中运算符的优先级问题,很多考试的书上尤其是二级考试,经常出一些变态的不带括号的复杂表达式,让学生计算表达式运算的结果,这些都与实际编程能力的培养毫无关系。这都是缺乏有项目经验老师的教学方式,我经常告诉学生的就是二八原理,也就是20%的语法能写出80%的程序,剩下80%的语法用的非常少,只在特殊情况下使用。用到了再查都来得及。再举一个例子:下面我(克念)和一个学生(小婵@岳阳)的聊天记录,谈到的一个C语言字符转义的语法,这个东西不用记嘛,会实验就行了,这里的实验其实就是学会调试或测试程序。
库函数。有一定工作经验的程序员都知道,我们大部分情况下写的程序代码只是起胶水和粘合剂的作用,我们的程序只不过是调用一些现成的库函数。因此,对各种库函数的掌握就尤为重要了,有了库函数可以使程序开发的效率大大提升,而且程序质量容易保障。问题又来了,像.net framework类库中有成千上万个类,难道我们都要学一遍,记一遍吗?我当年还真干过类似的事情,我上大学的时候,自己学VC++ 6.0,没有老师指导,拿着一本厚厚的MFC 2.0类库参考指南一页一页的看,现在偶尔看到书上的圈圈点点,真是为当年的学习精神和走的弯路唏嘘不已。现在我经常给学生讲学习类库的办法就是把英语学习好,因为类的名称都是英文单词,剩下的就是学会使用MSDN,会搜索MSDN,找到类的描述和资料后,能快速阅读和掌握一个类的使用要领。人脑不是用来记忆类库的,这不是人脑的长处,人的脑子应该用来解决问题,应该用来想办法,所以不要把电脑应该干的事情交给人脑干。
编程思路、方法以及调试程序这样的问题才是程序设计的关键技术,往往需要教师有很多开发经验,当然这里也有方法论,这些方法论需要在软件工程实践中总结和提炼,还要能很好的表达给学生,这方面的资料教科书上讲的都很少。这些话题不是一句话、两句话就能说清楚的,以后再抽时间整理。现在网上有很多编程教学的视频资料,甚至有很多是免费的,其实大家学习的效果并不是很好,看视频学习并不能解决全部问题,关键是要找一个好的老师,看视频的同时,有问题可以向老师请教,参与老师在线定期的答疑和指导,这样能起到事半功倍的效果,在学习上少走很多弯路。(完)
注意:1. QQ教学群:3018621632. C语言程序设计课程地址: 3. 51CTO课程中心: