APP下载

《C程序设计》体现以人为本的教育理念

2009-06-18张亚平

计算机教育 2009年12期
关键词:指针以人为本函数

张亚平

摘要:本文以《C程序设计》在说明赋值符号、函数和指针三个概念为例,分析《C程序设计》这本教材在编写过程中如何体现以人为本的教育理念。

关键词:以人为本;赋值符号;函数;指针

中图分类号:G642文献标识码:B

全国出版的C语言教材超过1000种,唯有谭浩强的《C程序设计》一枝独秀,自1991年出版以来,销量始终独占熬头,成为一本有重要影响的科技著作,受到社会各界的广泛好评,这种情况不仅在国内是独一无二,而且在世界上也是十分罕见的。究其原因,谭老编写的这本《C程序设计》以及其他计算机书籍都很好地体现了以人为本的教育理念,非常符合学生或读者的认知规律。

“以人为本”的教育理念是时代发展的产物,它主张把人放在第一位,以人作为教育教学的出发点。“以人为本”作为一种价值取向,其根本所在就是以人为尊,以人为重,以人为先,那么,在具体的教育实践中,就是以学生或读者为重,用学生或读者能接受的方式方法和认知心理,把要传授的知识、道理诠释出来,使其能灵活运用所学知识和技能。

学习任何一门新语言,读者必须理解和认识构成每一门语言当中的概念和语法规则,C语言同样有其关键的概念和语法规则,如果对这些关键的概念不能理解透彻,就无法真正地弄懂C语言,更别说用C语言编写的程序。在这些概念的阐述上,谭老都认真地分析读者的心理,以读者为先,以读者为重,在编写这部教材的体系结构上,按照初学者的认识规律作了细致的安排,读者能循序渐进地逐步深入,同时将难点分散,让初学者在学习每一章时都不会感到太困难。下面我就举若干个例子谈谈《C程序设计》是如何体现“以人为本”的教育理念。

1对“=”赋值符号的说明

“=”在传统数学上就是一个等号的概念,如果学生一直停留在“=”与等号混为一谈的认识上,就会妨碍他们对计算机程序的阅读,像a=a+1这样的赋值运算就理解不了。谭老在这一节里先用图例介绍计算机存储单元的标志方式:地址和名字,指出在计算机里,地址就像人的身份证号一样具有唯一性,唯一的标识了每一个存储单元,而其名字实际如同人的名字,方便称呼和引用,在计算机里它就是变量名,它既表示某个存储空间,又表示该存储空间所存储的数据;然后对“赋值”进行了明确的定义,即向变量所代表的存储单元传送数据的操作就是赋值,在C语言中,就用“=”表示,与传统数学中的等号完全不同,已经具有了全新的含义,而实际等号概念在C语言中用“= =”来表示。最后用若干个实例进行解释性说明,让读者对“=”有一个感性认识;接着在“说明”部分对赋值符号和赋值运算进行详细地总结,又从理性上让读者完整地认识“=”。这种先感性认识后理性升华的阐述方式就很符合人的认知过程,蕴涵了知人,以人为本的教育理念。学生一旦对变量和“=”真正理解后,C程序的编写也就开始入门了。每当有对“=”和“= =”混淆不清的学生,我就先按照谭老的思路对其讲解一遍,然后让其反复阅读这一节,这样一来学生们没有弄不懂的。

2对“函数”的说明

