- 14
- 0
- 约1.26万字
- 约 72页
- 2017-02-28 发布于湖北
- 举报
C语言程序设计第4章函数
4.1 函数概述 这个程序由三个函数构成:main()、S()和L(),若按照模块化的观点看,这个程序由三个模块构成,每个模块由一个函数实现。 main( )、S ( )和L ( )的关系图 4.2 函数的定义 从用户使用的角度看,可将函数分为两种:标准函数(即系统库函数)和用户自定义函数 。 函数的定义格式: 类型标识符 函数名([形式参数表]) { 函数体 } 对于函数的定义格式要注意以下几点: 1.“类型标识符”用来说明函数返回值的类型。当函数的返回值为整型(int)时,也可以不加“类型标识符”,因为系统默认的返回类型是整型。 2.“函数名”是函数的存在标识,函数名可以是任何合法字符的组合,但注意不要与系统关键字同名。 3.“形式参数表”用于指明调用函数时,传递给函数的数据个数和类型。传递给函数的参数可以有多个,也可以没有。若有多个参数,则相邻参数之间要用逗号“,”间隔;若没有参数,则形式参数表为空,但要保留“函数名”后的一对括弧“()”。 4.函数若有多个参数,则必须在形式参数表中对每一个参数进行类型声明,格式为: “类型名1 形式参数名1 ,类型名2 形式参数名2 ,......,类型名n 形式参数名n”。 5.“函数体”就是函数的定义主体,包括变量声明、程序语句等。 例4.2:定义一个求和函数来说明函数的定义格式 /*定义了两个浮点型的形参x和y,函数返回类型为浮点型*/ float sum(float x , float y) { float z ; /* 定义一浮点型变量z */ z = x + y ; return(z) ; /* 将z的值作为函数sum的结果 */ } 4.3 函数的调用与返回值 函数定义好之后,要能够被调用(即执行函数),以完成该函数的功能。 函数的调用格式: 函数名([实际参数表]) 在函数的定义格式中,函数头为: 类型标识符 函数名([形式参数表]) 这里要注意的是“实际参数表”和“形式参数表”的区别。 4.3.1 实参与形参的区分 “形参表”是一种形式上的定义,或者说是一种“接口”描述,通过这个接口,调用者就知道应该给函数传递什么样的数据。 调用者在调用某函数时,通过接口传给函数的实际数据,叫做“实参”。通过下面的图,能较好地理解形参和实参的关系: # include stdio.h min(int x,int y) { int z; z = xy ? x : y ; return(z); } main ( ) { int a,b,c; scanf (“%d,%d”,a,b); c = min(a,b); printf (“Min is %d \n”,c); } 4.3.2 函数的调用 函数的调用方式有以下三种: 1.函数语句 把函数调用作为一个语句出现。这种调用方式无需函数有返回值,只要它完成某项功能。 2.函数表达式 当调用的函数有返回值时,有时会以表达式的方式调用该函数。 3.函数参数 函数调用作为一个函数的实参,这是实际当中用得较多的一种方式。 4.3.3 对被调用函数的声明 一个函数要获得对另一个函数的调用成功,除了参数要正确传递以外,还必须具备以下一些条件: 1.如果调用系统库函数,应在程序文件开头用#include命令将包含库函数定义信息的“头文件”嵌入到文件中来。 2.如果在程序中调用用户自定义函数,一般还应在程序中对被调函数进行“声明”。 # include stdio.h main() { float sum (float x , float y); float a,b,c ; scanf (“%f,%f”,a,b); c = sum(a,b); printf(“Sum is %f \n ”, c); } float sum (float x , float y) { float z ; z = x + y ; return(z) ; } 函数原型有两种写法: 1.类型标识符 函数名(参数类型1,参数类型2…….) 2.类型标识符 函
您可能关注的文档
- 8立方梭式窑.doc
- 8工程建设项目安全管理.ppt
- 8种用方程解应用题方程怎样找等量关系人教版五年级上册数学简易方程复习超值.ppt
- 人物的外貌描写.ppt
- 8相似原理与量纲分析.ppt
- CTCS-3级列控系统GSM-R网络需求规范(V1.0).doc
- 人类文明的引擎 教学设计.doc
- 人物神态描写教学课件.ppt
- CT Beifang Strategy v2.0c 20031124-V02.ppt
- CT GXF09T 光缆交接箱说明书(2011-11-17 16.09.21).doc
- 2026年纳米材料在高温材料中的应用进展报告.docx
- 生成式AI在教育教研文化变革中的实践应用与策略探讨教学研究课题报告.docx
- 高中英语作业分层设计在写作教学中的实践探索论文.docx
- 高中思想政治课社会实践在生态文明教育中的应用与实践论文.docx
- 2026年有色金属行业价格波动绿色冶炼技术创新报告.docx
- 高中生结合历史GIS技术研究丝绸之路商队人员构成与社会互动课题报告教学研究课题报告.docx
- 2026年蜂产品加工行业质量管理体系与认证分析报告.docx
- 2026年医疗信息化五年建设成果与挑战报告.docx
- 高中语文作文教学与批判性思维培养的融合:基于认知负荷理论的实证研究论文.docx
- 2026年国际生物医药CDMO行业投融资动态分析报告.docx
原创力文档

文档评论(0)