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
2021年保安工作总结范文4篇.docx
关于校园环保倡议书范文.docx
精准扶贫XX省贫困户申请书.docx
2021快销业务员年度工作总结.docx
2021机关人事工作总结.docx
护士工作总结及工作计划.docx
规划局作风问题工作安排.docx
2021年采购内勤工作总结范文.docx
2021年度UI设计师工作总结范文.docx
2021家装顾问年终个人总结.docx
关于溺水安全的警示语.docx
计生事业单位工作人员年度考核个人总结范文.docx
行政前台月度总结报告.docx
护士年终总结模板.docx
保安个人年度工作总结范例.docx
2021旅行社导游年度总结.docx
百货采购工作总结.docx
环境保护局市级文明单位标兵申报材料_1.docx
急诊科护师个人工作总结.docx
2021年大学毕业生自我鉴定范文.docx
护理专业实习个人工作总结范文【三篇】.docx
护士培训年度总结范文.docx
2021年车间主任工作总结.docx
2021年部门的工作总结范文.docx
2021年采购助理年终工作总结.docx
护理工作总结汇报.docx
保安2021年工作总结范文.docx
国土资源管理工作个人汇报体会.docx
2021建筑工程师工作总结范文精选.docx
2021年底儿科护师个人总结.docx
护理毕业生实习个人总结三篇.docx
兼职导游年终个人工作总结范本.docx
保安部年终工作总结_1.docx
2021年担保公司工作总结范文.docx
2021内科护师年度总结.docx
检测部门个人年度总结.docx
四年级猫教学设计一等奖教案.docx
行政前台每月工作总结范文.docx
保安工作个人总结范文.docx
护士长年度考核个人工作总结.docx
护士长半年个人工作总结范文.docx
检验检疫局工作思路.docx
2021年采购经理年终总结.docx
护士长半年工作总结精选.docx
保安部工作总结范文.docx
八年级英语教案9篇 .docx
2021年春季幼儿园教育教学工作总结.docx