- 1
- 0
- 约4.73千字
- 约 48页
- 2020-02-07 发布于辽宁
- 举报
7.3 函数的嵌套调用与递归调用 知识导例1.在下面的程序中,主函数main中调用函数f1,函数f1调用函数f2,函数f2调用函数f3,形成了函数的三重嵌套。 07(128-181)P54 fyy_Embed_12.png 图7-12 程序ex7_3_1.c运行结果2.某单位科室中有5个人。 7.3 函数的嵌套调用与递归调用 07(128-181)P54 fyy_Embed_13.png 图7-13 程序ex7_3_2.c运行结果相关知识C语言中各函数之间是相对独立的,函数和函数之间是并列存在的关系,不允许出现一个函数包含另一个函数的情况。1.嵌套调用 7.3 函数的嵌套调用与递归调用 图7-14 函数嵌套调用示意图 2.递归调用 图7-15 递归函数调用示意图 1)问题中存在递归关系(递归模型,对于数学问题,递归模型就是递归公式),能够将问题转化为与自身类似的问题,但问题的复杂度降低了,即能够将问题向子问题分解。 7.3 函数的嵌套调用与递归调用 2)要有结束递归的条件。实践训练【实训项目一】1.实训内容2.解决方案 07(128-181)P54 fyy_Embed_16.png 图7-16 程序prac7_3_1.c运行结果3.项目分析【实训项目二】 7.3 函数的嵌套调用与递归调用 1.实训内容2.解决方案 07(128-181)P54 fyy_Embed_17.png 图7-17 程序prac7_3_2.c运行结果3.项目分析 图7-18 杨辉三角 【实训项目三】 7.3 函数的嵌套调用与递归调用 1.实训内容2.解决方案 07(128-181)P54 fyy_Embed_19.png 图7-19 程序prac7_3_3.c运行结果3.项目分析【实训项目四】 7.3 函数的嵌套调用与递归调用 1.实训内容2.解决方案 07(128-181)P54 fyy_Embed_20.png 图7-20 程序prac7_3_4.c运行结果3.项目分析【实训项目五】1.实训内容2.解决方案 7.3 函数的嵌套调用与递归调用 07(128-181)P54 fyy_Embed_21.png 图7-21 程序prac7_3_5.c运行结果3.项目分析 7.4 变量的作用域 知识导例输入一个长方体的长、宽、高(正整数),求该长方体的各个面的面积、表面积。 07(128-181)P54 fyy_Embed_22.png 图7-22 程序ex7_4_1.c运行结果相关知识变量被定义之后,不是在任何范围内都可以使用的,只能在某个文件内或某段代码范围内使用,这就是变量的作用域。1.局部变量 7.4 变量的作用域 07(128-181)P54 fyy_Embed_23.emf 1)在函数中定义的变量只能在本函数中使用, 7.4 变量的作用域 主函数main中定义的变量i只能在主函数中使用,而函数f和s定义的变量i也只能在各自函数范围内使用,在其他函数中无法访问。2)在不同的函数中定义同名变量是合法的。3)在函数中出现的形参也是局部变量。4)主函数虽然是程序执行的入口,但它也是函数,因此在主函数内定义的变量也是局部变量,无法在其他函数中使用。2.全局变量 07(128-181)P54 fyy_Embed_24.emf 7.4 变量的作用域 1)凡是能够使用局部变量解决的问题,不要使用全局变量。2)如果在函数内需要使用全局变量,如无必要,最好不要修改全局变量的值,避免对其进行赋值操作。3)如果全局变量被某个函数使用,其他函数应尽量避免使用该全局变量。4)全局变量的数量越少,函数的耦合性就越低,因此应尽量减少全局变量的数量。5)如果全局变量只在某个函数内使用,可以用静态局部变量来代替全局变量。实践训练【实训项目一】1.实训内容 7.4 变量的作用域 2.解决方案 07(128-181)P54 fyy_Embed_25.png 图7-23 程序prac7_4_1.c运行结果3.项目分析【实训项目二】1.实训内容2.解决方案 7.4 变量的作用域 07(128-181)P54 fyy_Embed_26.png 图7-24 程序prac7_4_2.c运行结果3.项目分析 7.5 变量的存储类别 知识导例程序名:ex7_5_1.c 07(128-181)P54 fyy_Embed_27.png 图7-25 程序ex7_5_1.c运行结果相关知识 7.5 变量的存储类别 在7.4节中介绍变量的作用域问题时曾提到,局部变量在函数内被定义,其所在函数被调用时,局部变量在函数内参与程序的执行,而在定义局部变量的函数外部就无法使
您可能关注的文档
最近下载
- 2025年[贵州]社区工作者招聘考试社区社会工作服务实践案例分享试题试.docx VIP
- 2025年新疆化学高考试题及答案.doc VIP
- 麻醉药品和精神药品管理条例.docx
- DELTA台达伺服驱动器 ASDA-A2使用手册-操作说明书.pdf
- NYT3223-2018-日光温室设计规范.pdf VIP
- 输变电工程施工质量验收统一表式(电缆工程土建专业).pptx VIP
- (2025修订版)无人机应用技术考试测试题库及答案详解(基础+提升).docx VIP
- TGDWJ-住院病案无纸化归档系统建设规范及编制说明.pdf VIP
- 高考英语大纲3500词.docx
- 压铸成形工艺与模具设计(全套577页课件课件)-(1).pptx VIP
原创力文档

文档评论(0)