论文部分内容阅读
摘要:C语言是由若干个函数组成的,函数也是C语言程序设计的重点和难点。本文从教学实践出发,采用实例引导和类比相结合的方法,从数学角度入手设计了一种C语言函数教学模式。实践证明,这一模式在教学中取得了较好的效果。
关键词:函数;C语言;教学方法
1、引言
C语言是一门面向过程的编程语言,在实际操作中,函数在C语言程序中占据非常重要的地位[1]。在C语言的教学中发现,学生在学习函数部分知识时非常吃力,很多学生掌握不好,不能灵活的运用函数进行程序设计,没有建立“模块化”编程思想。然而C语言的这种模块化思想可以将复杂的大任务分解为若干个相对独立的子任务,这些子任务称为“模块化”函数,通过函数之间的调用解决实际中的复杂问题[2]。因此,学生只有灵活掌握函数的运用,才能为以后课程的学习鉴定坚实的基础。
2、函数思想的引入
数学中有很多的公式,我们在解决问题的时候根据需要直接套用相应的公式就可以很简单的解决问题。我们以求长方形面积为例,长方形的面积公式为长乘以宽,所以我们只需要知道长方形的长和宽的值是多少就可以非常简单的计算面积,这个公式与C语言中函数的概念非常相似,通过数学公式来理解C语言函数的概念就比较容易。有了函数就可以多次使用它,就如同有了长方形面积公式,就可以计算任意边长的长方形的面积一样。C语言中的函数就是功能独立的一段代码,能够避免代码重复,提高程序的可读性。
有了前面的讲解,再通过编程举例让学生更好的理解和认识函数。例如,我们从数学库函数入手,让学生编写程序完成从键盘输入一个正整数,计算这个整形数的平方根,并进行输出。计算平方根需要用到数学库函数sqrt(),通过数学库函数,总结函数基本特点,让学生初步认识函数。在学生初步认识函数后,让学生知道光依靠系统提供的函数来解决问题是远远不够的,这就需要我们根据自己的需要来编写函数-用户自定义函数。
在编写函数时,哪些定义成函数的参数,哪些定义成函数的返回值以及如何定义函数的返回值类型,对于初学者这些部分比较难理解和掌握,我们可以通过学生已经掌握的数学知识,直接从题目上获得相关信息。
3、函数的定义和调用
3.1函数的定义
C语言函数设计主要包括返回值类型、函数名、函数形式参数、函数返回值等要素。
函数定义的一般格式为:
返回值类型 函数名(形参列表)
{
变量声明部分;
语句序列部分;
return(返回值);
}
想要设计一个自定义函数,必须按照函数定义的格式来定义,还要解决好函数定义中涉及的四个要素。解决这些问题实际上可以从题目上得到相应的信息:题目中要求解的结果可以看作函数的返回值,题目中的已知条件可以作为函数的参数,函数名是函数的唯一标识,需要满足标识符的命名规则。
以求长方形的面积(假定长方形的边长为整形)为例,通过举例说明如何定义函数。(1)函数名。函数的功能是求面积,为了能见名知义,我们给函数起一个名字。(2)函数参数。我们要实现求长方形的面积,需要知道几个数据才能求出和?知道一个整数能求面积吗?所以需要知道这两个数据才能求。这两个数据是什么类型?在题目中已经明确说明是整形,因此参数部分就可以确定了。(3)返回值。函数中求出的面积就是返回值。(4)返回值类型。根据返回结果也就是面积的类型来确定。
通过上述引导,学生在回答完以上问题之后,基本上能编写出这个函数,最后带领学生共编写参考答案,让学生思考自己编写的函数和参考答案有什么不同之处,哪种写法更好。
函数定义:
int area(int a, int b)
{ int s;
s=a*b;
return s;
}
3.2 函数的调用
如果说函数的定义如同定义公式,那么函数的调用就使用公式。我们知道数学公式有很多,我们在使用时需要根据功能去选择公式,如果用错了公式,最终的结果肯定也是错误的,因此第一步要选对公式。例如我们要求长方形的面积,那就要用长方形的面积公式----长乘以宽,如果用了别的公式,结果肯定不对。我们写程序时可以定义很多个自定义函数,在使用函数时根据功能需要通过函数名字来选择具体要用的函数。
在函数的调用过程中,还需要重点讲解实参和形参的区别,以及参数传递的过程。在定义函数时括号中的参数是形参,在使用函数时括号中的参数是实参,实参必须要有具体的值。我们以计算长方形面积为例,函数调用:
main()
{
int x=5,y=10,mj;
mj=area(x,y);
printf(“%d\n”,mj);
}
实参是x和y,形参为a和b,在函数调用的过程中x的值传递给a,实参y的值传递给b,这样形参a和b就有确定值5和10,根据长方形面积函数计算出s的值为50,并且把50带回主调函数并赋值给变量mj。
结束语
C语言教学最终是函数教学,函数的编写和设计在C语言程序设计中具有非常重要的地位。在教学过程中,采用实例引导的教学方法进行教学,重点是通过学生已经掌握的数学公式去类比分析函数部分的知识,使学生能够通过老师的引导和启发去发现问题、分析问题和解决问题,从而从本质上去理解函数思想,运用C语言函数知识去解决实际问题。
参考文献:
[1]Copper James M, Coldman Susan. Classmoom Teaching Skills [M]. Boston: Houghton Mifflin Company,2002:196
-212.
[2]Papaspyrou Nikolaos S, Stathis Zachos, Teaching Programming through Problem Solving: The Role of the Programming Language[C]//Proceedings of the 2013 Federated Conference on Computer Science and Information Systems,2013:1533-1536.
[3]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2010.
[4]李祥林,贾桂霞等.C语言程序设计课程改革与实践探讨[J].甘肃联合大学学报(自然科学版),2012(04).
作者简介:任石、1980、女、讲师/硕士研究生、主要研究方向计算机軟件技术,计算机图形学。
关键词:函数;C语言;教学方法
1、引言
C语言是一门面向过程的编程语言,在实际操作中,函数在C语言程序中占据非常重要的地位[1]。在C语言的教学中发现,学生在学习函数部分知识时非常吃力,很多学生掌握不好,不能灵活的运用函数进行程序设计,没有建立“模块化”编程思想。然而C语言的这种模块化思想可以将复杂的大任务分解为若干个相对独立的子任务,这些子任务称为“模块化”函数,通过函数之间的调用解决实际中的复杂问题[2]。因此,学生只有灵活掌握函数的运用,才能为以后课程的学习鉴定坚实的基础。
2、函数思想的引入
数学中有很多的公式,我们在解决问题的时候根据需要直接套用相应的公式就可以很简单的解决问题。我们以求长方形面积为例,长方形的面积公式为长乘以宽,所以我们只需要知道长方形的长和宽的值是多少就可以非常简单的计算面积,这个公式与C语言中函数的概念非常相似,通过数学公式来理解C语言函数的概念就比较容易。有了函数就可以多次使用它,就如同有了长方形面积公式,就可以计算任意边长的长方形的面积一样。C语言中的函数就是功能独立的一段代码,能够避免代码重复,提高程序的可读性。
有了前面的讲解,再通过编程举例让学生更好的理解和认识函数。例如,我们从数学库函数入手,让学生编写程序完成从键盘输入一个正整数,计算这个整形数的平方根,并进行输出。计算平方根需要用到数学库函数sqrt(),通过数学库函数,总结函数基本特点,让学生初步认识函数。在学生初步认识函数后,让学生知道光依靠系统提供的函数来解决问题是远远不够的,这就需要我们根据自己的需要来编写函数-用户自定义函数。
在编写函数时,哪些定义成函数的参数,哪些定义成函数的返回值以及如何定义函数的返回值类型,对于初学者这些部分比较难理解和掌握,我们可以通过学生已经掌握的数学知识,直接从题目上获得相关信息。
3、函数的定义和调用
3.1函数的定义
C语言函数设计主要包括返回值类型、函数名、函数形式参数、函数返回值等要素。
函数定义的一般格式为:
返回值类型 函数名(形参列表)
{
变量声明部分;
语句序列部分;
return(返回值);
}
想要设计一个自定义函数,必须按照函数定义的格式来定义,还要解决好函数定义中涉及的四个要素。解决这些问题实际上可以从题目上得到相应的信息:题目中要求解的结果可以看作函数的返回值,题目中的已知条件可以作为函数的参数,函数名是函数的唯一标识,需要满足标识符的命名规则。
以求长方形的面积(假定长方形的边长为整形)为例,通过举例说明如何定义函数。(1)函数名。函数的功能是求面积,为了能见名知义,我们给函数起一个名字。(2)函数参数。我们要实现求长方形的面积,需要知道几个数据才能求出和?知道一个整数能求面积吗?所以需要知道这两个数据才能求。这两个数据是什么类型?在题目中已经明确说明是整形,因此参数部分就可以确定了。(3)返回值。函数中求出的面积就是返回值。(4)返回值类型。根据返回结果也就是面积的类型来确定。
通过上述引导,学生在回答完以上问题之后,基本上能编写出这个函数,最后带领学生共编写参考答案,让学生思考自己编写的函数和参考答案有什么不同之处,哪种写法更好。
函数定义:
int area(int a, int b)
{ int s;
s=a*b;
return s;
}
3.2 函数的调用
如果说函数的定义如同定义公式,那么函数的调用就使用公式。我们知道数学公式有很多,我们在使用时需要根据功能去选择公式,如果用错了公式,最终的结果肯定也是错误的,因此第一步要选对公式。例如我们要求长方形的面积,那就要用长方形的面积公式----长乘以宽,如果用了别的公式,结果肯定不对。我们写程序时可以定义很多个自定义函数,在使用函数时根据功能需要通过函数名字来选择具体要用的函数。
在函数的调用过程中,还需要重点讲解实参和形参的区别,以及参数传递的过程。在定义函数时括号中的参数是形参,在使用函数时括号中的参数是实参,实参必须要有具体的值。我们以计算长方形面积为例,函数调用:
main()
{
int x=5,y=10,mj;
mj=area(x,y);
printf(“%d\n”,mj);
}
实参是x和y,形参为a和b,在函数调用的过程中x的值传递给a,实参y的值传递给b,这样形参a和b就有确定值5和10,根据长方形面积函数计算出s的值为50,并且把50带回主调函数并赋值给变量mj。
结束语
C语言教学最终是函数教学,函数的编写和设计在C语言程序设计中具有非常重要的地位。在教学过程中,采用实例引导的教学方法进行教学,重点是通过学生已经掌握的数学公式去类比分析函数部分的知识,使学生能够通过老师的引导和启发去发现问题、分析问题和解决问题,从而从本质上去理解函数思想,运用C语言函数知识去解决实际问题。
参考文献:
[1]Copper James M, Coldman Susan. Classmoom Teaching Skills [M]. Boston: Houghton Mifflin Company,2002:196
-212.
[2]Papaspyrou Nikolaos S, Stathis Zachos, Teaching Programming through Problem Solving: The Role of the Programming Language[C]//Proceedings of the 2013 Federated Conference on Computer Science and Information Systems,2013:1533-1536.
[3]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2010.
[4]李祥林,贾桂霞等.C语言程序设计课程改革与实践探讨[J].甘肃联合大学学报(自然科学版),2012(04).
作者简介:任石、1980、女、讲师/硕士研究生、主要研究方向计算机軟件技术,计算机图形学。