C++程序语言教程 第六章.ppt_第1页
C++程序语言教程 第六章.ppt_第2页
C++程序语言教程 第六章.ppt_第3页
C++程序语言教程 第六章.ppt_第4页
C++程序语言教程 第六章.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第3章 表达式和语句,6.1 外部存储类型 6.2 静态存储类型 6.3 作用域 6.4 可见性 6.5 生命期 6.6 头文件 6.7 多文件结构 6.8 编译预处理,目录,理解构造程序的结构 理解过程模块之间的数据联系 理解过程模块中的静态数据表示 理解过程模块中的数据作用域规则 理解过程模块的声明机制 理解头文件在多文件程序结构中的作用,学习目标,外部存储类型 作为各代码文件的共享数据实体用于多文件程序结构中的数据沟通 遵循一次定义原则 遵循先声明才可使用原则 个别模块不能访问某共享数据,源于之前没有声明 各代码文件中的共享数据同名而不同类型是一种严肃的调试错误,3.1 表达式,静态存储

2、类型 静态存储数据意味着一旦创建了该实体,则不再消失,除非程序结束运行-驻留在DATA数据区 静态数据分为全局和局部数据 静态全局数据用于一个代码文件内多个函数之间的数据共享,该共享数据在其他代码文件中不可见 静态局部数据见CH5.5 静态函数作用于定义它的代码文件中,用于屏蔽其他代码文件对该函数的访问,表达式概述,作用域局部作用域 局部作用域针对函数内部的语句序列 函数内部的语句序列可能含有花括号对括起来的复合语句块if,switch,for,while,dowhile等语句可以大量构成含花括号对的复合语句 规则: 块内定义的数据不能被块外访问 块内定义的数据可以被块内之后的语句块所访问 I

3、felse语句中两个语句块互相独立,必须注意规则的体现,其他语句仿此,左值和右值,函数作用域 函数作用域作用于函数内部,只针对goto语句 goto语句的标号为一个名字标识符 凡是名字都必须经编译器检查 goto的标号是函数作用域的,goto往更早执行的语句跳转,其标号虽未预先定义,但可以通过语法检查 goto语句与之后的标号所在语句之间若有定义语句,则有跳过数据定义的嫌疑而产生非法使用goto的编译错误.switch语句类此,左值和右值,文件作用域 文件作用域即静态全局数据的作用域,它在单一代码文件中其作用,左值和右值,可见性 语句块外定义的数据,在语句块内是可见的,但可能数据同名的原因而遭

4、屏蔽 double i=3; for(int i=1; i=10; i+) a+=i*2; / double i遭屏蔽 printf(“%fn”,i) 语句块内可以通过名空间方式访问外部数据,优先级和结合性,生命期 指数据驻留空间的生存期 静态生命期 在全局数据区驻留,一旦创建就不消失,一般有全局数据,全局静态数据,局部静态数据 局部生命期 在栈数据区驻留,在函数内部的语句块中创建,出了语句块便被自动销毁,一般为局部数据 动态生命期 在堆数据区驻留,需要人为创建和销毁,因而人为决定其生存期,一般为动态数据,语句和块,头文件 联络各代码文件,保证函数数据类型的一致性 头文件可以在各代码文件中包含

5、,内容具重复性 能多次重复声明的语句可以放在头文件中,例如,函数声明,变量声明 静态数据说明虽不可重复,但于不同代码文件可以同名,故可放入头文件 数据类型说明虽不可重复,但实体的类型检查是以代码文件为单位,故可在各代码文件中同名声明数据类型,3.2 算术运算和赋值,多文件结构 一个程序可由多个代码文件(.cpp)构成 一个代码文件可包含多个头文件 代码文件之间靠头文件沟通 代码文件与已经编译完成的库(.lib)共同构成程序代码(.exe),3.2 算术运算和赋值,编译预处理 包含指令处理头文件 定义(宏定义)指令定义编译期名字,作用相当于C+标志变量 条件编译指令控制语句块的编译,例如 #ifdef AA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论