高校C语言函数教学新思路

(整期优先)网络出版时间:2009-09-19
/ 2

高校C语言函数教学新思路

李旭芳

关键字:C语言;函数;教学方法

ANewTeaching-methodofCFunctionintheUniversitiesLiXufang

DepartmentofManagementinShanghaiUniversityofEngineeringScience,201620

ABSTRACT:FortheusualquestionsinFunctionteachingofC-language,newideasareputforward.FunctionteachingisdevelopedwithEXCEL,HTML,classificationoffunctionsandtypicalminimalexamples.Teachingofconceptandfunctioncallarefocused.Andthenewteaching-methodachievedgoodresultsactually.

KEYWORDS:Clanguage;Function;Teaching-method

1引言

在C语言的教学过程中,学生们通常难以理解一些概念和程序流程的控制,比如函数和函数调用。而在C语言中,函数是一个非常重要的部分,所有程序都是由函数组成的,如果没有掌握函数,就不可能掌握C语言。关于这一问题的教学,人们也在实践中做了很多思考。但在分析C语言函数时,大部分教材都是从知识传授的层面来思考的。本文通过分析函数教学中出现的常见问题,提出了函数教学新思路,结合EXCEL、HTML、函数分类和典型小案例,重点阐述如何教授函数的概念和调用。

2函数教学中的常见问题

C语言中的函数分为库函数与自定义函数。自定义函数学习的主要内容分为函数的定义和调用。大部分学生在学习的时候对这些内容感到困难,他们主要是不知道函数该返回什么,函数应该有多少个参数,这些参数是什么类型。由于这些问题没有清楚,导致学生们基本上不能写出正确的函数。在一般教学中,通常存在如下问题:

(1)简单地罗列语法

语法知识仅仅是从语法角度系统地进行罗列,从函数形式、参数等分别进行介绍。但是仅仅这样简单的罗列语法,学生们不能深刻理解函数的意义。

(2)语法讲解与编程实例的衔接不好

花费大量时间详细介绍函数、形参、实参等概念与语法知识,而后面的函数编程等实用知识的讲授时间不够,学生们难以接受。

(3)模块化编程训练不够

学生对于自始至终接触到的简单编程印象比较深刻,但是模块化编程思想不够。而且,函数的教学章节在C语言教学内容的后面。因此,对于函数的调用、函数参数的传递等,学生们平时训练的强度不大。

由此可见,我们需要设计一种新的教学方案,改善C语言函数教学的效果,着重加深学生们对函数概念的理解和函数调用的掌握。

3函数教学新思路

3.1用EXCEL来理解函数概念

EXCEL是一个非常简单且界面友好的软件,一般在学生进入大学的第一个学期就已经学习过了。同时,由于在平时的生活、学习当中都有可能要用到EXCEL,因此学生们对于EXCEL比较熟悉。

函数的概念可以使用EXCEL中的多工作表来解释。通过将一些数据存放在多个工作表中,然后在这些工作表中选择这些数据,可以解释不同“工作区”的概念,或者说是函数调用的一种最基本的形式。例如,在一个工作表中存放了一些数据,却在另一个不同的工作表中使用这些数据进行计算。这个例子可以看成是在“程序”之间传递数据。再比如,在不同工作表中给不同的列命名,就像是在C语言的不同函数中给不同的变量命名。

3.2用HTML来理解函数概念

HTML是网页设计的基础。大部分学生愿意花很多时间学习HTML,因为几乎每一个新生都想创建自己的主页。学习HTML不仅能够帮助学生掌握简单的代码编写,还能够帮助学生理解函数的概念。

如果将一个网页转换成一个框架结构,HTML也可以用来解释函数调用。基本上,一个框架结构就相当于一个函数调用,因为索引文件会引起调用很多其他文件。网页的输出不是索引文件产生的结果,而是框架结构调用若干文件的结果。

3.3根据求解目的归纳不同函数

从语法角度,通常是从参数个数和有无函数体方面将函数分为无参函数、有参函数、空函数三类。根据编写函数的目的、功能或者说用途,函数可以被分为以下三类:

