c041模块化与函数 课件.ppt

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

第四章 模块化与函数;实际问题;算法;;问题抽化成一个模块;模块化程序设计的优点;模块化程序设计图示;模块化程序设计;本章学习目标;本章主要内容;实例1模块化;定义函数(创建模块);调用函数(使用模块);总结规律: 设计一个有子函数的程序;函数定义的格式;关于函数定义的说明;函数设计要求;函数调用;关于函数调用的说明;函数调用中的类型问题;函数原型的作用;设计一个函数;函数调用的执行过程;函数调用中的程序控制;;函数的参数传递;函数参数的按值传递;例:输入两整数交换后输出;void swap(int a, int b) { int t; t=a; a=b; b=t; couta=ab=bendl; } 运行结果: x=5 y=10 a=10 b=5 x=5 y=10;按值传递;函数参数的按引用传递;何谓引用?;例:输入两整数交换后输出;void swap(int a, int b)//函数定义 { int t; t=a; a=b; b=t; couta=ab=bendl; } 运行结果: x=5 y=10 a=10 b=5 x=10 y=5;函数参数按引用传递;函数总结_三部曲;函数细节方面;2、函数形参和实参;例: 计算x的立方——注意内存;3、函数的返回值 返回语句 形式: return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用函数中,同时把返回值带给调用函数 说明: 函数中可有多个return语句,但函数被调用后只能有一个值。 若无return语句,遇}时,自动返回主调用函数 若函数类型与return语句中表达式值的类型不一致,按前者为准,自动转换------函数调用转换 void型函数 ;例: 函数返回值类型转换;4、函数调用方式 函数语句: 例 printstar( ); 函数表达式: 例 m=max(a,b)*2; 函数参数: 例 m=max(a,max(b,c)); ;5、函数声明;例 函数说明举例;函数的嵌套调用 嵌套调用 C++规定:函数定义不可嵌套,但可以嵌套调用函数;#include iostream using namespace std; int dif(int x,int y,int z); int max(int x,int y,int z); int min(int x,int y,int z); int main() { int a,b,c,d; cinabc; d=dif(a,b,c); coutMax-Min“dendl; return 0; };递归调用 定义:函数直接或间接的调用自身叫函数的递归调用;例4.10 有5个人坐在一起,问第5个人多少岁?他说比第4个人大两岁。问第4个人岁数,他说比第3个人大两岁。问第3个人,又说比第2个人大两岁。问第2个人,说比第1个人大两岁。最后问第1个人,他说是10岁。请问第5个人多大?;运行结果如下:18 函数调用过程如图所示;#include iostream using namespace std; int age(int n) {int c; if(n= =1) c=10; else c=age(n-1)+2; return(c); } int main( ) {coutage(5)endl; 回推 递推 } age(n)=10 (n=1) 运行结果 18 age(n-1)+2 (n1);递归总结;递归算法;递归算法;递归算法;用递归函数实现递归算法;递归过程演示;递归函数的常见错误;例 有以下程序 #include iostream using namespace std; int f(int n) {if (n==1)return 1; else return f(n-1)+1; } int main() { int i,j=0; for(i=1;i3;i++) j+=f(i); coutjendl; return 0; } 程序运行后的输出结果是: a)4 b)3 c)2 d)1 ;例:#include iostream using namespace std; long fun(int n) { long s;

文档评论(0)

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

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

1亿VIP精品文档

相关文档