c++第10周第1次课总第20次课

c++第10周第1次课总第20次课

ID:12132037

大小:117.00 KB

页数:10页

时间:2018-07-15

c++第10周第1次课总第20次课_第1页
c++第10周第1次课总第20次课_第2页
c++第10周第1次课总第20次课_第3页
c++第10周第1次课总第20次课_第4页
c++第10周第1次课总第20次课_第5页
资源描述:

《c++第10周第1次课总第20次课》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++程序设计教案第10周第1次课 总第20次课课题:变量的存储与作用域教学目标:掌握变量的存储类型与作用域教学重点:存储类型及作用域教学难点:存储类型及作用域教学方法:讲授法教学过程:【导入新课】函数是C++程序的基本模块。通常我们将一些功能相对独立的或经常使用的操作或运算抽象出来,定义为函数,这些函数可以被重复使用,使用时只要考虑其功能和使用接口即可。在结构化程序设计中,函数是将任务进行模块划分的基本单位,这些模块可以分别单独设计调试并协作完成整个任务。而在面向对象的程序设计中,类中所封装的操作也是用函数进行描述的,因此函数在C++

2、程序中具有非常重要的意义。要掌握函数的使用,必须理解函数调用时的内部实现机制,以及与此相关的内存分配机制、变量的生命期和作用域。【教学内容】4.3全局变量和局部变量程序中的变量由于定义的位置不同,在程序中的可见程度是不一样的,有些变量在整个程序中都是可见的,称为全局变量;有些变量只在某些区域中可见,称为局部变量。所谓可见,指的是定义的这个变量可以被使用。要了解变量的这些属性,必须先了解变量的存储机制。4.3.1变量的存储机制与C++的内存布局操作系统为一个C++程序的运行所分配的内存分为四个区域,如图4.3所示:堆区(动态数据)栈区(函

3、数局部数据)(main()函数局部数据)全局数据区(全局变量、静态变量)代码区(程序代码)图4.3程序在内存中的区域(1)代码区:存放程序代码,即程序中各个函数的代码块;10C++程序设计教案(2)全局数据区:存放全局数据和静态数据;分配该区时全部内存清零。(3)栈区:存放局部变量,如函数中的变量等;分配栈区时内存不处理。(4)堆区(heap):存放与指针相关的动态数据。分配堆区时内存不处理。栈(stack)是一种先进后出的数据结构,原理类似子弹匣,最先压入弹匣的子弹最后一个弹出。局部变量在程序执行过程中动态地获得和释放栈空间。变量获得

4、栈空间称为变量入栈;而这些变量占据的栈空间被释放称为变量出栈。变量出栈的顺序与入栈的顺序相反,即最先分配单元的变量空间最后一个被释放。关于栈的具体内容将在动态内存分配一章中介绍。4.3.2全局变量定义在函数之外的变量称为全局变量。全局变量存放在全局数据区,如果用户在定义时不显式给出初始化值,因全局数据区分配时已将全部内存清零,所以其初始化值全0。全局变量可定义在程序开头,也可定义在中间位置,该全局变量在定义处之后的任何位置都是可以访问的,称为可见的。如果程序由多个函数组成,其中任何一个函数修改全局变量,其他函数都将看到这个修改的结果。【

5、例4.5】多个函数使用全局变量的例子。#includeintn=100;voidfunc(){n*=2;}voidmain(){n*=2;cout<

6、数或块时,才会为其中定义的局部变量分配存储空间;当函数执行完毕返回时,这些局部变量占用的空间会按照先进后出的顺序被依次释放掉。如不对局部变量显式初始化,则其值为随机数。【例4.6】使用局部变量的例子。#includevoidfun(){autointt=5;//fun()中的局部变量,auto可省略cout<<"fun()中的t="<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。