维普资讯 http://www.cqvip.com 中国科技信息2007年第13期 CHINA SCIB ̄ D I ̄-Q'INOLOGY INFORMATION山I.2007 i'2g ̄- 函数入门的讲解 刘志芳’杜瑞庆 1唐山师范学院信息技术中心、2、唐山师范学院计算机科学系06 ̄000 06 ̄000 函数和若干个函数构成,由主函数调用 本文探讨了c语言中函数的讲解内容及讲解 方法,提出了提高c语言教学质量一些建议 和方法。 int zl z=x+yI return zl 其他函数,其他函数之间也可互相调 用,同一个函数也可被一个或多个函数 调用任意次。 要想掌握函数,必须掌握函数的三大 操作:定义、声明和调用。 } (1)函数的名字是add,函数起名 c语言;函数;程序;模块 时也要遵循C语言标识符的规定; (2)函数的形式参数(简称“形 参”)是x和Y两个整数; (3)函数的功能是计算x+Y的值, 并把它的值赋给z,然后将z值返回; (4)因为z值是整数,所以函数的类型 设置为int。 2.函数的定义 C语言是国内外广泛使用的一种计算 机语言,是计算机应用人员应掌握的一种 程序设计工具。C语言是一种高级语言,采 用结构化的程序设计方法:自顶向下、逐 步细化、模块化设计、结构化编码。程序 中的模块化在C语言中通常用函数来实 现,因此对于学习C语言的人员来讲,熟 函数定义的一般形式: 类型标识符函数名(形式参数表列) { 声明部分 语句 } 函数的类型标识符是函数要返回的数 据的类型,函数的形式参数是函数要进 的值。例:用函数实现计算两个整数的 和。 3.函数的声明 在主调函数中一般要写上被调用函数 的声明,除非被调用函数在主调函数前 练掌握函数是学好C语言的关键一步。本 文根据教学过程中的实践经验,提出了一 种新教学方法,以促进学生对函数的熟练 掌握。 行数据处理时,需要从主调函数里获取 }被定义。 函数的声明是把函数的名字、函数 I的类型以及形参的类型、个数和顺序通 知编译系统,以便在调用该函数时系统 按照此进行对照检查。上面函数例子的 因为函数的功能是计算两个整数的 1、模块化 在程序设计中常采用模块设计的方 法,尤其是当程序比较复杂时,更有必 要。在遇到一个大任务时,一般把它分 为若干个小的子任务,每一个子任务就 和,首先要涉及到两个整数,而这两个 整数不是固定的,要把这两个整数作为 函数的形式参数;而最后得到的结果是 这两个整数的和,要返回到主调函数, 声明就是:int add(int x,int Y)I有时在 函数声明中可以不写形参名,只写形参 的类型,称为函数的原型:int add(int, itlt)I 所以函数的类型标识符也应该是整型; 而函数的功能则是把这两个整数相加, 利用return语句返回两个整数的和。 函数的定义如下: 相对简单了。这些子任务就可以看作模 块,每个模块完成特定的功能,按照一 4.函数的调用 对函数的调用也是函数功能的实现。 函数调用的一般形式为:函数名(实参表 列),函数的实参是真正进行计算的数据, 定的顺序执行这些模块,这个大任务就 能顺利完成。在C语言中,可用函数来 实现模块的功能。一个C程序可由一个主 int add(int x,int Y) { -260 维普资讯 http://www.cqvip.com 一般都有具体的数据。实参可以没有, }n的运算得到n!的值,可用for循环进行 计算。 根据上述分析,编写函数时,首先 给函数起一个名字,要做到“见名知 义”。可以给函数起一个名字: 豢 霆搭 ≤霉≮ 毒菇。 但括弧不能省略。各实参之间用逗号间隔, [1】谭浩强.c语言程序设计.北京:清华 大学出版社.1999.12 实参与形参按顺序对应,一一传递数据。 例:对上述函数的调用 void main() [2】孙玉霞.c语言程序设计中若干问题 的探讨、沈阳航空工业学院学报.2004.6 { inta,b,C; jiancheng{函数的形参是一个整数,可 命名为n;函数的返回值是一个整数,但 scan*(“%d,%d”,&a,&b); c=add(a'b); printf(“%d”,C); [3】古丽孜拉・安尼瓦尔.c语言函数参 数传递的几个问题.伊犁师范学院学报. 2004、9 这个整数的值可能会很大,它的数据类 型可以设置为长整型,以满足计算的要 求。如此,函数的定义如下: long jiancheng(int n) [4】张海娟,付争方.c语言函数的编写技 了.安康师专学报.2006.4 刘志芳.男.1 9 7 5.2.河北省赞皇县 人.汉族.唐山师范学院信息技术中心副 眦 ; 眦 主任.讲师.工学硕士.从事网络与数 据库方面的教学与研究。 杜瑞庆.男.1 9 74.9一.河北省赞皇县 眦 人.汉族.唐山师范学院计算机科学系. 讲师.工学硕士.现主要从事计算机程序 语言的教学与科研工作。 . } 在此程序中: (1)a和b为实参,从键盘上输入, 有固定的值; { long nn; //因此返回值为长 整型数,首先定义一个长整型变量nn, 来存储n!的值 (2)调用add(a,b)函数时,把实参 的值按照顺序对应一一传递给形参,即 有X=a,y=b; //然后在程序的最后一条语句中写 上return nn语句,再写中间的语句 int i{ nn=l; (3)函数add通过形参得到实参的 返 回 值后,进行运算z=x+y;得到两个整数的 和{ for(i=2;i<=n;i++)//,.I1用for循环 (4)再通过return语句将Z的值返 回到主调函数; (5)主调函数通过调用add(a,b)得Nz 计算n! ≤《上接第259页 技术看数据采掘[J】.北京中国统计出版社. 2002.6 的值,并将它赋值给C,得到了两个整数a, b的和。 函数定义好以后,就可以在其他 [1 5】石阳,张红云,马垣.数据挖掘中 关联规则算法及其应用[J】.鞍山师范学院 学报.2002.3 函数中任意次地进行调用。 5.如何编写函数 编写函数时最主要的是函数的定义, 因为函数的定义决定了函数声明和函数调 void main() { intj; [f 4】陆丽娜,陈亚萍,杨麦顺,魏恒 义.挖掘关联规则算法的优化处理[J】.计 算机工程与应用.2000、8 用的格式,而函数的定义主要掌握函数 的输入、输出和处理。 (1)函数的输入,一般指函数的形参, 即希望函数对哪些数据进行处理,这些数 } forO=l lj<=lO;j++) {printf(“%ld\n”,jiancheng(j)){ } 这个函数实现的功能是在屏幕上输出 1 1,2 1,……,10 1,jiancheng函数被 [1 5】李石君,王汉飞,周洞汝.关系数 据库中统计关系的挖掘和应用[J】.计算机 工程与应用.2000.6 据大都要作为函数的形参而参与计算; (2)函数的输出,一般指函数的返回 值,即希望函数调用后得到的数值; (3)函数的处理,一般函数内部所 [1 6】辛志,刘少辉,史忠植.关联规则 算法的实现与改进[J】.数据库与信息处 理.2o0I2.2 调用了10次,每一次调用函数的实参都不 相同。 [17】http://s0ftw啪.nit.edu.cn/borlandclub/ bbs/purec_forum/Atticle_Show.asp?Article D=54 实现的功能,即通过何种算法利用形参 的值得到返回值。 在编写函数时,一般要确定好函数 的输入、输出和处理。 小结 在讲解函数的入门知识,强调函数 的三大操作:定义.声明、调用,在编写 函数时,提醒并强调学生注意函数的输入、 输出和处理,就可使学生对于函数有充分 深刻的理解,并能顺利地掌握函数的书写, 从而提高C语言的教学质量。 [1 8】 白秀玲,崔林,王向阳,彭宁 嵩.关系数据库中关联规则的挖掘[J】.电脑 开发与应用.2002.5 张贞梅(1 9 7 9一).女.山东济南人.硕士 研究生.山东经济学院信息管理学院.助 教.研究方向:管理信息系统.数据挖 掘和数据仓库。 比如:利用函数计算n!的运算。 分析这个问题,可以得到: (1)函数的输入是n,是一个整数; (2)函数的输出是n!,也是一个整数; (3)函数的处理,是进行1}2}3¨…・ 261