创新形势下的应用型高校C语言函数教学方法研究

2017-05-15 03:10周艳玲王晓峰
合肥学院学报(综合版) 2017年2期
关键词:C语言函数功能

周艳玲,王晓峰

(合肥学院 计算机科学与技术系,合肥 230601)

创新形势下的应用型高校C语言函数教学方法研究

周艳玲,王晓峰

(合肥学院 计算机科学与技术系,合肥 230601)

函数贯穿于C语言教学的始终,针对当前应用型高校大一学生在学习函数中存在的问题,采用四步教学法对程序设计语言中的函数进行教学。它不仅培养学生用知识解决实际问题的能力,同时,引导和启发学生去发现问题、分析问题和解决问题,进一步培养学生的创新思维和创新能力,顺应了时代发展的要求。

形象化;启发式;突出性;函数

0 引 言

C语言是一门面向过程的编程语言,在实际的操作中,函数在C语言程序中占据非常重要的地位[1]。在C语言的教学中发现,学生缺乏分解功能模块的能力。实际上,在写第一个C语言程序时,就用到了输入输出函数,函数是时时刻刻存在的。

任何理论知识都要用于实践,用以解决生活中的实际问题。C语言是一种面向过程的模块化的编程语言,它不仅提供了大量的标准库函数实现常规的通用功能,而且,它还允许用户根据自己实际的需要编写自定义函数实现特定的功能,函数使得程序的可读性提高。[2]C语言的这种模块化思想可以将复杂的大任务分解为若干个“相对独立”的子任务,这些子任务称为“模块化”函数,通过函数之间的调用解决实际中的复杂问题[3]。

在C语言教学中发现,学生不喜欢也不习惯用自定义函数编程,对于常规的通用函数,学生用起来还是得心应手的,但是如果让学生自己去定义一个特定功能的函数,就存在很大的问题。首先,学生在股子里就不喜欢用自定义函数去实现具体的功能;其次,学生对自定义函数不够了解;最后,学生在刚开始学习程序设计语言时就一直是用主函数进行编程,再让学生换一种思维和方法去编程,学生自然就感觉到困难。因此,对于大一新生,到底该怎样去进行C语言函数教学[4]。

函数应该贯穿于C语言教学的始终,从第一节C语言课就接触到了函数,这个函数为系统常用函数,即格式化输入和输出函数。虽然,学生并不知道函数具体是怎样实现的,但是,学生很快就会去用函数。那么教师应该怎样在C语言的教学过程中去将函数自始至终引入学生的学习过程中。

1 函数四步教学法

1.1 形象化的引导

在用到系统函数时,首先要将包括该函数的头文件包含到程序文件的首部。在讲解这部分内容时,可以将系统函数形象化比喻成工具,头文件比喻成工具箱,这样学生理解起来就比较容易,并且,让学生知道要用到什么工具,必须把包括该工具的工具箱也一起拿过来。这样,很自然的学生就能记住工具箱和工具了。工具的作用是处理问题的,那么,工具所处理的对象就是函数的参数。例如:scanf()这个工具函数实现的功能是格式化的输入,接收键盘输入的任何数字和字符,然后存储到内存中。scanf()工具处理的对象就是键盘的输入的信息。

1.2 习惯性的模仿

学生了解了一些常用系统函数的用法,那么,教师在授课的过程中,可以为学生编写一些简单的函数,让学生明白教师所编写函数的具体功能,在不知道怎么具体实现函数的情况下,去使用函数。实际上,使用函数的过程就是调用函数,这样学生习惯性的就学会了怎样去调用函数。例如,教师可以写一个求两个数和的函数,函数名为add(),教师可以告诉学生add()工具处理的对象是两个整数,处理的结果是两个整数的和,这样学生自然而然在主程序中调用add()函数。

1.3 启发式的教学

随着学生知识面的扩大,在学生获知定义变量、程序的控制结构、程序的各种表达式的基础上就可以启发学生试图去编写自己的功能函数。教师可以将主程序和主程序+功能函数两个程序代码写出,让学生进行比较,启发学生去发现两种程序的异同点。让学生从本质上去理解自定义函数的内涵。下面的图表是两个程序的代码,其中程序1为将100以内的所有整数分行输出,每行5个数(见图1)。程序2为已知一个圆的半径,求圆的面积(见图2)。主函数实现和主函数+功能函数实现的代码比较表图如下(见图1,3):

图1 FH1代码比较表图

图2 Area代码比较表图

图3 FH2代码比较表图

1.4 突出性的总结

在图1和图3中,将功能函数FH1与功能函数FH2进行对比,画出示例图4。

图4 FH1-FH2示例图

功能函数FH1和功能函数FH2比较可知:功能函数FH1的输入只有一个,因此在定义FH1函数时,函数的参数只有一个;功能函数FH2的输入有两个,因此在定义FH2函数时,函数的参数有两个,参数之间用逗号分隔。同样道理,当功能函数的输入为N个时,函数的参数就有N个。

在图1和图2中,将功能函数FH1与功能函数Area进行对比,画出示例图5。

图5 FH1-Area示例图

