《计算机原理与编程基础》课程教学课件(PPT讲稿)第09单元 函数_2/2

第9 章函数(2)1.数组作为函数参数2.函数的递归调用3.函数变量的作用域局部变量、全局变量、外部变量
1 第 9 章 函数(2) 1.数组作为函数参数 2.函数的递归调用 3.函数变量的作用域 局部变量、全局变量、外部变量

数组作为函数的参数数组作为函数参数double GetMax(double x,int n )double xx = x[0];for (int i=1;i>x[i];1double ma = GetMax(a,10);cout<<ma;1Page
Page 2 数组作为函数的参数 ⚫ 数组作为函数参数 double GetMax(double x[],int n ){ double xx = x[0]; for ( int i=1;i>x[i]; } double ma = GetMax(a,10); cout<<ma; }

数组作为函数的参数特别注意:1)数组名做实参(函数中对应形参),传送的值是“地址”。2)如果只是数组的元素作为参数,则是普通的变量,传送的是“元素值”。3)数组名做实参,一定要用另一个参数传入数组长度。Page
Page 3 数组作为函数的参数 ⚫特别注意: 1)数组名做实参(函数中对应形参),传送的 值是“地址”。 2)如果只是数组的元素作为参数,则是普通的 变量,传送的是“元素值”。 3)数组名做实参,一定要用另一个参数传入数组 长度

数组作为函数的参数数组名作函数参数时应注意:1)数组名作函数参数时,应在主调函数和被调函数中分别定义数组。2)实参数组与形参数组的类型必须相同3)形参数组的一维下标数可以省略,写门。4)数组名表示的是数组元素的首地址,数组名作函数参数时,传递的值是数组的地址Page
Page 4 数组名作函数参数时应注意: ◼ 1)数组名作函数参数时,应在主调函数和被 调函数中分别定义数组。 ◼ 2)实参数组与形参数组的类型必须相同。 ◼ 3)形参数组的一维下标数可以省略,写[]。 ◼ 4)数组名表示的是数组元素的首地址,数组 名作函数参数时,传递的值是数组的地址。 数组作为函数的参数

数组作为函数的参数参数传递小结:实参形参传递数据基本变量传值表达式基本变量数组元素传值数组名数组名传递的值是地址)Page5
Page 5 参数传递小结: 实 参 形 参 传 递 数据 基本变量 表达式 数组元素 基本变量 传 值 数组名 数组名 传 值 (传递的值是 地址) 数组作为函数的参数

函数的递归调用递归调用:在调用一个函数的过程中又出现直接或间接地调用该函数本身。这样的调用称为递归调用。voidi)Addrint&if(i>1e)return:eise<i++;Add(i):37Page
Page 6 递归调用:在调用一个函数的过程中又出现直接 或间接地调用该函数本身。这样的调用称为递归 调用。 函数的递归调用

函数的递归调用例使用递归算法编写计算1+2+...n的函数。#include"stdafx.h"#include"stdio.h"int Add(int n);void main()Vint nNum;scanf("%d",&nNum);longnTotal =Add(nNum);递归调用必须可以满足printf("%din",nTotal);一定条件时结束递归调int Add(int n)用,否则无限地递归调用将导致程序无法结束。if(n==1)return 1;elsereturn n+Add(n-1);1Page
Page 7 例 使用递归算法编写计算1+2+. n的函数。 函数的递归调用 递归调用必须可以满足 一定条件时结束递归调 用,否则无限地递归调 用将导致程序无法结束

变量的作用域变量的作用范围变量的生存与死亡也称变量的作用范围变量的作用域,即变量可以存储诸或访问的范围(变量的生存时间)。Page
Page 8 ◼ 变量的作用范围 也称 变量的作用域,即变 量可以存储或访问的范围(变量的生存时间)。 变量的作用范围(变量的生存与死亡) 变量的作用域

