C语言第7章 函 数.pptVIP

  • 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节中介绍变量的作用域问题时曾提到,局部变量在函数内被定义,其所在函数被调用时,局部变量在函数内参与程序的执行,而在定义局部变量的函数外部就无法使

文档评论(0)

1亿VIP精品文档

相关文档