功能函数FH1和功能函数Area比较可知:函数的类型是由功能函数的输出决定的,当功能函数的输出为一个过程时,函数的类型为void,当功能函数的输出为一个具体的值时,那么函数的类型为输出值的类型,函数Area的类型为double类型。当函数有具体的类型时,函数定义的过程中需要有return语句将结果返回到主函数中,在主函数中函数调用是一个变量赋值的操作,其目的是将返回的结果接受存储。

综上所述,可以总结出下面五条定义函数的规则:

(1)先给函数起名字;

(2)确定函数的输入的个数和每个输入的类型,确定函数参数的个数和每个参数的类型,多个参数之间用逗号分隔;

(3)函数的类型根据输出的类型来确定,如果输出的结果为一个确定的值,函数的类型与输出值的类型是一致的,如果输出的结果不是一个确定的值,而是一个过程,那么,函数的类型就为void;

(4)函数体{}中的代码,根据函数的功能来编写,在编写函数时,函数的参数可以作为已知量来用;

(5)如果函数的类型是一个具体的类型,那么函数的最后一条语句,一定是return语句,用来将计算的结果返回给调用它的函数。

因此,在进行功能函数编写的过程中,只要能通过主函数实现的功能,其实都能通过功能函数实现。教师在教学的过程中,应该通过分析举例,让学生明白函数的定义的真正内涵,让学生顺理成章的接受功能函数。在以后的编程中尽量做到主函数实现函数调用的功能,自定义函数实现各自具体的功能。

2 函数教学中的其他问题

函数的教学涉及程序设计语言教学的整个过程。在程序设计语言的教学中,讲解每一部分的知识点,都应该在每一章节的案例分析中,用函数去实现主要的功能代码,同时,函数的参数传递是函数中的重点,参数传递包括按值传递和按引用传递两种。一般情况下,当传递的实参是单个值并且不改变原值的情况下,函数都是按值传递的;当传递的实参是一个数组或者是单个值并且要改变原值的情况下,函数都是按引用或按地址传递的。

函数体现的是C语言的结构性,指针体现的是C语言的灵活性,函数和指针的结合使C语言更具有魅力。但是指针函数和函数指针是教学过程中极容易让学生混淆的两个问题。教师在教授这两个知识点的时候,要将这两个知识点的区别和特点讲解清楚,并且要借助一些案例让学生更深入的理解。

函数的参数类型很多,包括一般变量、数组元素、整个数组、指针等。不管是什么类型的参数,实参和形参的类型必须一致。学生在学习的过程中记住这一条会避免很多不必要的错误出现。

3 结 论

C语言教学最终是函数教学,函数的设计和编码在C语言程序设计中具有非常重要的地位。在教学过程中,采用四步教学法对大一新生的程序设计语言进行教学,重点体现在函数教学过程中,四步函数教学法的教学效果明显好于以前传统的循规蹈矩的教学方式。同学们能够通过教师的引导和启发去发现问题、分析问题和解决问题,从而从本质上去理解知识,然后快速地用C语言的函数去解决实际的问题。四步教学法能够培养学生的创新思维和创新能力,顺应了时代对创新人才培养的潮流。

[1] Copper James M, Goldman Susan. Classroom Teaching Skills[M]. Boston:Houghton Mifflin Company, 2002:196- 212.

[2] Abdullah- Al- Wadud M. A Procedural Way of Teaching Procedural Programming Languang [J].International Journal of Education and Learning Systems,2016,16(1) :114- 117.

[3] Papaspyrou Nikolaos S, Stathis Zachos. Teaching Programming through Problem Solving: The Role of the Programming Language[C]//Proceedings of the 2013 Federated Conference on Computer Science and Information Systems, 2013:1533- 1536.

[4] Isong Bassey. A Methodology for Teaching Computer Programming: first year students’ perspective [J].J Modern Education and Computer Science, 2014,68(2): 15- 21.

[责任编辑:张永军]

Research on C- Language Function Teaching Method in Applied Colleges under the Innovation Situation

ZHOU Yan- ling, WANG Xiao- feng

(Department of Computer Science and Technology, Hefei University, Hefei 230601,China )

Function should be along with C- Language teaching from beginning to end. In view of the problems existing in the freshman about learning function in the applied colleges, four- step teaching methods are applied to teaching function in C- language program design. It has made the students’ ability to use knowledge to solve practical problems, at the same time, it has guided and inspired the students to find the problems, analyze the problems and solve the problem. In addition, it can cultivate students’innovative thinking and innovative ability. It complies with the requirement of era development.

visualization; heuristic;prominent; function

2016-10-20

2017-02-13

安徽省教学团队-计算机科学与技术专业教学团队(2016jxtd101)、计算机科学与技术专业的模块化建设(2016mkjy04)、安徽省教育厅自然科学基金项目(KJ2016A609)资助。

周艳玲(1979— )女,山东烟台人,合肥学院计算机科学与技术系讲师、博士,研究方向:多播技术、网络编码等。

TP312;G642

A

2096-2371(2017)02-0134-03

猜你喜欢
C语言函数功能
也谈诗的“功能”
二次函数
第3讲 “函数”复习精讲
二次函数
函数备考精讲
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程
关于非首都功能疏解的几点思考
高职高专院校C语言程序设计教学改革探索