C语言 百分网手机站

C语言函数教学方法

时间:2020-10-01 14:12:58 C语言 我要投稿

C语言函数教学方法

  导语:针对C语言中函数的重要性及我校学生在学习过程中对函数的掌握情况,总结出一套实用的c语言函数教学方法。下面就由小编为大家介绍一下C语言函数教学方法,欢迎大家阅读!

C语言函数教学方法

  1序言

  《C程序设计基础》是我校工科非计算机专业的一门必修课程,目的是使学生掌握程序设计的基本方法,并形成正确的程序设计思想,培养学生用计算机解决本专业问题的能力,为后续课程的学习打下良好的基础。

  但在教学过程中发现,学生在学习函数这部分的知识时非常吃力,很多学生对此掌握的并不好,不能灵活的运用函数进行程序设计,主要的原因是所用教学方法效果较差。针对此问题,笔者在深入研究C语言函数教学方法的基础上,通过详细分析教学过程中学生的表现,并积极与学生沟通,总结出适合我校学生的函数教学方法,首先通过生活中常见的例子介绍函数的概念,并精心设计函数的引入问题,以此来阐述函数编程思想,然后重点讲解函数的定义和调用方法,并通过实例强化学生函数设计的方法,最后对函数的设计方法进行总结。

  2函数思想的引入

  数学中的函数与C语言中的函数有什么区别?数学中的函数侧重于自变量和因变量之间的映射关系,而C语言中的函数主要侧重于功能的实现。

  以计算13!为例,通常的计算方法是13×12×……×4×3×2×1=6227020800,但也会发现计算量非常大。熟悉计算器的学生也知道,计算器上有一个“n!”按钮,我们只需按“13”,再按“n!”,就可以得到结果6227020800。两种计算方法中笔者更喜欢后者,因为计算器中“n!”按钮可以协助完成阶乘计算,换言之,“n!”按钮可以完成计算阶乘的功能,与c语言中函数的概念非常接近,因此“n!”按钮就是将求阶乘的函数封装起来了,我们甚至可以说计算器就是将若干个函数封装起来的一个设备。所以通过计算器来理解C语言中函数的概念就比较容易了。有了函数,就可以多次使用它,就如同有了“n!”,不仅可以计算13!,也可以15!,17!等等。C语言中的函数就是功能独立的一段代码,能够避免重复代码,降低出错率,提高程序的可读性。函数机制的出现,也使多人共同开发大规模的程序成为可能。

  进而引导学生回顾教学中以前学过的主函数和C语言中的一些常见的库函数(如sqrt()),总结这些函数的共同点,标识符后面都有一个括号,并以一到两个子函数为例,讲解、编译、运行,帮助学生更好地认识函数。

  在学生对函数有了基本的认识之后,给学生说明并非所有的函数都是现成的,有很多是需要用户自定义编写的――用户自定义函数。在教学中,笔者认为函数的分类最重要的标准就是函数的使用方式,根据函数的使用方式可以将函数分为数值计算函数(有返回值,类型不是void)和任务执行函数(无返回值,类型为void),数值计算函数因为有结果,使用时一般当做表达式的一部分或者函数参数,任务执行函数由于没有结果,使用时一般独立成一条语句。

  3函数的定义和调用

  3.1采用要素提取法完成函数定义

  C语言函数设计主要围绕函数类型,函数名,函数形式参数,函数返回值四个要素展开。

  对于函数要素的教学部分,重点讲解函数的定义与调用。函数定义的一般形式为:

  类型说明符函数名(形式参数表)

  {声明部分;

  语句部分;

  return(返回值);}

  对函数定义部分还需要掌握的是:(1)类型标识符:函数返回值类型,即结果类型。(2)函数名:合法标识符是函数的唯一标识。(3)形式参数表:由类型和变量名组成。(4)return(返回值):返回结果。

  函数定义中的四个要素的提取方法可以参照用计算器求13!来说明,(1)类型说明符。13!的结果是6227020800,类型说明符就是根据结果的类型来确定,为int。(2)函数名。函数名是函数的.唯一标识,在用计算器求13!的过程中,函数名就相当于“n!”按钮,这里用factorial来表示。(3)形式参数表。当计算13!时,形式参数表就是用来接收13的,假如求17!,那形式参数表就用来接收17,这里可以得出参数数量为一个,类型为int,因此用int x来定义形式参数。(4)返回值。13!的结果是6227020800,返回值就是6227020800。

  以求阶乘为例,定义函数:

  intfactorial(int x)

  {int s=1,i;

  for(i=1;i<=x;i++)

  {s=s*i;}

  return s;}

  3.2函数调用及虚实结合的过程

  由上述函数定义可以看出,函数定义并没有具体的结果,原因在于x的值未定,就如同在计算器上只按下“n!”没有任何意义一样。因此,函数的定义只是实现了函数的功能,而最终的目的在于使用函数,即函数的调用。

  在函数的调用过程中,还需要重点讲解实际参数和形式参数的区别,以及整个虚实结合的过程。在使用函数时后面括号中是具体的值,即实际参数。函数定义中括号中的参数是形式参数,没有具体的值。在发生函数调用的时候,形式参数用来接收实际参数的值。如:

  voidmain()

  {int a=13,c;

  c=factorial(a);

  printf(“%d的阶乘为:%d/n”,a,c);}

  实际参数是a,有确定的值为13,形式参数为x,用来接收a的值。参数传递过程如图2所示:

  在函数定义和调用中需要重点强调的地方:

  1)函数名是函数的唯一标识。2)函数必须先定义后使用。3)如果函数为非void类型,函数中必须有return语句。4)普通变量传递时为单向传递,即由实际参数传向形式参数。


【C语言函数教学方法】相关文章:

C语言中递归函数的教学方法11-16

C语言函数 atoi()10-28

浅谈C语言函数10-22

关于C语言对函数11-20

C语言函数的含义10-04

C语言文件操作函数11-04

C语言函数的声明以及函数原型10-05

C语言指针函数和函数指针详解06-10

c语言数学函数的介绍11-18