变量的作用域1、局部变量局部变量:在一个函数内部定义的变量。longgcd(long a,longb);3int a,b,c;局部变量的作用范围仅限于本函数,即只有在本函数内才能使用它们,其uoid main()他函数不能使用它们。1int x,y;double a,b,c;量不同函数中可以使用相同名字的变量,它们代表不同的对象,互不于扰Page
Page 9 ◼局部变量:在一个函数内部定义的变 量。 ◼局部变量的作用范围仅限于本函数, 即只有在本函数内才能使用它们,其 他函数不能使用它们。 ◼不同函数中可以使用相同名字的变 量,它们代表不同的对象,互不干扰。 1、 局部变量 变量的作用域

变量的作用域全局变量2、全全局变量:在函数外定义的变量,也称外部变量。■作用范围:从其定义的地方开始直至源程序文件的结束全局变量通常放在源程序的开始处10Page
Page 10 ◼全局变量:在函数外定义的变量,也称 外部变量。 ◼作用范围: ◼ 从其定义的地方开始直至源程序文件的结束。 全局变量通常放在源程序的开始处。 2、 全局变量 变量的作用域
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第09单元 函数_1/2.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第08单元 指针_2/2.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第08单元 指针_1/2.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第07单元 数组与字符串3/3.pptx
- 《计算机原理与编程基础》课程教学资源(习题解答,共十一章).pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第一章 导论.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第五章 聚类分析及其在金融领域的运用.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第四章 复杂特征中抓住关键因素——降维.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第十章 数据安全下的机器学习——隐私计算.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第十一章 智能优化.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第十二章 源源不断的新思想.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第三章 关联分析与协同过滤(关联规则分析及其在金融领域的运用).pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第七章 结构派的大成——深度学习与自然语言处理.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第六章 树类分析(决策树及随机森林).pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第九章 图数据分析.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第二讲 线性方法.pdf
- 中央财经大学:《机器学习与智能金融》课程教学课件(讲稿)第八章 强化学习.pdf
- 《大学计算机基础》课程教学资源(二级等级考试Office应用)第4章 使用PowerPoint制作演示文稿.pptx
- 《大学计算机基础》课程教学资源(二级等级考试Office应用)第3章 通过EXCEL创建并处理 3.6 Excel与其他程序的协同与共享.pptx
- 《大学计算机基础》课程教学资源(二级等级考试Office应用)第3章 通过EXCEL创建并处理 3.5 Excel数据分析与处理.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第10单元 结构与类.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第11单元 文件.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第01单元 计算机概述.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第02单元 编程基础.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第03单元 C语言及开发环境.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第03单元 C语言及开发环境(补充-VS开发环境的基本使用方法).pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第04单元 数据类型与条件判断、第05单元 条件选择结构(if switch语句).pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第06单元 循环控制.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第07单元 数组与字符串1/3.pptx
- 《计算机原理与编程基础》课程教学课件(PPT讲稿)第07单元 数组与字符串2/3.pptx
- 北京大学:《大数据分析与挖掘》课程教学资源(讲义)第一章 绪论.pdf
- 北京大学:《大数据分析与挖掘》课程教学资源(讲义)第二章 数据准备.pdf
- 北京大学:《大数据分析与挖掘》课程教学资源(讲义)第三章 关联规则挖掘.pdf
- 北京大学:《大数据分析与挖掘》课程教学资源(讲义)第四章 聚类分析.pdf
- 北京大学:《大数据分析与挖掘》课程教学资源(讲义)第五章 自动分类.pdf
- 《物联网编程技术》课程实验指导书(Python,共三十个实验).pdf
- 东莞理工学院:《场景建模设计》课程教学大纲(2024-2025第一学期).pdf
- 东莞理工学院:《WEB前端应用开发》课程教学大纲(2024-2025第一学期).pdf
- 东莞理工学院:《UE4基础应用》课程教学大纲(2024-2025第一学期).pdf
- 东莞理工学院:《程序设计I》课程教学大纲(2024-2025第一学期).pdf
