C语言函数教学方法探讨

龙源期刊网 http://www.qikan.com.cn C 语言函数教学方法探讨 作者:许亮 何昭青 来源:《电脑知识与技术》2013 年第 22 期 摘要:函数是程序的基本组成单位,是 C 语言程序设计课程的核心部分。结合多年的教学 实践,探讨了函数教学的一些行之有效的教学方法,供同行参考。 关键词:C 语言;程序设计;函数;教学方法 中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)22-5108-04 C 语言一般作为普通高校各理工专业的第一门程序设计语言[1],学好 C 语言对学生学习 后续计算机课程至关重要。C 语言的基本单位是函数,函数是 C 语言教学的一个重点。因为 C 语言中的函数跟现在所有流行的语言中函数的用法都不太一样,以函数为切入点,可以比较直 观的辨别出来面向过程和面向对象的一个区别,有利于学生理解到底什么叫面向过程的语言, 什么叫面向对象。所以 C 语言的函数十分重要。 1 教学方法 函数的教学与流程控制不一样,流程控制中 if、while、for 知识点是由浅入深,一步一步 来的。而函数的特点是,一个程序里会涉及到函数的很多知识点,所以只要把一个程序搞清楚 了,那其他程序也就全懂了。针对函数的这个特点,我们的授课思路是首先用通俗易懂的例子 来引入问题,使学生理解为什么需要函数;教师实际演示编写程序,调试执行程序让学生理解 C 函数的执行过程;通过对程序有意设置语法错误和空白内容的方法,使学生了解如何定义函 数、调用函数,帮助学生掌握函数语法知识;设计案例,由浅入深,将知识全面化,系统化; 布置作业,帮助学生加深对知识点的理解,激发学生的创新思维。 1)用通俗易理解的例子来引入问题 讲授任何一个知识,首先讲为什么需要这个知识[2],只有这样学生才会自然接受,这一 点很重要。引例的选取最好难易适中,能充分调动学生的积极性。 教师提醒学生,在这个程序中,有三段代码的操作是重复性的。那么如果这个程序有一万 个地方要输出两个数的最大值,那就意味着这段代码要重复一万次。这样写肯定不合适。至此 引入函数加深学生对函数的感性认识。引导学生思考为什么需要函数,原因是函数可以避免重 复性操作。 通过调试执行,学生可清楚了解到函数调用与返回的实现过程。程序从主函数 main 进 入,当遇到函数调用时,暂停执行主调函数,然后转去执行被调函数。首先为被调函数分配调 用过程中所需的数据区,包括调用后的返回地址,函数的形参以及各种局部变量,然后把实参 龙源期刊网 http://www.qikan.com.cn 的值复制到形参中去,接着把控制权转移给被调函数,完成调用后,如果函数有返回值,先保 存计算结果,然后释放被调函数的数据区,返回主调函数暂停的位置(调用前保存了返回地 址)继续执行。 仍然采用调试执行本程序,加深学生对函数调用过程的理解。将函数调用过程讲深讲透非 常重要,这是科学性的要求。理解了函数的调用过程,就会理解什么是递归,什么是变量的作 用域与变量的生命期。 3) 设置错误寻求正确答案的教学方法和填空式的教学方法 传统的教学方法中,一般集中式的讲述语法知识,非常枯燥,学生学了也不会编程不会应 用。在课堂教学中,可以有意设置语法错误,根据编译所提示的错误,引导学生思考并修正错 误;或者是有意识地将一些内容空出,要求学生先读懂再填空,然后运行程序,调试程序,直 到得到正确的运行结果。这样可激发学生的探索欲望,加深对语法的理解,也提高了学生的学 习能力。 4)案例——任务驱动的教学方法 至此,学生已经掌握了函数的大部分知识点,但是在以往的教学中,通常面临一个问题, 当学生自己写程序的时候,他们通常将语句一并写在 main 里,而不选择用函数实现。究其原 因,还是学生对如何定义函数,以及如何在主调函数中调用自定义函数不够熟练,没有体会到 函数的运用给编程带来的极大的便利。针对这个问题,我设计了两个案例要求学生完成。案例 的选择要难度要由浅入深,循序渐进,每个案例欲教授的内容要目的明确,重点突出。 通过这个库函数调用的案例,学生学会了如何自定义函数,加深了对函数库、库函数、连 接程序、头文件的相关概念的理解,明白了函数是为解决大量同类型的问题而设计的,可提高 代码的可重用性,将来无论哪一个程序需要这个功能都可以使用它,就好比我们 printf、 scanf、pow 一样,也学会了在具体的应用中该如何自定义函数,如何确定函数的返回值类型和 函数的形参列表。 5)精讲多练的教学方法 C 程序设计内容多,课时少,课堂上教师要做的不是拼命多讲,可以通过作业让学生去自 学。也不是要拼命讲明白,因为程序只有学生自己想明白了才能为他所用。不能过于依赖教 材,要引导学生将所学知识联系起来,现场演示设计程序的思维过程,讲清知识的深层原理。 布置作业,作为课堂内容的补充和深化。学生通过查资料动手实验,根据完成作业的情况,教 师可以发现问题所在,在上机实践课中重点讲解。 通过本案例,使学生理解并掌握函数的几个重要概念、实现方法和编程技巧。 函数教学案例五:通过调用 swap 函数,交换主函数中变量 a,b 的值。 龙源期刊网 http://www.qikan.com.cn 这个作业的要点是 swap 函数中的形参在调用完毕空间就释放了,所以,虽然两个形参变 量的值交换了,但是 a,b 的值却没变。 大部分学生接着就想,能否返回两个值带回主函数,编程实践发现无法做到,因为被调函 数只能返回一个值。 那怎么办呢?这时候老师可以告诉学生,在后续课程指针章节可以找到答案。这样给学生 留下思考余地,启发学生去思考,有利于提高学生的学习能力,培养学生的创新思维[2]。 2 结束语 C 语言函数的教学很重要,使学生理解函数并且学会应用函数是教学的关键。在后续讲解 数组、指针、结构、文件时,都会与函数的知识综合起来,例如,将数组名作为函数的参数, 指针作为函数的参数,结构指针作为函数的参数,文件操作函数等

相关文档

C语言函数教学方法研究
C语言中递归函数的教学方法探讨
基于C语言的递归函数教学方法探讨
C语言函数参数传递过程教学方法研究
C语言教学方法探讨
C语言有效教学方法探讨
电脑版