网站大量收购独家精品文档,联系QQ:2885784924

[工学]第3章 C++函数.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第3章C函数

第3章 C++函数(Functions) Functions 引入函数的目的: 1、使程序更利于维护、逻辑上更清晰 2、减少重复性代码的编写工作。 Functions every C++ program must have a function called main program execution always begins with function main any other functions are subprograms and must be called 3.1 函数的定义和调用 Function Definition and call 3.1.1 Function Definition 类型说明符 函数名(形式参数列表) { 说明部分 语句 } for Example: int add(int x,int y) { int sum; sum=a+b; return sum; } Parts of Function Definition int add ( int x,int y )  heading { return n * n * n ;        body } 函数原型 function prototype 如果程序中先进行函数调用后进行函数定义,则必须在调用之前进行函数声明 格式: 函数类型 函数名(参数列表) 目的是使编译器知道函数的返回值类型、参数的个数及各个参数的类型,以便对函数调用的合法性检查。 #include iostream.h double cub (doubel y) // prototype void main() { coutcub(5.0)endl; } double cub(double y) // definition { return y*y*y; } Function return value Function return value 通过函数调用使主调函数得到返回值。对函数返回值说明: 1、函数返回值通过 return语句获得, 一个函数中可以包含多个return 语句,但只能有 一个起作用。 2、定义函数类型必须与返回值类型一致。 3、函数返回值类型不同于函数类型时,自动转换为函数类型。 Function return value 4、如果函数中不使用return语句,函数将带回一不确定的值。 5、为了明确表示“不带回值”可用void定义函数为无类型 a void-function cannot return any value in its identifier Function return value for Example: int max(int x,int y) { if(xy) return x; else return y; } FUNCTION CALLED FUNCTION CALLED 调用形式 函数名(实参列表) 嵌套调用 函数可以嵌套调用,但不允许嵌套定义。 递归调用 函数直接或间接调用自身。 递归调用 递归函数: 是一种通过自己调用自己的方法来获得结果,或者完成一项任务。 注意:每个递归调用必须设置某种条件,函数对条件进行判断决定是否递归 例题 求0到10的阶乘 递归调用 递归过程的两个阶段: 递推: 4!=4×3! → 3!=3×2! → 2!=2×1! → 1!=1×0! → 0!=1 未知 已知 回归: 4!=4×3!=24←3!=3×2!=6←2!=2×1!=2←1!=1×0!=1←0!=1 未知 已知 求n! 分析:计算n!的公式如下: 这是一个递归形式的公式,应该用递归函数实现。 求n! 源程序: #include iostream using namespace std; long fac(int n) { long f; if (n0) coutn0,data error!endl; else if (n==0) f=1; else f=fac(n-1)*n; return(f); }

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档