初学C的学生希望完整了解C程序是什么样子的心情迫切,鉴于学生的这种心理,谭老在《C程序设计》这本书的开始就展示了一个完整的C程序是什么,它就是由函数组成的,函数又是什么?完成某个相对独立功能的一段程序代码,它有一个名字,可供别的函数来调用。C程序的入口就是主函数main( ),C程序总是从main函数开始的。在这里学生还只是对函数有一个大致的印象。这个时候不可能铺开来讲,因为学生的知识背景还不够,但又不能不点一下,因为全书的例子都是调试通过的C语言小程序,要让学生理解。在介绍了数据描述及其基本操作和语句流程的三种控制结构后,谭老才专门详尽剖析何为函数。函数的英文为“Function”,实际就是“功能”的意思,与数学中“函数”的概念是不同的,这种描述即使对非计算机专业的学生也很容易理解。然后,再以一个教务管理软件为例讲述对函数的调用,就像饭店点菜一样,每道菜的味道色香都是不一样的,同样地,每个函数的功能也是不一样的,这样去展示函数就跟用户使用软件一样,界面很友好。这样完全站在读者和用户的角度去执笔,去完成程序结构和程序设计的讲解,自然让读者读来感觉浅显易懂了,这样才是真正的“深入浅出”。

3对“指针”的说明

谭老在这节首行写到:“指针是C语言中一个重要的概念,也是比较难掌握的一个概念。正确而熟练地掌握了指针的概念和指针的使用就能设计出复杂的数据结构和高效的程序。”这实际在告诉读者,指针这一章的重要性。

存储单元有两种引用方式,变量名和地址。通过变量名或地址访问存储空间的方式称为直接访问,有了直接访问,自然就有了间接访问,从而为引出新的变量作了铺垫。这样对比着讲非常符合人的正常思路,再加上形象的图例很好地表示了间接访问存储空间的逻辑关系,让读者一下就吃透指针变量就是一种特殊的变量,只能存放变量的地址而不能用来存放其他类型的数据。通过指针得到一个变量的地址,再由该地址找到最终要访问的这个变量。这不就是间接访问嘛!

既然指针是变量,自然有其类型,它的类型就是它所指向的实体的类型。而实体的类型不仅有基本类型:整型、实型、字符型等C语言中预定义的类型,而且有一维数组、二维数组、结构、共用体等由基本类型组成的构造类型,更有函数、指针本身。这诸多的不同自然产生不同的视角,谭老接着由简到繁、由浅至深逐渐铺开来讲述指针的方方面面。读者跟着谭老,在谭老的徐徐指引下,在重峦叠嶂中,在云雾环绕间渐渐地看清指针的各个层面,加深了对指针的认识。最后谭老的指针数据小结似乎是读者在这趟旅行中的小憩,使他们对这趟旅行驻足留连,回味再三,再一次加强读者对指针的全面认识。读者对C语言的认识在提高,读者的编程能力也在提高。

像这样从多角度、运用多种方法贴心读者或学生的考虑,全书俯拾皆是。在《怎样走向成功之路》一书中谭老说道:“要与读者将心比心,运用逆向思维的方法,站在读者的立场上来思考问题,充分设想读者在学习中会有什么困难,用读者易于理解的方式和语言去讲清复杂的概念”,正是这种站在读者的立场上,以读者为重,以读者为先,以读者为上帝的以人为本的教育理念,成就了谭老,谭老成为了我国计算机普及和高校计算机基础教育开拓者之一,开创了计算机书籍贴近大众的新风,把千百万群众带入计算机的大门,英国剑桥国际传记中心将他列入“世界名人录”,是“20世纪最有影响的IT人物”10个人之一。他在平凡的工作中做出了不平凡的业绩。

参考文献:

[1] 谭浩强. C程序设计[M]. 北京:清华大学出版社,1991.

[2] 谭浩强. C程序设计[M]. 2版. 北京:清华大学出版社,1999.

[3] 谭浩强. C程序设计[M]. 3版. 北京:清华大学出版社,2005.

猜你喜欢

指针以人为本函数
郊游
为什么表的指针都按照顺时针方向转动
语文教学应“以人为本”
以人为本理念在幼儿园管理中的应用研究
提升教育智慧,打造高效课堂
关于函数的一些补充知识
高中数学中二次函数应用举隅オ
无独有偶 曲径通幽
浅析C语言指针