C++面向对象程序设计课件第三章 C++程序的结构.ppt
1、18 十二月 2023C+面向对象程序设计第三章 C+程序的结构t3.1 作用域和可见性t3.2 生存期t3.3 变量的存储类型t3.4 编译预处理和多文件结构t项目设计2 预处理及多文件结构18 十二月 2023C+面向对象程序设计3.1 作用域和可见性t3.1.1 作用域t3.1.2 可见性18 十二月 2023C+面向对象程序设计3.1.1 作用域t作用域是标识符在程序中有效的范围l块作用域t当标识符的声明出现在由一对大括号所括起来的一段程序(块)内时,该标识符的作用域从声明点开始,到块结束的大括号处为止,该作用域的范围具有局部性。t例如,如下代码:void fun(int a)/a的作用域起始处int b=1;/b的作用域起始处 18 十二月 2023C+面向对象程序设计3.1.1 作用域l函数原型作用域t函数原型作用域指的是在声明函数原型所指定的参数标识符的作用范围。if(ab)int c;/c的作用域起始处c=a-b;coutc;./c的作用域终止处 /a和b的作用域终止处18 十二月 2023C+面向对象程序设计3.1.1 作用域t这个作用范围是在函数原型声明中的左、右括
2、号之间。l函数作用域t在C+语言中,只有goto语句中的标号标识符具有函数作用域。t由于goto语句的滥用导致程序流程无规则、可读性差。因此现代程序设计方法不主张使用goto语句。l文件作用域t文件作用域是在所有函数定义之外声明的,其作用域从声明之处开始,直到文件结束。18 十二月 2023C+面向对象程序设计3.1.2 可见性t可见性是从对标识符的引用的角度来谈的概念。如果标识符在某处可见,则就可以在该处引用此标识符。程序运行到某一点能够引用到的标识符就是该处可见的标识符。t作用域指的是标识符有效的范围,而可见性是分析在某一位置标识符的有效性。18 十二月 2023C+面向对象程序设计3.1.2 可见性t作用域可见性的一般规则是:l标识符应声明在前,引用在后。l在同一作用域中,不能声明同名的标识符。l在没有互相包含关系的不同的作用域中声明的同名标识符互不影响。l对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。18 十二月 2023C+面向对象程序设计3.1.2 可见性t作用域与可见性实例:#include using nam
3、espace std;int i;/变量i具有文件作用域void main()i=5;/文件作用域的i赋初值 /子块1 int i;/变量i具有块作用域 i=7;couti=iendl;/输出7couti=iendl;/输出5 18 十二月 2023C+面向对象程序设计3.2 生存期t3.2.1 静态生存期t3.2.2 动态生存期18 十二月 2023C+面向对象程序设计3.2.1 静态生存期t静态生存期与程序的运行期相同,只要程序一开始运行,这种生命期的变量就存在,当程序结束时,其生命期就结束。l具有静态生命期的变量在定义时就分配固定的存储单元,并一直保持不变,直至整个程序结束。l如果要在函数内部的块作用域中声明具有静态生存期的变量,则要使用关键字static,例如下列语句声明的变量i便是具有静态生存期的变量,也称为静态变量:static int i;l静态生命期的变量,若无显式初始化,则自动初始化为0。18 十二月 2023C+面向对象程序设计3.2.2 动态生存期t在块作用域中声明的变量具有动态生存期,也可称为局部生存期变量。这种变量的生存期开始于程序执行经过其声明点时,而结束于
4、其作用域结束处。l具有动态生存期的变量是在程序执行过程中,使用它的时候才分配存储单元,使用完毕就立即释放。18 十二月 2023C+面向对象程序设计3.2.2 动态生存期t变量的动态生存期与可见性例子#include using namespace std;int i=1;/i具有文件作用域和静态生存期void main(void)/a具有块作用域和静态生存期,局部可见。static int a;int b=-10;/b,c具有块作用域和动态生存期。int c=0;void other(void);cout-MAIN-n;cout i:i a:a b:b c:cendl;18 十二月 2023C+面向对象程序设计3.2.2 动态生存期 c=c+8;other();cout-MAIN-n;cout i:i a:a b:b c:cendl;i=i+10;other();void other(void)static int a=2;static int b;/a,b具有块作用域和静态生存期,局部可见 /只在第一次进入函数时被初始化。18 十二月 2023C+面向对象程序设计3.2.2 动态生
5、存期 int c=10;/C具有块作用域和动态生存期 /每次进入函数时都初始化。a=a+2;i=i+32;c=c+5;cout-OTHER-n;cout i:i a:a b:b c:cendl;b=a;18 十二月 2023C+面向对象程序设计3.3 变量的存储类型t3.3.1 局部变量t3.3.2 全局变量t3.3.3 外部变量18 十二月 2023C+面向对象程序设计3.3.1 局部变量t具有块作用域的变量称为局部变量。t一般说来,用自动存储类型(auto)声明的变量都是限制在某个程序范围内使用的,即为局部变量。t使用关键字register声明寄存器类型的变量的目的是将所声明的变量放入寄存器内,从而加快程序的运行速度。t静态类型(static)变量也是一种局部变量。它和自动存储类型变量的最大不同之处在于:静态存储类型变量在内存中是以固定地址存放的,而不是以堆栈方式存放的。18 十二月 2023C+面向对象程序设计3.3.1 局部变量t在C+语言中,声明局部变量的时候加上关键字static就构成了静态局部变量。t局部变量实例参见教材 例 3-318 十二月 2023C+面向对象程序设
《C++面向对象程序设计课件第三章 C++程序的结构.ppt》由会员m****u分享,可在线阅读,更多相关《C++面向对象程序设计课件第三章 C++程序的结构.ppt》请在八斗文库上搜索。
《MATLAB图像处理实例详解》课件Chapter_9o第9章彩色图像处理.pptx
《MATLAB图像处理实例详解》课件Chapter_6i第6章图像复原技术.pptx
《MATLAB图像处理实例详解》课件Chapter_13a第13章小波在图像处理中的应用.pptx
《Windows Server操作系统维护与管理项目教程》课件学习情境4.pptx
《MATLAB图像处理实例详解》课件Chapter_11o第11章图像特征分析.pptx
《中外广告史》课件第七章ppt.pptx
《经济学原理与应用》课件第8章ppt.pptx
《企业内部控制与制度设计(第3版)》课件项目五销售业务内部控制与制度设计.pptx
《经济学原理与应用》课件第4章ppt.pptx
《企业内部控制与制度设计(第3版)》课件项目三采购业务内部控制与制度设计.pptx
《资产评估》课件项目 八企业价值评估.ppt
《经济学原理与应用》课件第7章ppt.pptx
《人员测评原理与方法(第三版)》课件第十一章 个人资料的分析与评鉴.pptx
课件《客舱设施与服务》(模块一实操).pptx
《新编文学理论(第二版)》课件第七章.pptx
课件《客舱设施与服务》(模块三案例).pptx
《资产评估》课件项目四 机器人设备评估.ppt
《企业纳税实务(第3版)》项目一、项目二.ppt
《酒吧服务与管理(第3版)》课件模块一酒吧概述.ppt
《营销心理学》课件项目二 探索消费者的心理过程.pptx
《人员测评原理与方法(第三版)》课件第五章智能测评.pptx
《人员测评原理与方法(第三版)》课件第七章 胜任素质测评.pptx
《银行产品推广与服务》课件.pptx
《客舱设施与服务》模块二练习题答案.docx
《经济学原理与应用》课件第3章ppt.pptx
《中外广告史》课件第十章.pptx
《酒吧服务与管理(第3版)》教案教案(模块十三).docx
《跨境电商通关实务(第2版)》课件2021课件4关务技能3-报关单填制.ppt
《客舱设施与服务》模块一练习题.docx
《资产评估》课件项目一 资产评估基本理论.ppt
《经济学原理与应用》课件第1章ppt.pptx
《企业内部控制与制度设计(第3版)》同步训练参考答案.doc
【热门】亲子活动总结篇 .docx
《空间几何体的三视图》教案 .docx
三级语文教学工作及班主任总结 .docx
《稻草人》教学设计 .docx
七级上册英语知识点总结及练习-译林版 .docx
三严三实严于律己演讲发言稿与“三严三实”第三专题学习研讨实施方案合集 .docx
三严三实和忠诚干净担当心得体会范文 .docx
三下语文第六单元教案 2.docx
企管顾问辞职报告(精选多篇).doc
2022年关于“三会一课”专题党课讲稿范文3篇合编.docx
七级上册知识点总结 2.docx
企业股权转让协议书模板4篇.doc
七级上册英语单词语法总汇 .docx
《我的战友邱少云》课件.ppt
《程控数字交换》叶敏版知识点总结及对应页码.docx
一级主题班会活动记录 .docx
【大学课件】《建筑识图与构造》教学大纲 .docx
《论语十二章》导学案+答案+过关,三合一 .docx
《论语》知识竞赛试题附答案 .docx
-图文结构式备课九级上英语 .docx
三级语文第三单元教学设计 .docx
三一重装员工考勤管理制度 .docx
-古诗两首-模拟题.docx
年会节目策划方案范文大全.docx
《空间直角坐标系》教学设计 .docx
《设计人生把握青春》主题班会主持词 .docx
《集合的含义与表示》教学设计 .docx
【济南版】八级生物上册教案第单元第章第节-青春期发育- 2.docx
《穷人的银行家》读后感 .docx
一级人自然社会教案浙江版 .docx
七上第章第一节天气理教案 .docx
年终工作总结的心得体会.docx
七级上册语文《春》教学设计 .docx
《营养要均衡》教学课件.ppt
《设计笔筒》教学设计 2.docx
企业年度工作报告范文.doc
一年级教师教学工作计划范文五篇模板.docx
NCBI数据库的使用与功能介绍.ppt
一级以内加减法口算题 5.docx
农村大学生入党思想汇报优秀范文三篇.docx
-策划方案可行性及评估.docx
企业员工爱岗敬业演讲稿.doc
一年级老师年度工作总结5篇.docx
三严三实学习心得体会与“做幸福的教师”学习心得合集 .docx
-区域地理-世界地理.docx
农村土地的买卖合同范例.docx
《英美诗歌选读》课程教案 .docx
三严三实之勤政廉政修为学习心得与物业保安终总结合集 .docx
一年级数学精品教案5篇.docx
ASP程序设计及应用(第二版)课件第11章Web安全.ppt
C++面向对象程序设计课件第六章 多态性与虚函数.ppt
Visual C++程序设计教程课件第5章.ppt
C语言程序设计项目化教程课件第10章.ppt
Windows Server 配置管理项目实训教程课件项目7 管理存储设备.ppt
ASP程序设计及应用(第二版)课件第3章VBScript脚本语言.ppt
Visual Basic程序设计简明教程(第二版)课件第1章.ppt
C语言程序设计(第二版)课件第10章.ppt
3ds max 2009基础案例教程课件3ds max 2009-6.ppt
3ds max 2009基础案例教程课件3ds max 2009-3.ppt




马上下载
