C语言教学中函数的调用问题

2020-09-28 C语言

  导语:C语言在调用时经常会遇到各种各样的问题,下面就由小编为大家介绍一下C语言教学中函数的调用问题,欢迎大家阅读!

  1 函数调用问题的提出

  本人在教学过程中,出现了多次这种问题。在讲授函数的概念、函数的定义和函数的调用之后,给学生出一道题目用函数来实现,通常情况下,该问题如果不用函数方法而用其他方法做的话,学生可能会做得出来,但让他们必须用自定义函数的方法来实现,他们就感觉无从下手,并不是这个问题本身很难,归根结底,学生对于怎么自定义函数,定义多少个参数,怎么在主调函数中调用自己定义的被调函数不知道如何做。从而导致了用函数解决的问题却用其他方法实现。在这里,我个人通过自己的反复思量,为了提高讲授函数调用的教学效果,自己总结了几条经验。

  2 函数调用问题方法讨论

  要知道函数怎么调用,首先得知道用户怎么定义函数。

  2.1 函数定义的一般格式:

  类型标识符[3] 函数名(形式参数列表)

  { 声明部分

  语句部分

  }

  这个格式定义的函数为有参函数,“形式参数列表”中的参数被称为形参,有些函数是无参函数,则“形式参数列表”可以没有,但括弧不能省略,即无参函数。

  函数在使用之前要先声明、定义,然后才能调用[1]。

  2.2 函数调用的一般形式为:

  函数名(实参表列)

  函数在程序中出现的位置来分,可以有以下三种函数调用方式[2]:

  ①函数语句

  把函数调用作为一个语句,这种方式不要求函数带回值,如打印图形、显示字符串等。只要函数完成一定的操作。

  ②函数表达式

  函数出现在一个表达式中,这种表达式称为函数表达式。要求函数带回一个确定的值以参加表达式的运算。如:c=10*max(a,b),其中,函数max就是表达式的一部分。

  ③函数参数

  函数调用作为一个函数的实参,如:printf(“%d”,max(a,b));是把max(a,b)作为printf函数的一个参数。

  2.3 函数问题案例讲解

  ①首先从库函数的调用案例着手讲授,学生自然就很轻松上手。

  众所周知,库函数中的数学函数学生从高中就经常接触到,在计算机教学的其他课程里面也会经常出现,如excel里面就有数学函数,学生们已经很熟悉了,如下面一道编程题就需要调用库函数解决。

  用C语言求14+24+34+……94+104之和。

  #include"math.h"

  main()

  {int n=10,k=4;

  long y=0;

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

  y=y+pow(i,k);

  printf("%d",y);

  }

  其中,pow(i,k)就是系统自带的数学函数,i和k是它自带的`两个参数,其功能是计算i的k次方。通过这个系统数学函数的调用程序的编写及调试,学生们很轻松就知道库函数怎么调用,即函数名加上函数括号里面的参数。

  另外大家使用库函数的时候,一定要在本文件开头用#include命令,将调用有关库函数时所需用到的信息“包含”到本文件中来。该程序开头用语句# include"math.h",即可将数学库函数“包含”到主函数中来。

  ②用大家熟悉且简短的函数编程案例入手讲解。

  典型小案例教学具有很强的启发性,既有利于学生学习,也有利于老师教授。

  用C语言函数实现1+2+3+……+20之和。

  long fnsum(int n)

  {int i;

  long y=0;

  {for(i=1;i<=n;i++)

  y=y+i;}

  return y;

  }

  main()

  {

  int n=20;

  printf("%d",fnsum(n));

  }

  在这个程序代码中,程序行long fnsum(int n)是自定义函数,fnsum是函数名,n是定义的一个形参,也仅需要一个,表示1+2+……+20共有多少个数求和。由于fnsum函数代码写在main()函数之前,可以不进行声明。反之,若fnsum函数代码写在main()函数之后,必须用代码long fnsum(int n);进行声明。fnsum函数功能即是题目要完成的功能实现,最后通过main()主函数定义一个实参n并赋值20,在printf函数中通过代码printf("%d",fnsum(n)),调用了自定义函数fnsum,并将实参n=20传递给自定义函数fnsum(int n)中的形参n,最终将结果打印输出。

  在main()主函数中,fnsum这个函数调用也可以改成如下:

  main()

  {

  int n=20,sum;

  sum=fnsum(n);

  printf("%d",sum);

  }

  这个是通过函数表达式的方法进行函数调用,通过这个自定义函数的简单案例讲解,学生很轻松能够理解函数怎么自定义并在main()主函数中调用。


【C语言教学中函数的调用问题】相关文章:

C语言函数的递归调用10-04

C语言函数的运用及调用11-18

C语言函数调用与参数传递02-01

c语言调用函数的使用方法11-18

Java程序调用C/C++语言函数的方法11-02

汇编调用C函数11-19

关于浅谈C语言函数调用参数压栈的相关问题11-20

在C语言中函数调用方式的区别11-20

C++调用C函数的方法11-16

C语言的预处理代码 C++画正弦线实例代码