




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 函数 函数的声明与调用 参数传递方式 标识符的作用域 变量的生存期 递归程序设计 C+语言常用库函数 4.1 C+语言的函数 一、函数的建立与使用 n函数的建立 函数声明:定义函数的名 字、执行的语句序列、传 递和使用的数据参数、返 回值等; n函数的使用 函数调用:指明函数去“ 做什么” ; 函数调用的控制流程:如 右图 函数调用程序 (主调函数) 调用F 调用F 被调用 函数F 例1: #include float max(float x, float y) float z; / 求两个数的最大值 if (x = y) z = x; else z = y; return z; int main() float i, j, k;/ 用户输入的三个数 float temp;/ 临时最大者 cout i j k; / 用户输入三个数 / 找出最大数存放在temp中 temp = max(i, j); / main()是主调函数,max()是被调函数 temp = max(temp, k); / 输出找到的最大数 cout y?x:y; n若函数定义时没有说明函数类型,则缺省认为函 数返回类型是int main() n若函数无返回值,则应明确定义函数类型为void void handle( ) n函数名 n是标识符 n函数名后一定要有一对圆括号( ),这是函数的标 志,使函数与其他标识符名区分开来 n形式参数 n用于接收从主调函数传给这个函数的数据 n一般形式: (数据类型 变量1,数据类型 变量2,) n形参个数不受限制 n函数体 n声明部分:用于声明在函数中使用到的变量 n语句部分:在函数中用于实现某项任务的语句序 列 n空函数:函数体为空(没有语句,但 不能省略 ) 二、函数调用 n函数调用的一般形式:当作表达式使用 函数名(实际参数表) n实际参数 n出现在函数调用表达式中,是函数调用时,实际 使用的参数 n一般形式:(表达式1,表达式2,) n实际参数表是用逗号分隔的表达式列表,其中每 一个表达式称为实际参数,有时也简称为实参。 n在函数调用时,需要将实际参数的值传送给对应 位置的形式参数 n实际参数与形式参数必须一一对应,位置、个数 以及数据类型都匹配 n例:p82 程序4.1.1 2. 函数调用表达式 n函数调用作为一个表达式,其类型是函数返 回值的类型 n函数调用可用于任何表达式可以出现的地方 例1:if (max(i,j) int main() float i, j, k; float temp; cout i j k; temp = max(i, j); temp = max(temp, k); cout = y) z = x; else z = y; return z; float max(float x, float y); 函数原型: float max(float x, float y); float max(float, float); float max(float t, float k); 4.3 参数传递 一、参数传递方式 n主调函数与被调函数的数据交换:由参数传递与返回值实现 n按值调用:单项的参数传递 按引用调用:双向的参数传递 二、按值调用(传值,按拷贝调用) n单向的,实际参数形式参数 ,传递的是参数的值 n例:p91 程序4.3.1 #include cout #include / 给出函数原型 double distance(double x1, double y1, double x2 = 0, double y2 = 0); int main() cout void grow() int age = 30; age = age + 1; cout int fibonacci(int n) int result; if (n / 将disk_num个盘从from柱移到to柱,可以借助aux柱 void move_tower(int disk_num, char from, char to, char aux) if (disk_num = 1) / 仅有一个盘时,直接从from柱移 到to柱 cout “Move disk1 from “ from “ to “ to “n“; else / 将disk_num - 1个盘从from柱移到aux柱,借助于to柱 move_tower(disk_num - 1, from, aux, to); / 将最下的盘从from柱移到to柱 cout “Move disk“ disk_num “ from “ from “ to “ to “n“; / 将disk_num - 1个盘从aux柱移到to柱
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西百色市2026届数学八上期末学业水平测试试题含解析
- 陕西省西安市名校2026届数学七年级第一学期期末考试模拟试题含解析
- 重庆市渝北中学2026届七年级数学第一学期期末质量跟踪监视模拟试题含解析
- 河北省承德市腰站中学2026届九年级数学第一学期期末检测模拟试题含解析
- 北京市密云区冯家峪中学2026届七年级数学第一学期期末教学质量检测试题含解析
- 河南省许昌建安区四校联考2026届数学七年级第一学期期末达标测试试题含解析
- 山西省吕梁市孝义市2026届七年级数学第一学期期末调研试题含解析
- 江苏省无锡新吴区2026届七年级数学第一学期期末检测模拟试题含解析
- 中山市重点中学2026届数学九年级第一学期期末调研试题含解析
- 邮储银行鞍山市海城市2025秋招笔试英语阅读理解题专练30题及答案
- 2025年书记在公文抄袭问题专项整治工作会议上的讲话范文
- GB/T 17219-2025生活饮用水输配水设备、防护材料及水处理材料卫生安全评价
- 省级人文社科课题申报书
- 高考物理力学专题复习指导方案
- 2025年执业药师考试题库大全-附答案
- 伟星PPR培训课件
- 小学语文高段课标解读
- 财产申报表-被执行人用
- 万能式断路器课件
- 《小篮球规则》知识培训
- 江苏扬州历年中考语文古诗欣赏试题汇编(2003-2024)
评论
0/150
提交评论