c语言中函数教学的探讨

来源 :计算机光盘软件与应用 | 被引量 : 0次 | 上传用户:hnlqlql
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: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
  
其他文献
摘要:智能家居作为家庭信息化的实现方式已成为社会信息化发展的重要组成部分,在物联网智能家居繁多的应用中,因基于Zigbee模块物联网最大的特点就是低功耗,特别是带有路由的可组网功能,非常符合物联智能家居这种市场需求的。  关键词:智能家居;物联网;Zigbee模块  中图分类号:TN929.5文献标识码:A文章编号:1007-9599 (2011) 24-0000-01  ZigBee Modul
期刊
摘要:本文通过七点安全技巧,对家庭无线网络安全的防范提出了解决办法。1.对无线路由设备的用户名密码修改;2.对无线信号加密;3.修改ssid;4.禁止ssid广播;5.对mac地址过滤;6.禁用dhcp,使用静态ip;7.隐藏无线设备。  关键词:无线网络;安全  中图分类号:TP273.5 文献标识码:A文章编号:1007-9599 (2011) 24-0000-01  Security Con
期刊
摘要:文章通过对局域网中IP地址的冲突问题进行研究,分析了常见的IP地址的冲突原因,在此基础上提出了IP地址冲突的解决应在管理上和技术上加以防范,保证校园网安全运行。  关键词:校园网;IP;地址冲突;防范  中图分类号:TP3文献标识码:A文章编号:1007-9599 (2011) 24-0000-01  Campus Network IP Address Conflict Causes Ana
期刊
摘要:将简化的双线性方法进行了推广,并运用这种方法获得了变系数Burgers方程的N孤子解。  关键词:双线性方法;变系数Burgers方程;N孤子解  中图分类号:TP311 文献标识码:A文章编号:1007-9599 (2011) 24-0000-01  N-soliton Solution of Variable Coefficient Burgers Equation  Xia Hongm
期刊
摘要:软件冗余技术的应用,使嵌入式系统更加可靠。一般的嵌入式系统为了确保系统程序正常运行使用看门狗,看门狗确实能够避免死机现象的发生,但是其存在干扰导致存储被破坏需要充分编写程序这种风险。为此嵌入式系统开始运用软件冗余技术,使嵌入式系统可靠性得到进一步提高。  关键词:软件冗余技术;嵌入式系统;可靠性  中图分类号:TP309.3 文献标识码:A文章编号:1007-9599(2011)24-000
期刊
摘要:随着网络技术的发展以及高校图书馆信息量的增大,传统模式下的工作流系统暴露出诸多问题,通过分析传统模式下的工作流系统的优缺点,并针对其不足,提出了面向服务设计模式下的工作流系统平台,阐述了该平台的结构,并通过对比,详细分析面向服务设计模式下的工作流系统平台的优势以及其重要性。  关键词:面向服务;工作流系统;图书馆;应用信息系统  中图分类号:TP391文献标识码:A文章编号:1007-959
期刊
摘要:随着网络技术的发展,Adobe Flash在网络上的应用比重越来越大,而动态图像在网络媒体上表现手法成为了吸引浏览者眼球不可缺少的元素,随着人们对网络设计的需求,Flash不仅在网络媒体上被广泛应用,而且也不断的渗透到了其他的领域,如网络游戏、网络课件、网路广告等等。本文就Adobe Flash的功能及其在网络媒体中的应用进行研究。  关键词:Adobe Flash应用;动态图像;网络媒体 
期刊
摘要:项目的时间管理也就是项目的进度管理,对于软件开发项目来说,项目的时间管理是控制软件开发整体时间的主要手段,本文对软件开发的项目时间管理进行深入的分析,为保证软件开发项目的如期完成提供相应的建议。  关键词:软件开发;时间管理;进度控制  中图分类号:TP311文献标识码:A文章编号:1007-9599 (2011) 24-0000-02  Time Management Analysis i
期刊
摘要:以校园网为依托,推进课程信息化建设是高校教学改革的重要课题。课程在线学习系统的实现可以整合学校现有教学资源,提高其利用效率。网络化的课堂环境,使学生的学习不再受时间和空间的限制,有利于调动学生的学习积极性和培养他们的自主学习能力。  关键词:教学资源;在线学习;现代教育技术  中图分类号:TP311.52文献标识码:A文章编号:1007-9599 (2011) 24-0000-02  Imp
期刊
摘要:随着北部湾海洋生态资源的开发和利用,海量海洋科学数据飞速涌现出来,利用云计算平台合理管理和存储这些科学数据显得极为重要。本文提出了一种基于分布式计算技术进行管理和存储海量海洋科学数据方法,构建了海量海洋科学数据存储平台解决方案,采用Linux集群技术,设计开发一个基于Hadoop的云计算平台。  关键词:云计算;海洋科学数据;Hadoop;分布式计算  中图分类号:TP311.13文献标识码
期刊