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

001C++程序设计1.ppt

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

* * 阶乘非递归实现 计算n!的非递归函数 int Factorial(int n) {//计算n! if(n=1) return 1; int f=2; for(int i=3;i=n;i++) f*=i; return f; } 1.2.6 递归函数 * * 斐波那契数列非递归实现 long Fib ( long n ) { if ( n = 1 ) return n; long twoback = 0, oneback = 1, Current; for ( int i = 2; i = n; i++ ) { Current = twoback + oneback; twoback = oneback; oneback = Current; } return Current; } 1.2.6 递归函数 * * 程序1-8sum 非递归实现 templateclass T T Sum(T a[],int n) {//计算a[0:n-1]的和 T tsum = 0; for(int i=0;in;i++) tsum += a[i]; return tsum; } 当n=0时,和为0;当n0时,n个元素的和是前面n-1个元素的和加上最后一个元素。 1.2.6 递归函数 * * a.体会,学习计划。 b.5.试编写一个递归函数,用来输出n个元素的所有子集。例如,三个元素{a,b,c}的所有子集是:{}(空集),{a},{b},{c},{a,b},{a,c},{b,c}和{a,b,c}。 作业 * * * * * * 山东大学计算机科学与技术学院 数据结构 第1章 C++程序设计 * 第1章 C++程序设计 山东大学计算机科学与技术学院 数据结构 第1章 C++程序设计 * 本章内容: C++特性: 参数传递方式(如传值、引用和常量引用)。 函数返回方式(如返值、引用和常量引用)。 模板函数。 递归函数。 常量函数。 内存分配和释放函数:new与delete。 异常处理结构:try,catch和throw。 类与模板类。 类的共享成员、保护成员和私有成员。 友元。 操作符重载。 * * Value Parameters Template Functions Reference Parameters Const Reference Parameters Return Values 递归函数(Recursive Functions) 斐波那契数列(Fibonacci numbers) 阶乘(Factorial) 排列(Permutations) 1.2 Functions and Parameters * * 程序1-1 计算一个整数表达式 int Abc(int a, int b, int c) { return a+b+b*c+4; } X=10; Y=20; z=Abc(2,x,y) 形式参数( formal parameter) 实际参数(actual parameter) 复制构造函数( copy constructor) 析构函数(destructor) 1.2.1传值参数(Value Parameters) * * 传值传递模式- 1 存储器 状态 int Abc(int a, int b, int c) { return a+b+b*c+4; } A A. 在执行方法前,局部量的不存在。 在 Abc方法前 A 代码 m=20; x = 10; y = 15; z=Abc(m,x,y); x x 10 10 y 10 15 m 10 20 z 10 ? * * 传值传递模式- 2 存储器 状态 B. 调用方法时首先给形式参数分配空间,然后把实际参数的值赋给对应的形式参数。 Values are copied at B int Abc(int a, int b, int c) { return a+b+b*c+4; } 代码 m=20; x = 10; y = 15; z=Abc(m,x,y); B m 10 20 x 10 10 a 10 20 b 10 10 c 10 15 y 10 15 z 10 ? * * 传值传递模式- 3 C 存储器 状态 C. 在方法体中,使用形式参数运算。 执行 后 C int Abc(int a, int b, int c) { return a+b+b*c+4; } 代码 m=20; x = 10; y = 15; z=Abc(m,x,y); m 10 20 x

文档评论(0)

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

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

1亿VIP精品文档

相关文档