- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计 - 第5章 函数 第7章 函 数 函数概述 函数定义的一般形式 函数的调用、参数和返回值 局部变量和全局变量 变量的存储类型 内部函数和外部函数 模块化程序示意图: 函数调用程序实例 #includestdio.h int main( ) { printstar(); print_message( ); printstar( ); } void printstar( ) { printf(“**************\n”);} void print_message( ) { printf(“how do you do!\n”);} 1 函数概述 (Function) C语言用函数实现程序模块化 一个程序由一个或多个源程序文件组成 一个源程序文件由一个或多个函数组成 C程序的执行从main函数开始,并回到main函数结束 函数之间可以相互调用,或调用自身 不能调用main函数 函数之间相互独立,不存在从属关系 函数的分类(1) 从使用角度分: 标准库函数:以程序库的形式直接提供给用户使用。 stdio.h : gets()、printf() math.h : sin()、sqrt() 用户自定义函数:由用户自己建立定义。 函数的分类(2) 从函数形式分: 无参函数:调用函数时主函数不将数据传送给被调函数。用于完成特定功能的操作。 如:c=getchar( )…… 有参函数:调用函数时在主调函数和被调函数之间有参数传递。 如:putchar(c)、puts(str)、…… 7.2 函数定义的一般形式 函数定义形式 返回类型 函数名(参数声明) { 声明部分 语句 } 返回类型、参数、函数体内容都可省略 dummy(){} /* does nothing returns nothing */ 函数定义形式的说明 关于“返回类型” 指函数返回值的类型 若省略此项,则认为返回类型是int 若无返回值,则定义返回类型为void 关于“参数声明” 类型 形参名, 类型 形参名, ... 关于“声明部分” 指变量、函数的声明 函数定义举例 7.3 函数的参数和函数的值 形式参数和实际参数 形参:定义函数时,函数名后()中的参数 实参:调用函数时,函数名后()中的参数 实参可以是常量、变量、表达式、函数调用 实参和形参必须类型相同或赋值兼容 【例】求两数的最大值。注意函数的定义形式。 #include stdio.h int max(int x,int y) /*函数定义*/ { int z; z=(xy)?x:y; return(z); } main( ) { int a,b,c; scanf(%d%d,a,b); c=max(a,b); /*函数调用*/ printf(max=%d\n,c); } 参数传递 值传递 实参对形参的数据传递是“值传递” 单向传递 只能把实参的值传递给形参 不能把形参的值传递给实参 对形参的值所作的改变不能带回给实参 实参和形参是不同的变量 具有不同的存储空间 具有不同的生存期和作用域 参数传递举例 参数传递举例 int main() { int n=100; printf(input number\n); s(n); printf(“main函数:n=%d\n,n); } int s(int n) { int i; for(i=n-1;i=1;i--) n=n+i; printf(“s函数:n=%d\n,n); } return语句 形式 形式一:return; 形式二:return expression; 功能 函数返回语句 结束函数调用 如果需要,还可以带回函数返回值 return语句执行图示: main() { int a,b,c; scanf(“%d%d”,a,b); c=max(a,b); printf(“max=%d\n”,c); } int max(x,y) int x,y; { int z; z=(xy)?x:y; return(z); } 函数的返回值 (Return Value) 返回值的说明 函数返回值的类型在函数定义中指定 函数返回值通过函数中的return语句获得 若函数无返回值,则可以没有return语句 return语句后的表达式类型,应与函数返回值类型相同,或可以兼容赋值;两者类型不同时,自动做类型转换 函数需要返回值时,若缺少return语句,或return语句未带返回值,则返回一个不确定值 7.4 函数的调用 一般形式 函数名(实参表列) 说明 即使没有实参,()也不能省略
您可能关注的文档
- 第1章 计算机系统.ppt
- 第1章 信息与计算机基础知识.ppt
- 第1章 掌握Photoshop基础知识.ppt
- 第1章_Windows_XP操作系统应用.ppt
- 第1章_掌握Photoshop基础知识.ppt
- 第1章网络概论.doc
- 第2讲 Photoshop CS2基础知识.ppt
- 第02章 初识Access 2007_hys.ppt
- 第02章 Photoshop CS2入门.ppt
- 第02章 Red Hat服务器的简介和安装.ppt
- 2023年湖南郴州市第四人民医院招考聘用17人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年浙江湖州市公安局机关第一次警务辅助人员招考聘用70人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年浙江衢州龙游县气象局编外人员招考聘用笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年浙江省民政厅下属浙江省残疾人福利保障指导中心面向基层遴选优秀公务员12笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年河北廊坊固安县招考聘用幼儿园聘用制合同教师72人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年河南焦作市武陟县招考聘用公办幼儿园幼儿教师100人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年湖南长沙巍麓青少年体育俱乐部招考聘用教师笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年清华附中文昌学校招考聘用事业单位编制教师笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年福建泉州市直有关学校招考聘用编外合同教师11人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2023年海南省妇女儿童医学中心招考聘用高层次人才笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
文档评论(0)