- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京科技大学 C++大学基础教程 第5章函数与编译预处理 第5章 函数 5.1 函数概述 5.2 函数定义及调用 5.3 C++中的特殊函数 5.4 函数模板 5.5 局部变量和全局变量 5.6 变量的生存期和存储类别 5.7 编译预处理(自学) 5.1 函数概述 一般是将整个程序分为若干个程序模块 每个模块用来实现一个特定的的功能 这就是结构化程序设计的思想! C++中模块的实现 函数 类 函数是具有一定功能又经常使用的相对独立的代码段 【例】 #include iostream using namespace std; void print_line() { cout********************************* endl;} void print_text() { cout Welcome to China endl;} int main( ) { print_line(); print_text(); print_line(); return 0; } 5.1.2 函数的种类 库函数:由C++编译系统定义的一种函数,存放在系统函数库中,用户可以根据需要随时调用 常用函数 如:fabs、sqrt、sin、pow、rand (常用数学函数参见教材附录 ) 函数调用形式: 函数名([参数表]) 例如: sqrt(x) 数学函数库中的多数函数都返回double类型结果。 使用数学库函数,需要在程序中包含math.h头文件,这个头文件在新的C++标准库中称为cmath。 函数参数可取常量、变量或表达式。 例: 如果c=13.0、d=3.0和f=4.0,则下列语句: coutsqrt(c+d*f); 计算并显示13.0+3.0*4.0=25.0的平方根,即5.0。 5.2.1 函数的定义 程序如下: #include iostream using namespace std; int cube(int y); //函数原型声明 int main() { int x; cinx; coutx的立方是: cube(x)endl; return 0; } 5.2.3 函数参数传递与返回值 有关形参和实参的说明: (2)地址传递 地址传递实质也是将实参的值赋给形参,只是这时所赋的值是一个变量或数组的地址,这是形参必须是能够接收地址的变量,即指针变量。实参为数组名是典型的地址传递。 若实参是数组名,由于数组名是数组的首地址,因此,与它相对应的形参必须是数组名或指针变量。数组作函数参数包括两种情况,一种是数组元素作函数参数,由于数组元素相当于一个变量,因此数组元素可以作函数的实参,传递给形参的是数组元素的值,属于值传递。另一种是数组名作函数参数,用数组名作函数的实参,传递的是数组的首地址,此时形参也应定义为数组形式,形参数组的长度可以省略。 【例5-4】用冒泡法将10个整数排序。 #include iostream #include iomanip using namespace std; void printarr(int b[10]) { int i; for (i=0; i10; i++) cout setw(5)b[i]; coutendl; } void sort(int b[ ], int n) { int i,j,t; for (i=1; in; i++) for (j=0; jn-i; j++ ) if (b[j]b[j+1]) { t=b[j];b[j]=b[j+1];b[j+1]=t; } } int main() { int a[10] = {10,21,62,96,57,81,44,31,72,35}; cout排序前:endl; printarr(a); sort(a,10); cout排序后:endl; printarr(a); return 0; } 主函数调用sort函数时,将实参a传递给形参b。假设a数组的首地址是3000,则b数组的首地址也是3000。在sort函数中对b数组中的10个数排序后,b数组中元素的值发生了变化,实际上a数组的值也随之发生变化。 2.函数的类型和返回值 (1)函数的类型 在定义一个函数时首先要定义函数的类型,例如: int cube(intx){…) cube函数的类型为整型。C++语言中,常量、变量以及表达式有类型,函数也有类型,函数的类型决定了函数返回值的类型。若省略函数的类型,系统默认其为整型。 函数的返回值是通过return语句带回到主调函数的 功能:终
您可能关注的文档
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第4章 数组与自定义类型.ppt
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第4章任务重点代码.doc
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第5章 面向对象程序基础.ppt
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第5章任务重点代码.doc
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第6章 继承与多态性.ppt
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第6章任务重点代码.doc
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第7章任务重点代码.doc
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第8章windows 相关控件.ppt
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第9章 使用ADO.net 进行数据库编程.ppt
- C#应用程序设计 教学课件 作者 韦鹏程 张伟 朱盈贤 第9章任务重点代码.doc
最近下载
- 动力设备部三级安全教育具体内容.pdf VIP
- 施工承诺书及安全生产协议书.doc VIP
- 句子排序与衔接(测试)-2024年中考语文二轮复习(解析版).pdf VIP
- 山东黄金归来庄矿业有限公司2000t环评报告山东黄金归来庄矿业有限公司2000t环评报告.doc VIP
- 中医五行音乐疗法课件最新完整版本.pptx VIP
- 产品包装设计与制作规范手册.doc VIP
- 以甲醇为原料年产30万吨甲醛生产项目可行性研究报告.doc
- 四川省达州市(2024年-2025年小学六年级语文)统编版小升初真题((上,下)学期)试卷及答案.docx VIP
- 2025年AI技术全景入门分享(大模型基础培训).pdf VIP
- 滚筒洗衣机-----结构图讲课教案.ppt VIP
文档评论(0)