ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:336.50KB ,
资源ID:6835260      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6835260.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(17 函数3.doc)为本站会员(gnk289057)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

17 函数3.doc

1、第 1 页 12006-2007 学年 第一学期 教案 NO._20_ 教研室:基础 教师:黄春芳学科名称:C 语言基础授课章节题目或课题: 第十章 函数(三)本次授课属于: 理论课 上机课 习题课 计论课 其它授课班级 授课日期 节次 变动说明06 计 2 第_19 周 星期_一_ 第 1,2节06 计 1 第_18 周 星期_四_ 第 1,2节执行情况教学目的 要求1,复习函数参数传递的方式,函数的嵌套和递归调用2,了解变量的存储类型3,学会定义各种不同存储类型的变量4,了解变量的生存期重点 1,各种不同存储类型变量的异同2,变量的生存期难点及解决措施静态变量的特点解决:通过具体案例来说明

2、作业 习题册后记 第一节课讲解习题,花费了比较长的时间,导致后来上存储类型部分的时候很匆忙,下次还需要特别复习一下。第 2 页 2宁 波 大 红 鹰 职 业 技 术 学 院 教 案 专 用 纸教 学 过 程 与 内 容 备 注一、 复习回顾 复习函数参数传递的两种方式: 值传递和地址传递复习函数调用的两种方式: 嵌套调用和递归调用二、授课内容10.4 变量的作用域变量使用的有效范围称为变量的作用域。1、变量只能在它的作用范围内使用,即变量在它的作用域之外不能被引用。2、变量的作用域直接与变量定义的位置相关。1)、在函数内部(或复合语句内部)定义的变量称为内部变量。内部变量的作用域是定义它的函数

3、(或复合语句) 。2)、在函数外任意位置定义的变量称为外部变量。外部变量的作用域是从定义或声明的位置开始,直至它所在源程序文件的结束(如果声明在函数内,则只在函数内有效) 。3、作用域不同的同名变量有时会出现作用域的部分重叠,这时系统通常都选择作用域范围小的变量有效。【例】请根据变量作用域规则和参数传递的原则分析程序的执行结果。 #include int a=1,b=2; /*外部变量 a,b*/int f1( int a) /*内部变量 a*/ int b=10; /*内部变量 b*/printf(“%d %dn”,a,b); /*这里的 a,b 是内部变量 a 和 b*/return (a

4、*b); /*这里的 a,b 是 f1 内的内部变量 a 和b*/main( )printf(“%d %dn”,a,b); /*这里的 a,b 是外部变量 a 和 b*/printf(“%dn”,f1(a+b); /*这里的 a,b 是外部变量 a 和 b*/程序的运行结果:1 23 10304、内部变量的特性有助实现信息隐蔽,即使不同的函数定义了同名的内部变量,也不会相互影响。而外部变量的使用增加了函数之间传递数据的途径。如果一个函数需要返回两个或两个以上的计算结果时,可以使用外部变量传递数据。在复习过程中,要涵盖各个知识点说明变量存储类型的重要性和必要性详细解释这个程序第 4 页 4第 5

5、 页 5宁 波 大 红 鹰 职 业 技 术 学 院 教 案 专 用 纸教 学 过 程 与 内 容 备 注10.5 变量的存储类别1、根据变量在程序运行期间是否需占用固定的存储单元,变量的存储类别可分为两类:(1)动态存储类别:程序运行期间不需要长期占用内存单元。动态存储类别的变量有 auto(自动) 类型和 register(寄存器)类型。(2)静态存储类别:静态存储类别的变量在编译时被分配空间,在整个程序运行期间一直占用固定的内存空间,程序运行结束才释放内存空间。可以用 static、extern 定义和声明静态存储类别的变量。2、程序运行时占用的内存空间通常分为程序区、静态存储区和动态存储

6、区三部分。3、动态存储类别的变量可存放在两个地方:动态存储区和寄存器。4、静态存储类别的变量只能存放存放于静态存储区中。5、定义变量时需要说明存储类别。因此,完整的变量定义形式应为:存储类别 数据类型 变量列表;10.5.1 内部变量的存储类别1、auto(自动)变量(1) 、C 系统默认的内部变量的存储类型是 auto 类型。(2)自动变量在其定义所在的函数(或复合语句)开始执行时才分得内存空间,在该函数(或复合语句)执行期间占用内存空间。在函数(或复合语句)执行结束时自动变量占用的空间被系统收回。【举例】注意变量的存储类别。2、register(寄存器)变量(1)register 变量和

7、auto 变量不同之处在于 register 变量被存放在寄存器中,因此比 auto 变量存取速度快的多。通常将频繁使用的变量放在寄存器中,以提高程序的执行速度。(2)计算机中寄存器的数量是有限的,而且寄存器的数据长度也是有限的。因此 register 变量不能定义太多,也不能是数据类型太大的变量。(3)现今 register 变量定义通常是不必要的。优化的编译系统能够识别使用频繁的变量,并将其放到寄存器之中。3、static (静态)变量(1)static 变量存放在内存的静态存储区。static 内部变量在整个程序运行期间占用固定的内存单元。(2)再次调用 static 内部变量所在函数时

8、,static 内部变量的值为上次调用结束时的值。(3)系统在编译时为 static 变量分配空间并赋初值,对未赋值的内部 static 数值型变量,系统自动给它赋值为 0。因为在编译期间赋初值,所以只能赋一次初值。在概念解释的同时举例说明各种不同存储类型变量的区分第 1 页 1宁 波 大 红 鹰 职 业 技 术 学 院 教 案 专 用 纸教 学 过 程 与 内 容 备 注(4)注意:static 内部变量的作用域仍然是定义该变量的函数体(或复合语句)内部。虽然 static 变量在整个程序运行期间都是存在的,但在它的作用域外,它仍是不可被引用的。【例】编程序比较内部 auto 变量和内部 s

9、tatic 变量的不同。10.5.2 外部变量的存储类别1、外部变量的定义(1)外部变量只能是静态存储的变量,存放在内存的静态存储区内。外部变量在整个程序的运行期间一直占用固定的内存单元。(2)外部变量分类:如果定义外部变量时用 static 定义,则虽然该变量在程序的运行期间一直存在,但只能被其所在文件中的函数所使用,不能被其他文件中的函数使用。如果定义外部变量时不用 static,该变量能被其他文件中的函数使用。2、外部变量的声明(extern 声明)(1)C 语言用 extern 标识符声明外部变量。(2)对外部变量的声明可以在函数的内部,也可以在函数的外部。(3)从外部变量的定义位置开始到该文件的结束的这段区域内无需对外部变量声明,可直接使用。(4)必须通过声明方可使用外部变量的情况:【例】注意 x,y 的说明与定义。#include extern int x,y; /*外部变量 x、y 的声明*/main( ) printf(“%dn“,mul(x,y); int x=2,y=5; /*外部变量 x、y 的定义*/int mul(int a,int b) return(a*b); 复习回顾要求同学们自学外部函数举例说明

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报