论文部分内容阅读
摘要:本文分析了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()主函数中调用。
3 结束语
本文分析了C语言函数调用学习过程中存在的问题,在今后的教学过程中,本人将进一步努力提升自己,希望能总结出更多更好的方法来改进函数教学方法,使学生能够更轻松地上手学习。
参考文献:
[1]汪明光.C++语言中函数指针的分析与应用[J].巢湖学院学报,2006,8(3):30-34.
[2]谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005.143-150.
[3]乌云高娃.C语言程序设计[M].高等教育出版社,2007.118-220.
关键词:函数调用 库函数 案例
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()主函数中调用。
3 结束语
本文分析了C语言函数调用学习过程中存在的问题,在今后的教学过程中,本人将进一步努力提升自己,希望能总结出更多更好的方法来改进函数教学方法,使学生能够更轻松地上手学习。
参考文献:
[1]汪明光.C++语言中函数指针的分析与应用[J].巢湖学院学报,2006,8(3):30-34.
[2]谭浩强.C语言程序设计(第三版)[M].北京:清华大学出版社,2005.143-150.
[3]乌云高娃.C语言程序设计[M].高等教育出版社,2007.118-220.