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

来源 :中小企业管理与科技·上旬刊 | 被引量 : 0次 | 上传用户:liuyingbo1988
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文分析了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.
其他文献
摘要:根据高职院校的教育特点,建立了课程教学评价指标体系,应用模糊数学理论将评价因素量化处理,最终以定量值来表示课程教学质量的结果,可客观有效地反映课程教学效果。  关键词:高职院校 课程教学 模糊评价  目前,模糊综合评价模型是广泛应用于各领域的评价系统,以量化的手段来判断事物的好坏,例如教师综合素质水平评估、学生就业现状评估等。校企融合的评价工作具有很强的模糊性和综合性,这类问题恰与模糊模
据公安部发布的消息,截止到2016年6月底,中国汽车保有量约1.84亿辆。中国汽车保有量仅次于美国,预计将在2019年左右超过美国。一直以来,汽车行业以其产业链庞大而著称,汽车产
【摘 要】当前的社会形势对中职学生的综合素养提出了更高的要求,传统的课堂教学已无法适应社会需要,不能满足学生的个性化需求。充分发挥第二课堂的作用是中职校扭转学风、提高学生职业素质的一个突破口。本文基于互联网+大力开展形式多样的第二课堂活动,并配合行之有效的策略,提高中职生培养质量。  【关键词】第二课堂;互联网+;中职教育  国务院2019年2月印发《国家职业教育改革实施方案》,“职教二十条”重申
<正>全球每年有1000万儿童因交通事故受伤或者致残,中国每年约1万名儿童死于道路交通事故。在我国,道路交通伤害已成为0~17岁儿童伤害致死的第一位原因,儿童少年在交通事故中
期刊
君子爱财,取之有道。利与义并不是对立的,要在不违背义的前提下求利,不义之财不可取。
期刊
本文以《拿来主义》一课为例,反思在备课环节教师对文本的把握、学生学情的了解,以及依此选择最佳的教学方法,从而提升课堂教学的有效性。
一、"以艺启人以美化人"提出的背景(一)新时代、大机遇社会在进步,经济在发展,道德文化建设面临越来越多适应性挑战,此时,美育显得更为重要。国务院办公厅印发《关于全面加强
“农村孩子的动手操作能力很强,但语言表达却不如城里的幼儿,如果他们能边做边交流,成長会更快……”农村幼儿园活动研讨中常听到这样的话。语言运用能力与社会交往能力是人才的基本素质,幼儿期是语言发展的关键时期,特别是口语发展的重要时期,错过这一特定时期,将会造成不可弥补的损失。幼儿语言的发展贯穿于各个领域,对其他领域的学习和发展有重要影响。如何提高农村幼儿的语言能力?经过思考与实践,以下四点做法与大家分
摘要:提高农网供电可靠性,不仅是用户的需求,也是供电企业自身发展的需要。本文总结分析了影响农网供电可靠性的主要因素,提出了改善农网供电可靠性的技术措施和管理办法。  关键词:配电网 供电可靠性 管理措施  供电系统向用户持续供电的能力叫做供电可靠性。通过这项指标,可以掌握供电系统电能质量状况及其对国民经济用电需求的贡献量,同时它也是一个国家经济发展程度的衡量指标。这项指标是在可靠性工程的一般原理和
济源农村商业银行作为我市唯一的地方性股份制商业银行,在原农村信用社的基础上整体改制而成,成立于2010年的5月5日。改制以来,该行领导带领全体员工开拓进取,誓争一流,取得了骄人