08-函数素材.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.1 结构化程序设计 8.2 函数定义 8.3 原型声明与函数调用 形参与实参 形式参数:定义函数时函数名后面括号中的变量名 实际参数:调用函数时函数名后面括号中的表达式 8.4 向函数传值 8.5 向函数传地址 8.6 向函数传数组 8.7 向函数传字符串 8.8 指针型的函数 8.9 函数指针 8.10 作用域 局部变量与全局变量 局部变量---内部变量 定义:在函数内定义,只在本函数内有效 说明: main中定义的变量只在main中有效 不同函数中同名变量,占不同内存单元 形参属于局部变量 可定义在复合语句中有效的变量 局部变量可用存储类型:auto register static (默认为auto) 全局变量---外部变量 定义:在函数外定义,可为本文件所有函数共用 有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件 动态变量与静态变量 存储方式 静态存储:程序运行期间分配固定存储空间 动态存储:程序运行期间根据需要动态分配存储空间 内存用户区 变量存储类型 8.12 命令行参数 8.13 递归 目的要求 复习思考题 上机练习 图8-25 汉诺塔 图8-25 三个盘子的移动情况 1.了解结构华程序设计的方法 2.掌握函数的定义,声明的方法及注意事项 3.掌握传值,传地址的特点和使用方法 4.掌握向函数传递数组,字符串的方法 5.掌握指针型函数与函数指针的概念和用法 6.掌握命令行参数的含义与用法 7.掌握作用域,生命期及变量存储类型的概念 8.掌握递归的概念和递归程序设计方法 图8-9 用数组做形参 图8-10 用指针做形参 1.在实际应用中,有时需要函数返回的不是数据而是一个地址量。 2.返回地址的函数叫指针型的函数。 3.定义时要在函数名前面加星号(*),其它与一般函数完全一样。 4.需要注意的是:不可以把一个局部变量的地址做为指针型函数的返回值。 【程序8-5】指针型函数的使用方法 程序运行时,函数的代码存储在内存中,函数名就是函数代码在内存中存储的起始位置,是一地址常量。 图8-11 函数指针的概念 1.函数指针的概念 (1)用来存储函数地址的指针叫函数指针 (2)定义函数指针的格式 数据类型标示符 (*指针名)(形式参数列表); 2.通过函数指针调用函数 (1)直接用指针名替代函数名 格式是: 指针名(实参) (2)对指针取间接运算 格式是: (*指针名)(实参) 图8-12 使用函数指针访问函数 1.作用域是一个重要概念,又叫作用范围。 2.它决定了程序中定义的对象,如变量、数组、函数原型声明等在程序中的可见范围。 3. C中规定,任何对象只有在其作用域内才可以被访问。 4.若对象可以被访问就说其具有可见性。 5.作用域和可见性是密不可分的两个概念。 6.要理解作用域的含义就必须明确两个概念——语句块和全局区。 (1)语句块是用一对大括号括起来的0条或多条语句 。 (2)语句块通常包含声明区和语句区两部分。 (3)在语句块中定义对象的作用范围是从其定义位置到语句块结束 位置。 (4)语句块允许嵌套, 就是说语句块中可以包含语句块。 (5)每一个语句块可以有其自己独立的声明部分和语句部分。 图8-13 语句块和局部可见性 (6)全局区又叫全程区,一般是指整个程序开头的区域。 (7)全局区往往用来放置预处理命令、函数原型声明语句和全局变量的定义语句。 (8)在全局区声明或定义的对象在整个程序中都是可见的 。 7.有了作用域的概念,使得不同函数中的变量具有局部的可见性,就可以对数据起到保护作用。 图8-14 全局作用域和块作用域 变量的属性 数据类型:变量所持有的数据的性质(操作属性) 存储属性 存储器类型:寄存器、静态存储区、动态存储区 生存期:变量在某一时刻存在-------静态变量与动态变量 作用域:变量在某区域内有效-------局部变量与全局变量 变量的存储类型 auto -----自动型 register-----寄存器型 static ------静态型 extern -----外部型 变量定义格式: [存储类型] 数据类型 变量表; 如: int sum; auto int a,b,c; register int i; static float x,y; 8.11 变量的存储类型 float f1(int a) { int b,c; ……. } char

文档评论(0)

yy558933 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档