




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 7章 函 数 第 7章 函 数 函数定义和函数调用 函数的嵌套调用和递归调用 局部变量和全局变量 变量的存储类别 内部函数和外部函数 函数定义和函数调用 数定义 【 例 已知五边形各边及对角线的长度,求面积。 a b c d e f g s1 s2 #x,y,z) s,a; s=(x+y+z)/2; a=s*(; a; 分析: a,b,f) ; c,g,f) ; d,e,g) ; a,b,c,d,e,f,g; s1,s2,s3,s; %f%f%f%f%f,&a,&b,&c,&d,&e); %f%f,&f,&g); a,b,f) ; c,g,f) ; d,e,g) ; s=s1+s2+s=%fn,s); a b c d e f g s1 s2 般形式: 类型 函数名 ( 类型 形参,类型 形参, ) 定义部分 语句序列 x,y,z) s,a; s=(x+y+z)/2; a=s*(; a; 【 例 编写函数,在一行上输出 10个 * 字符。 # i; i=0;iy?x:y; a,b,c,m; %f%f%f,&a,&b,&c); m=a,b), c); m=%fn,m); 一般形式: 类型标识符 函数名 (类型 形参 ,类型 形参 , ); 或 类型标识符 函数名 (类型 ,类型 , ) ; 数声明 例如: x,y); 或 【例 被调函数声明的例子 # x,y); a,b,c; %f,%f,&a,&b); c=a,b); f,c); x,y) z; z=x+y; z); c=a,b); /* 在 */ x, y) /* 函数定义 */ z; z=xy?x:y; z); 函 数 调 用 开 始 建 立 形 参 变 量 实 参 值 复 制 给 形 参 执 行 函 数 体带 回 函 数 值 、 返 回 调 用 处 、 撤 销 形 参函 数 调 用 结 束【 例 求末尾数非 0的正整数的逆序数,如 21)的值是: 123 # a, %&a); %ldn, a) ) ; a=%ldn,a); n) k=0; n) k=k*10+n%10; n/=10; k; 21); k=0; 当 n=321时 k=0*10+321%10=1; n=321/10=32; 当 n=32时 k=1*10+32%10=12; n=32/10=3; 当 n=3时 k=12*10+3%10=123; n=3/10=0; 当 n=0时结束循环 分析: n=321, k=0 k=1; k=k*10+2; k=k*10+3; 数的嵌套调用和递归调用 数的嵌套调用 m a i n 函 数调 用 a 函 数结 束a 函 数调 用 b 函 数b 函 数( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 )( 8 )( 9 )【 例 编写程序,输入 n, m,求组合数 )!(! ! mC # n,m; %d%d,&n,&m); ldn, n,m) ); jc(n) i; t=1; i=1;i 3!=3*2! - 2!=2*1! - 1!=1*0! - 0!=1 4!=4*6 jc(n) f; if(n=1|n=0) f=1; f=n* f; y; n; %d”,&n); y=jc(n); %d!=%n,y); y=) f=3*) f=2*) f=1 1 ! 1例 十进制整数按相反的顺序将各位数字打 印出来。 如: 23456); 输出: 654321 #n) if(n=0) %d,n%10); n/10); n; %&n); n); 运行结果如下: 123456 654321 部变量和全局变量 a; a=10; %d”,a); 内存 000 2001 部变量(内部变量) 定义: 在函数内定义的变量。 作用域: 在本函数内有效。 说明: (1) (2) 形参属于 局部 变量。 (3) 不同函数中 同名 变量,占不同内存单 元。 (4) 在 复合语句 中定义的变量,只在本复合语句中有效。 x ) a; a=x0?x:a; m,n; %f”,&m); n=m); %fn”,n); a, n;a); a); v id a,b,c;a=1;b=2; c=a+b; c; c= %dn”,c); dn”,c); 输出: 局变量 ( 外部变量 ) 定义: 在函数外部定义的变量 。 作用域: 从定义的位置到本文件结束 。 x, i, j a,b,c,d m, n c2 a2 ,; f1(x) i,j; . . c1, f2(a, b) c,d; . . m,n; . . 【例 写函数求两个数的和与积。 # x, y) x+y; x*y; a,b; %f%f, &a,&b); a,b); %n, 注意: (1) 设置全局变量的作用是增加了函数间数据传递的通道。 (2) 全局变量定义时未初始化,系统为其赋初值 0。 (3) 若全局变量与局部变量同名,则在局部变量的作用范围内,同名的全局变量不起作用 。 x+y; x*y; 运行情况如下: 3 8 行情况如下:3 8 例 用 展它在程序文件中的作用域 #x, y) z; z=xy?x:y; z); %d, , B); =8, B=2; (4) 当全局变量定义在后,引用在前时,应在引用它的函数中用 此全局变量进行声明(说明)。 【 例 】 用 声明外部变量,扩展它在程序文件中的, B; 【 例 用 展它在程序文件中的作用域 #in in ax(x, y) in z; z=xy?x:y; t r (z); , B; d , , B); , B=2; (5) 当一个程序由多个源文件组成时,如果想在一个文件中引用另一个文件中的已定义的外部变量,要用 【 例 用 文件 a; n) i,y=1; i=1;i a; d,m; a n); %d,%d, &a, &m); d=m); %d*%d=%d,a,m,d); 计算: a的 a*m=行情况如下: 2, 3 2*3=8 变量的属性: 数据类型:如 。 存储类型 :是指数据在内存中 的存储方式。 分两大类: 动态存储类 静态存储类 变量的存储类 型 用户内存空间 动态存储区 静态存储区 程序存储区 变量定义的形式: 存储类型标识符 类型标识符 变量名; 动的 静态的 寄存器 外部的 i,j,k; c; . . 等价于 i,j,k; c; . . 动)变量 态)变量 静态变量分为: 静态 局部 变量 静态 全局 变量 静态全局变量只能被所定义的文件中所有函数引用。 例如在例 a; 【 例 察静态局部变量的值。 #a) b=0; c=1; b=b+1; c=c+1; a+b+c); a=2,i; i=0;i3;i+) %d,a); 分析: i=0时: b: 0 c: 1 b: 1 c: 2 a+b+c=2+1+2=5; 运行结果: 5 6 7 1: 2: 33 62: 3: 44 7 寄存器变量被存放在寄存器中, 比自动变量存取速度快得多。 存器)变量 n) i, f=1; i=1;i=n;i+) f=f*i; f); 注意: (1) 寄存器的数量有限,因此寄存器变量不能定义太多。 (2) 只有局部自动变量和形式参数可作为寄存器变量。 1. 内部函数 内部函数 只能被本文件中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西中医药大学赛恩斯新医药学院《知识表示方法》2023-2024学年第二学期期末试卷
- 2024年返回系统资金筹措计划书代可行性研究报告
- 2024年消雾塔项目资金申请报告代可行性研究报告
- 2024年爱康国宾资金申请报告代可行性研究报告
- 小学一年级环保教育
- 2025年江苏常熟市虞山高新园企业孵化器有限公司招聘笔试参考题库含答案解析
- 2025年天津市天通永和建筑规划设计有限责任公司招聘笔试参考题库含答案解析
- 2025年甘肃天水市张家川县德龙钢铁集团招聘笔试参考题库附带答案详解
- 2025年福建厦门市集美城发环卫有限公司招聘笔试参考题库附带答案详解
- 2025年贵州恐龙岛文化旅游管理有限公司招聘笔试参考题库附带答案详解
- 儿童糖尿病酮症酸中毒诊疗指南(2024)解读
- 老年期常见心理问题的护理(老年护理课件)
- 病毒蛋白相互作用
- T-CAICI 89-2024 通信建设安全生产标准化基本要求
- 2019鲁教版高中地理选择性必修第一册《第二单元 地形变化的原因》大单元整体教学设计2020课标
- 《民法典》2024年知识考试题库(含答案)
- 2023年嘉兴海宁水务集团下属企业招聘工作人员考试真题
- 高中英语外研版 单词表 必修1
- 2024年动物疫病防治员(高级)技能鉴定理论考试题库(含答案)
- 临床流行病学与循证医学-临床实践指南的制定与评价
- 凉山州彝族留守儿童心理教育现状及对策
评论
0/150
提交评论