论文部分内容阅读
摘要:C程序是有函数组成的,使用函数可以提高程序设计的效率,因此学习好函数这章对C语言程序的理解和掌握是非常重要的,根据多年教学实践,以案例为引导教学起到了比较好的效果。
关键词:函数教学;函数定义;调用;声明
中图分类号:TP312.1-4 文献标识码:A文章编号:1007-9599(2011)24-0000-01
Function Teaching Talking in C Language
He Lixia
(Hubei Jingzhou Yangtze University College of Computer Science, Jingzhou434023,China)
Abstract:The C program is composed of functions, using functions can improve programming efficiency,so learning functions is very important to the C language program understanding and grasping,according to years of teaching practice,being guided teaching by the cases has played a good effect.
Keywords:Function teaching;Function definition;Call;Statement
一、引言
C语言是一种结构化程序设计语言,结构化程序设计是以模块化设计为中心,就是将—个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成,因此对于函数这章掌握的好坏直接关系C语言进一步的学习,本人从事C语言教学多年,总结多年的教学经验,在此对函数教学的体会进行交流探讨。
二、函数的三要素
虽然C语言提供了丰富的库函数,但不可能满足每个用户的各种特殊需要,因此大量的函数必须由用户自己来编写,如何编写,并且很好地应用,就必须掌握函数的三要素----定义、调用和声明函数。
(一)如何定义函数。定义函数是重点,也是学生学习起来的难点,首先来看看函数定义的一般形式:函数类型函数名(形参类型说明表)
{
说明部分
语句部分
}
自己定义函数时,必须想清楚两点,第一是否有返回值;第二是否有形参。
下面通过一个例子展示一下如何来定义函数:
例:编写一个函数实现两个正数的最大公约数
第一种情况:有返回值
有参数,有两个整型形参
定义如下:
int gys1(int a ,int b)
{intm; m=a=1;m- -) if(a%m==0&&b%m==0)return m; //返回值的类型最好和函数类型一致
}
第二种情况:不需要返回值
有参数,同样是两个整型形参
void gys2(int a,int b) //void表示无类型,即不需要返回值
{int m; m = a=1;m- -) if(a%m==0&&b%m==0)printf("%d",m);
}
(二)调用函数
函数定义之后,是为了被调用,同样以上面的程序为例,展示下如何在主调函数中调用以上两个函数:
第一个情况被调用说明:
main()
{
int m,n; scanf("%d%d",&m,&n);printf("%d是最大公约数",gys1(m,n));
}
以上两种情况,调用语句用斜体表示!
第二个情况被调用说明:
main()
{
int m,n; scanf("%d%d",&m,&n);gys2(m,n);
}
(三)函数的声明
函数定义后,为了正确调用,要养成声明函数的习惯,以免出错,对于自己的定义的函数,函数声明如下:
函数类型函数名(形参类型[形参名],….. ); [形参名]表示可选,以上面的函数为例,
第一种情况的声明为:int gys1(int a,int b);或int gys1(int ,int);
第二种情况的声明为:void gys2(int a,int b);或void gys2(int , int );
三、函数的值传递
(一)基本概念。在进行参数传递的过程中,必须掌握形参与实参的概念:形式参数:定义函数时函数名后面括号中的变量名。实际参数:调用函数时函数名后面括号中的表达式。(二)单向值传递。当函数的形参和实参都是简单变量时,实参向形参传递数据是一种单向值传递,实参的值传递给对应的形参,但是形参的值不会回传给实参。(三)地址值传递。当函数的形参和实参是数组名或指针的时候,这个时候实参传递的是数组的首地址或指针指向变量的首地址,当把实参传递过去时,由于形参也代表首地址,这样实参和形参的首地址相同,即实参和形参占用相同的存储空间,这样一种传递称为地址值传递。
四、结束
函数的三要素和函数的值传递是C语言函数中基础也是很重要的内容,只有在掌握以上内容的基础上才能更好地学习后期知识,经过这么多年的实践教学,通过这种案例为引导的方式教学起到较好的效果!
参考文献:
[1]何光明.杨静宇.C语言程序与应用开发.北京:清华大学出版社,2006
[2]杜友福.C语言程序设计.科学出版社,2007
[3]蔡宏生.浅谈案例教学法在C语言教学中的实践.新天地理论编辑部.2009
关键词:函数教学;函数定义;调用;声明
中图分类号:TP312.1-4 文献标识码:A文章编号:1007-9599(2011)24-0000-01
Function Teaching Talking in C Language
He Lixia
(Hubei Jingzhou Yangtze University College of Computer Science, Jingzhou434023,China)
Abstract:The C program is composed of functions, using functions can improve programming efficiency,so learning functions is very important to the C language program understanding and grasping,according to years of teaching practice,being guided teaching by the cases has played a good effect.
Keywords:Function teaching;Function definition;Call;Statement
一、引言
C语言是一种结构化程序设计语言,结构化程序设计是以模块化设计为中心,就是将—个大的计算任务划分为一个个比较小的任务,这些小任务均由函数来完成,因此对于函数这章掌握的好坏直接关系C语言进一步的学习,本人从事C语言教学多年,总结多年的教学经验,在此对函数教学的体会进行交流探讨。
二、函数的三要素
虽然C语言提供了丰富的库函数,但不可能满足每个用户的各种特殊需要,因此大量的函数必须由用户自己来编写,如何编写,并且很好地应用,就必须掌握函数的三要素----定义、调用和声明函数。
(一)如何定义函数。定义函数是重点,也是学生学习起来的难点,首先来看看函数定义的一般形式:函数类型函数名(形参类型说明表)
{
说明部分
语句部分
}
自己定义函数时,必须想清楚两点,第一是否有返回值;第二是否有形参。
下面通过一个例子展示一下如何来定义函数:
例:编写一个函数实现两个正数的最大公约数
第一种情况:有返回值
有参数,有两个整型形参
定义如下:
int gys1(int a ,int b)
{intm; m=a=1;m- -) if(a%m==0&&b%m==0)return m; //返回值的类型最好和函数类型一致
}
第二种情况:不需要返回值
有参数,同样是两个整型形参
void gys2(int a,int b) //void表示无类型,即不需要返回值
{int m; m = a=1;m- -) if(a%m==0&&b%m==0)printf("%d",m);
}
(二)调用函数
函数定义之后,是为了被调用,同样以上面的程序为例,展示下如何在主调函数中调用以上两个函数:
第一个情况被调用说明:
main()
{
int m,n; scanf("%d%d",&m,&n);printf("%d是最大公约数",gys1(m,n));
}
以上两种情况,调用语句用斜体表示!
第二个情况被调用说明:
main()
{
int m,n; scanf("%d%d",&m,&n);gys2(m,n);
}
(三)函数的声明
函数定义后,为了正确调用,要养成声明函数的习惯,以免出错,对于自己的定义的函数,函数声明如下:
函数类型函数名(形参类型[形参名],….. ); [形参名]表示可选,以上面的函数为例,
第一种情况的声明为:int gys1(int a,int b);或int gys1(int ,int);
第二种情况的声明为:void gys2(int a,int b);或void gys2(int , int );
三、函数的值传递
(一)基本概念。在进行参数传递的过程中,必须掌握形参与实参的概念:形式参数:定义函数时函数名后面括号中的变量名。实际参数:调用函数时函数名后面括号中的表达式。(二)单向值传递。当函数的形参和实参都是简单变量时,实参向形参传递数据是一种单向值传递,实参的值传递给对应的形参,但是形参的值不会回传给实参。(三)地址值传递。当函数的形参和实参是数组名或指针的时候,这个时候实参传递的是数组的首地址或指针指向变量的首地址,当把实参传递过去时,由于形参也代表首地址,这样实参和形参的首地址相同,即实参和形参占用相同的存储空间,这样一种传递称为地址值传递。
四、结束
函数的三要素和函数的值传递是C语言函数中基础也是很重要的内容,只有在掌握以上内容的基础上才能更好地学习后期知识,经过这么多年的实践教学,通过这种案例为引导的方式教学起到较好的效果!
参考文献:
[1]何光明.杨静宇.C语言程序与应用开发.北京:清华大学出版社,2006
[2]杜友福.C语言程序设计.科学出版社,2007
[3]蔡宏生.浅谈案例教学法在C语言教学中的实践.新天地理论编辑部.2009