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

来源:岁月联盟 作者:李旭芳 时间:2010-08-18

摘要:针对C语言函数教学的常见问题,提出函数教学的新思路,结合EXCEL、HTML、函数分类和典型小案例,重点阐述如何教授函数的概念和调用,并在实际教学中取得良好效果。
       :C语言;函数;教学方法


        ABSTRACT: For the usual questions in Function teaching of C-language, new ideas are put forward. Function teaching is developed with EXCEL, HTML, classification of functions and typical minimal examples. Teaching of concept and function call are focused. And the new teaching-method achieved good results actually.
KEYWORDS: C language; 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, ……)
        {
         int f; /* 代表判断结果 */
  根据形参的值进行判断,判断成立则令f为1,否则令f为0
         return f;/* 将判断结果返回 */
        }
        判断类函数调用时通常用于在选择结构或循环结构中作为判断条件。如:
         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)