- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 函数 函数的定义与使用 内联函数 带默认参数的函数 函数重载 函数模板 使用C++系统函数 第一节 函数的定义与使用 函数的分类 一、 从函数定义的角度看,分为库函数和用户定义函数两种。 (1) 库函数 由C++系统提供,调用前包含有该函数原型的头文件。 在前面各章中用到printf、scanf 等函数均属此类。 (2) 用户定义函数 由用户按需要写的函数。不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明。 第一节 函数的定义与使用 二、从功能的角度分类。 (1) 有返回值函数 执行后将向调用者返回值。须在函数定义和函数说明中明确返回值的类型。 (2) 无返回值函数 执行后不向调用者返回值。指定它的返回为“空类型”-“void”。 第一节 函数的定义与使用 三、 从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数两种。 (1) 无参函数 函数定义和说明及函数调用时均不带参数。 主调函数和被调函数之间不进行参数传送。 (2) 有参函数 在函数定义及函数说明时都有参数,称为形式参数(形参)。在函数调用时须给出实际参数(实参),主调函数把实参传给形参。 第一节 函数的定义与使用 函数的定义 类型说明符 函数名(参数表) { 声明部分 语句 } 第一节 函数的定义与使用 说明: 函数可以声明有某一种类型的返回值,也可以声明空返 回值(void),如不声明返回值,则默认类型是整形。 函数不允许嵌套定义,函数之间的关系是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数。 第一节 函数的定义与使用 3、函数调用 函数调用的一般形式 函数名(实际参数表) 函数使用举例 1、缺省返回类型 max(float x,float y) { return(xy ?x:y); } …. Main() { … Coutmax(3.5,7.9)endl; 标准C中将返回值转换位整形 返回值由return语句实现 2、嵌套调用:被调函数在执行的过程中又调用其它函数 3、递归调用:函数直接或间接的调用自身 如求 n! 、 汉诺塔 关于引用: 在此不是求地址运算,而是起标识作用 类型标识符是指目标变量的类型 声明引用时,必须同时对其进行初始化 关于引用: 引用声明后,不能再把该引用名作为其他变量名的别名 对引用求地址,就是对目标变量求地址 建立数组的引用: 第二节 内联函数 目的:提高程序运行效率 缺点:程序长度增大 可以看成是宏 内联函数 格式 inline 函数声明 说明:是否真正是内联函数由编译器决定。 函数规模过大,编译器一般不作为内联函数处理 包含循环一般不当作内联函数 第三节 带默认值参数的函数 定义:在函数定义时可以预先给出参数的默认值 int sum_calc(int n,int i=1) { int sum=0;int j; for(j=i;j=n;j+)sum+=j; return sum; } 例: int add(int a,int b=2,int c=3,int d=4,int e=5) { return(a+b+c+d+e); }; void main() { coutadd(1)endl; coutadd(1,9)endl; coutadd(1,9,8)endl; coutadd(1,9,3,7)endl; coutadd(1, ,6, ,) } 第四节 函数重载 一、重载的含义:C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。 注意事项: 重载函数的形参必须不同:个数不同或类型不同。 编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。 第五节 函数模板 函数模板的设计思想: 通用性,用一种形式适应普遍需要解决的问题。 函数模板定义 template (typename 自定义表示符) 函数定义 程序实例: #include iostream.h templateclass typeT //或者template typename typeT typeT abs(typeT X) { return (X0?X:-X); } void main() { int x=-9; coutabs(x)endl;
文档评论(0)