- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
国家级精品课程网站(本书配套教学网站) 第5章 函数 5.1 函数概述 5.2 函数的定义 5.3 函数的调用 5.4 函数间的参数传递 5.5函数与数组 5.6 局部变量和全局变量 5.7 函数声明 5.8 带有缺省参数的函数 5.1 函数概述 C++语言程序的结构特点: 程序整体由一个或多个称为函数的程序块组成 每个函数都具有各自独立的功能和明显的界面 5.2 函数定义 函数定义 就是编写完成函数功能的程序块 1、函数定义的一般格式 函数值类型 函数名(形式参数表 ) { 函数体 } 2、函数值类型 函数返回值所具有的数据类型与变量类型相同。 (1)返回值是数值 可以是带符号或unsigned的char、int、short、long型以及float、double型 (2)返回值是地址 类型是指针型 (3)函数没有返回值 类型是void 3、形式参数 (1)形参概念 函数可以带有零个或多个形式参数。 形参是函数的内部变量。即形式参数的生存期和作用域仅限于函数内部。 形式参数只是被初始化的内部变量,即只有当函数被调用,形式参数才被赋予调用函数传递来的实参 (2)形式参数声明 表示将从主调函数中接收哪些类型的信息 例: double grav(double m1, double m2, double distance) 形式参数可以在函数体中引用,可以输入、输出、赋值或参与运算 参数说明格式为: 类型参数1,类型参数2,…,类型参数n 例: int array[],int count 例5.1 编写求阶乘n!的函数 算法分析: 计算公式为: n!= n×(n-1)×…×3×2×1,且0!=1 在子函数中只需一个数据x,故设一个参数n 计算结果要返回主函数,故设一个变量result n的阶乘可在一重循环中实现 例5-1:函数 fac()计算阶乘n! // Example 5-1:函数 fac()计算阶乘n! int fac(int n) { int result = 1; if(n0) return -1; else if(n == 0) return 1; while (n1) { result *= n; n--; } return result; } 5.3 函数的调用 1、函数调用 就是使程序转去执行某个函数体。 C++中,除了main函数外,其他任何函数都是通过被主函数直接或间接调用进行的。 2、调用 无参函数的调用格式: 函数名( ) 有参函数的调用格式: 函数名(实参表) 3、实参 实参用来将实际参数的值传递给形参 可以是常量、具有值的变量或表达式。 例5.2 阶乘函数的调用 // Example 5-2:测试阶乘计算函数的主程序 #include iostream using namespace std; int main() { int n; cout Please input a number n to calculte n! :; cin n; cout n ! = fac(n) endl; return 0; } 图5.1 函数调用和返回的过程 5.4 函数间的参数传递 C++有三种传递方式:传值调用、引用调用和地址调用 。 一、值调用 值传递 在调用时仅将实参的值赋给形参,在函数中对形参值的任何修改都不会影响到实参的值。 好处: 减少了调用函数与被调用函数之间的数据依赖,增强了函数自身的独立性。 缺点: 被调用函数向调用函数传递的数据仅有一个返回值,有时显得不够用 例5-3 交换两个变量的值 // Example 5-3:交换两个变量的值 (不成功) #include iostream using namespace std; void swap(int x, int y) { int tmp; tmp = x; x = y; y = tmp; } // 测试函数 swap() 用的主函数 int main( ) { int a = 2, b = 3; cout Before exchange:a= a ,b= b endl; swap(a, b); cout After exchange:a= a ,b= b endl; return 0; } 二、引用调用 1、引用 是一种特殊类型的变量,可以被认为是另一个变量的别名。 通过引用名与通过被引用的变量名访问变量的效果是一样的。 引用运算符“”用来说明一个引用。 例如: int i, refi = i; 例5-4 利用引用编写交换函数swap( ) // Example 5-4:交换两个整形变量的值 #
您可能关注的文档
- 内蒙古财经大学会计学院基础会计学课件第六章 会计凭证.ppt
- 内蒙古财经大学会计学院基础会计学课件第七章 会计账簿.ppt
- 内蒙古财经大学会计学院基础会计学课件第三章 账户与复式记账.ppt
- 内蒙古财经大学会计学院基础会计学课件第十一章 会计工作组织.ppt
- 内蒙古财经大学会计学院基础会计学课件第十章 账务处理程序.ppt
- 内蒙古财经大学会计学院基础会计学课件第四章 企业主要经济业务的核算.ppt
- 内蒙古财经大学会计学院基础会计学课件第五章 账户的分类.ppt
- 内蒙古财经大学会计学院基础会计学课件第一章 总论.ppt
- 内蒙古财经大学会计学院中级财务会计课件第八章 投资性房地产.ppt
- 内蒙古财经大学会计学院中级财务会计课件第二章 货币资金.ppt
最近下载
- ACD奥的斯内部资料GECB及GDCB服务器使用.pdf
- 初中七年级地理上册期末试卷(含答案).pdf VIP
- 《工程建设标准强制性条文 电力工程部分 2016版》.docx
- 大学毕业论文-基于pid算法的锅炉恒温控制系统正文.doc VIP
- 南华大学《自动控制原理B》2023-2024学年第一学期期末试卷.doc VIP
- 南华大学《自动控制原理B》2022-2023学年第一学期期末试卷.doc VIP
- 南华大学船山学院《自动控制原理》2021-2022学年第一学期期末试卷.doc VIP
- 金融学(中央财经)中国大学MOOC慕课 章节测验期末考试答案.docx
- 12.2 人生价值贵在奉献(教学课件)-【中职专用】中职思想政治《哲学与人生》同步教学示范课课件+教案(高教版2023·基础模块).pptx VIP
- 2024华医网继续教育心血管病预防与康复题库答案.docx VIP
文档评论(0)