(1)求值类函数:使用这种函数是为了求一个值。

求值类函数的一般定义格式:

函数值类型函数名(类型形参1,类型形参2,……)

{

根据形参的值计算所求的值;

return结果;

}

求值类函数的定义步骤是:

①编写函数头:根据函数所求值的数据类型确定函数值类型,分析函数要提供的参数及其类型从而确定形参。

②编写函数体:根据提供的参数(即形参),求出所需的值,最后返回(return)该值。

求值类函数在调用时通常作为表达式使用,可用于赋值、输出、运算、或作为另一个函数调用的实参。调用格式:

函数名(实参1,实参2,……)

(2)判断类函数:使用这种函数是为了检查一个判断是否成立。

判断类函数是一种特殊的求值类函数,其值为1或者0,表示判断成立与不成立。因此判断类函数值的类型固定为int。下面给出判断类函数的一种参考格式:

int函数名(类型形参1,类型形参2,……)

{

intf;/*代表判断结果*/

根据形参的值进行判断,判断成立则令f为1,否则令f为0

returnf;/*将判断结果返回*/

}

判断类函数调用时通常用于在选择结构或循环结构中作为判断条件。如:

if(函数名(实参1,实参2,......)==1)......

(3)操作类函数:使用这种函数是为了完成某一项操作。

操作类函数不是为了求值,即函数没有值,其函数值的数据类型是void。函数体中不能使用return(值);语句来返回一个值,但可以使用return来结束函数的运行返回到主调函数。

操作类函数一般定义格式:

void函数名(类型形参1,类型形参2,……)

{

根据形参的值进行处理

return;/*或者无return*/

}

操作类函数调用时通常单独作为语句,其调用格式:

函数名(实参1,实参2,……);

3.4典型小案例教学

在教学过程中,尽量选择典型小案例穿插讲解。所谓的典型小案例,是指这个案例集中解释某一个概念,是一个完整的程序,但又尽可能的短小。典型小案例既有利于学生学习,也有利于老师教授。对于学生来说,典型小案例易于自学,他们能够很快地阅读程序或者修改程序,能够更好地理解程序。对于老师来说,典型小案例便于课堂讲解,能够很快修改成另一个程序,并要求学生给出对应的输出。如果学生对源代码没有充分的理解,就不能给出正确的答案。因此,典型小案例教学具有很强的启发性。

典型小案例的选择一般具有以下特点:

(1)问题驱动性。典型小案例的设计围绕某一个问题的解答。当逐渐将案例分析清楚,案例所涉及的概念也随之明朗。

(2)编程。每一个典型小案例是一个独立完整的程序。

(3)输出。有明确的程序输出。

(4)可扩展性。典型小案例比较易于修改,可以更好地理解相关概念,或者引出更加深入的概念。

4结束语

在C语言中,函数一直是学习的重点和难点。本文分析了C语言在函数学习过程中存在的问题,从概念和函数调用两个方面进行探讨,提出函数教学的新思路。通过EXCEL和HTML将函数概念简单具体化,根据求解目的将函数分类总结,穿插讲解启发性强的典型小案例,这些方法的结合使用,在实际教学中取得良好的效果。

参考文献

[1]王涛伟,杨秀金.C++函数的参数传递和返回值问题的教学研讨[J].吉林大学学报(信息科学版),2005,23:70-74.

[2]项响琴.递归问题的教学探讨[J].合肥学院学报(自然科学版),2006,16(2):63-65.

[3]周志德.C++函数三步教学法[J].无锡职业技术学院学报,2006,5(3):37-39.

[4]汪明光.C++语言中函数指针的分析与应用[J].巢湖学院学报,2006,8(3):30-34.

[5]谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005.

1管理科学与工程重点学科E694(xk0704)

2李旭芳(1980年6月—),女(汉),硕士,讲师,研究方向:信息管理。李旭芳海工程技术大学管理学院信息管理系,201620