




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、哈尔滨工业大学哈尔滨工业大学 计算机科学与技术学院计算机科学与技术学院 苏小红苏小红 2021-7-32/78 2021-7-33/78 ()yfx 自变量自变量 因变量因变量函数名函数名 2021-7-34/78 2021-7-35/78 2021-7-36/78 2021-7-37/78 2021-7-38/78 Moe Curly Larry 2021-7-39/78 2021-7-310/78 2021-7-311/78 2021-7-312/78 返回值返回值 类型类型 函数名函数名标识符,标识符, 说明运算规则说明运算规则 参数表参数表相当于相当于 运算的操作数运算的操作数 返回返
2、回运算的结果运算的结果 函数出口函数出口 2021-7-313/78 函数体的定界符函数体的定界符 参数表里的变量(叫形式参数,参数表里的变量(叫形式参数, Formal Parameter)也是内部变量)也是内部变量 函数体函数体 2021-7-314/78 函数无返回值,用函数无返回值,用 void定义返回值类型定义返回值类型 用用void定义参数定义参数 ,表示没有参数,表示没有参数 return语句后无语句后无 需任何表达式需任何表达式 2021-7-315/78 返回值类型返回值类型 函数名说明函数名说明 函数的功能函数的功能 返回值作为函数返回值作为函数 调用表达式的值调用表达式的
3、值 形参表,函形参表,函 数入口数入口 函数内部可以定义函数内部可以定义 只能自己使用的变只能自己使用的变 量,称内部变量量,称内部变量 2021-7-316/78 2021-7-317/78 2021-7-318/78 末尾有一个分号,末尾有一个分号, 声明时不要省略形声明时不要省略形 参和返回值的类型参和返回值的类型 2021-7-319/78 2021-7-320/78 Why? 传入负数实参传入负数实参 会怎样?会怎样? 2021-7-321/78 2021-7-322/78 2021-7-323/78 2021-7-324/78 2021-7-325/78 2021-7-326/78
4、 2021-7-327/78 2021-7-328/78 2021-7-329/78 2021-7-330/78 1 函数规模函数规模 要小要小 2 函数功能函数功能 要单一要单一 3 函数接口函数接口 定义定义要要清楚清楚 入口参数有效性检查入口参数有效性检查 敏感操作前的检查敏感操作前的检查 调用成功与否的检查调用成功与否的检查 2021-7-331/78 main() a(); a 函数函数 b(); return; b函数函数 return; 2021-7-332/78 2021-7-333/78 2021-7-334/78 2021-7-335/78 2021-7-336/78 20
5、21-7-337/78 n更大些更大些 怎么办?怎么办? 2021-7-338/78 2021-7-339/78 AB 2021-7-340/78 AB 2021-7-341/78 2021-7-342/78 2021-7-343/78 函数直接或间接调用函数直接或间接调用 自己,称为递归调用自己,称为递归调用 (Recursive Call) 2021-7-344/78 基线情况基线情况 (base case) 一般情况一般情况 (general case) 无需考虑无需考虑 n0了了 2021-7-345/78 2021-7-346/78 n!=n(n-1)! (n-1)!=(n-1)(n
6、-2)! (n-2)! . (n-3)! 5! : 4!=43! 3!=32! 2!=21! 1!=1 回推过程回推过程递推过程递推过程 fact(5)=5*fact(4)= 120 fact(4)= 4*fact(3)= 24 fact(3)= 3*fact(2)= 6 fact(2)= 2*fact(1)=2 fact(1)=1 2021-7-347/78 2021-7-348/78 1 1 0 )2() 1( 1 0 )( n n n nfibnfib nfib 2021-7-349/78 2021-7-350/78 2021-7-351/78 2021-7-352/78 2021-7-
7、353/78 全局变量使函数间的数据交换更容易,更高效,全局变量使函数间的数据交换更容易,更高效, 但建议尽量少用,因为谁都可改写它,所以很难但建议尽量少用,因为谁都可改写它,所以很难 确定是谁改写了它确定是谁改写了它 全局变量全局变量 2021-7-354/78 2021-7-355/78 静态存储区中的变量:静态存储区中的变量:与程序与程序“共存亡共存亡” 动态存储区中的变量:动态存储区中的变量:与程序块与程序块“共存亡共存亡” 寄存器中的变量:寄存器中的变量: 同动态存储区同动态存储区 2021-7-356/78 2021-7-357/78 静态变量仅初始静态变量仅初始 化一次,变量的化
8、一次,变量的 值可保存到下次值可保存到下次 进入函数,使函进入函数,使函 数具有记忆功能数具有记忆功能 2021-7-358/78 静态局部变量和静态局部变量和 全局变量自动初全局变量自动初 始化为始化为0 0值。自值。自 动变量不初始化动变量不初始化 时,值是随机值时,值是随机值 2021-7-359/78 2021-7-360/78 全局变量全局变量 静态外部变量静态外部变量 (只限本文件使用)(只限本文件使用) 外部变量外部变量 (非静态外部变量允许其他文件引用(非静态外部变量允许其他文件引用) 局部变量局部变量 自动变量自动变量,(离开函数,值就消失),(离开函数,值就消失) 寄存器变
9、量寄存器变量(离开函数,值就消失)(离开函数,值就消失) 定义点之前定义点之前 使用,需用使用,需用 extern声明声明 静态局部变量静态局部变量 (离开函数,值仍保留)(离开函数,值仍保留) 动态局部变量动态局部变量 2021-7-361/78 2021-7-362/78 2021-7-363/78 2021-7-364/78 2021-7-365/78 为程序运行为程序运行 所做的准备所做的准备 工作工作 在退出前要做的在退出前要做的 事情,如打印结事情,如打印结 果、资源释放等果、资源释放等 自底向上自底向上自顶向下的模块化程序设计自顶向下的模块化程序设计 2021-7-366/78 2021-7-367/78 2021-7-368/78 处理用户输入,判断是否有输入错误,处理用户输入,判断是否有输入错误, 是否在合法的数值范围内是否在合法的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司名贵钟表鉴定师职业健康技术规程
- 公司锻压模具工岗位合规化技术规程
- 飞机管工产品服务标准掌握考核试卷及答案
- 2025内蒙古能源集团有限公司煤电事业部、金山第三热电有限公司招聘30人考前自测高频考点模拟试题及一套完整答案详解
- 2025年陕西邮电职业技术学院招聘(4人)模拟试卷及答案详解1套
- 2025年餐饮服务质量保证合同
- 2025年新疆糖料甜菜种植合同协议范本
- Parsonsine-生命科学试剂-MCE
- 2025春季新疆石河子大学第一附属医院、石河子大学附属中医医院(兵团中医医院)校园招聘同工同酬52人模拟试卷及一套参考答案详解
- OPC6-CoA-OPC6-Coenzyme-A-生命科学试剂-MCE
- GB/T 15822.3-2024无损检测磁粉检测第3部分:设备
- 工程结算协议书
- 2024-2030年中国痘痘贴行业营销动态及消费需求预测研究报告
- (高清版)AQ 1075-2009 煤矿低浓度瓦斯往复式内燃机驱动的交流发电机组通 用技术条件
- 六年级上册道德与法治全册教学课件
- 中国食物成分表2018年(标准版)第6版
- 疑问句(课件)六年下册英语人教PEP版
- 郑州铁路职业技术学院单招职业技能测试参考试题库(含答案)
- 介绍家乡恩施
- 房租的询价单
- 【宜家家居物流运作问题与优化建议探析11000字(论文)】
评论
0/150
提交评论