C语言研究性学习的路线(9)前言与后记

 

C语言的学习可分为四个阶段。

第一阶段 理解C语言与计算机的关系

理解计算机如何计算。

计算机由五大部件组成,C语言如何使用这五大组成部件?

计算机采用二进制,那么正负号,小数点、字符等如何在计算机中存储?采用不同的编码方式,计算机中的运算与数学上的运算有何异同?

在理解上述问题的基础上,能根据优先级、结合性、数据类型和序列点熟练地对C语言表达式求值,也就是能模拟计算机进行计算。

第二阶段 掌握编程方法

计算机通过连续地对表达式求值(计算)解决实际问题。

掌握逻辑运算之后,理解计算机解决问题的方法,即有条件地重复。编程的关键在于找到利用“重复”解决问题的方法。算一次加法,再算一次加法,又算一次加法,“重复加”,如1+2+3+…+100。大僧人数为1时满足条件吗?大僧人数为2时满足条件吗?大僧人数为3时满足条件吗?“重复试”,如百僧百馍问题。

遇到问题一定要先用自己的超级计算机(大脑)分析问题找出重复,再用循环把重复表达出现,这就是编程。

第三阶段 用函数组织代码

当程序由多个函数组成时,可以借助对函数封闭性的研究来理解这一阶段遇到的问题。

递归函数是个奇迹,自然而优雅地模拟了递归算法。递归算法是更高级的重复。

第四阶段 掌握指针的用法

指针提供了使用内存中相关存储单元的另一种途径。

由于只需某类型的地址,就可使用相关存储单元,指针变量可以提高函数的执行效率。由于void型指针变量的特点,程序中的某些函数可以超越类型的限制而具有了某种通用性。

理解了指针的作用,掌握指针也并非什么难事。

九、后记

后记与C语言的内容无关,关于“沸沸扬扬”的教育。

一个人的素质,不在于他有多少知识,而在于他的知识是如何获得的。

素质教育的本质就是如何以“研究性”的教学方式让学生“发现”知识。

现在的教育过于注重学生知道多少知识,而忽视了“知识究竟该以什么样的方式让学生获得”这个关键性的问题,只注重结果不注重过程。幼儿园教学小学化,大学课堂“一言堂”,无不让人喟然。

有研究表明,我们的中学教育质量高于西方的。这种结论大多是片面的。类似于“我们学生的英语水平高于西方学生的汉语水平”,只是“真实的谎言”。

你可能感兴趣的:(C语言研究性学习的路线)