- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言(第四章)(下)高教
莆田学院现代教育技术中心 2004年3月 第四章 模块化程序设计 (函数) 五、变量的存储属性 模块化设计要求研究不同模块(函数、源文件)间变量的关系。 变量两大属性: ·数据类型 ·存储属性 复习 数据存储形式 字符型按ASCII码存储,其余以补码存储 变量两大属性: ·数据类型 ·存储属性 以下这些都称为变量的存储属性 (一)、局部变量与全局变量 P127 1、局部变量——函数内部或复合语句内定义的变量 2、全局变量——在函数之外定义的变量 有效作用范围:从定义变量位置开始直到本源文件结束 如果需要将全局变量的作用范围扩展至整个源文件—— 法1 全部在源文件开头处定义 法2 在引用函数内,用extern说明 法3 在源文件开头处,用extern说明 【例】求程序运行结果 【例】求程序运行结果 【例】求程序运行结果 (二) 动态变量与静态变量 程序,内存中都被分成代码区和数据区两大部分。 而数据区又被分为静态存储区、自动存储区和动态分配区等三部分。 分配在静态存储区的变量在程序开始执行时被创建并自动初始化(数值变量被初始化为0),当程序结束时才被撤销。所以常称静态变量的生存期是永久的。 全局变量就是被分配在静态存储区的。 【例】求程序运行结果 【例】求程序运行结果 【例】求程序运行结果 (三) C语言中变量的存储类型 P132 C程序的变量存储位置 C程序的变量存储类别 C程序的变量存储类别 用const声明将变量存储在只读区 C语言除了可以为程序开辟栈区、堆区、静态区外,还可以开辟一个只读区。既然只读区是内存的一个区,所以数据是以变量的形式存储的,但它又是只读的,即不可修改的。所以这也就是把变量定义为只读变量。定义只读变量的方法是在声明变量时使用修饰符const。格式为: 七、编译预处理 编译预处理: P187 ◆宏定义 ◆文件包含 ◆条件编译 【编译】C编译系统对源程序进行:词法和语法分析,代码生成,优化 → .OBJ文件 【编译预处理】编译前对源程序进行一些预加工(改善程序设计环境/模块化设计) 编译预处理命令均以#开头,未尾不加分号 可出现在程序的任何位置,其作用范围:出现点至所在源程序未尾。 C语言程序的加工过程 六、模块的编译和链接 1 分别编译 C语言是一种支持模块化程序设计的语言,它允许将一个大型程序分成多个程序文件分别进行编译。这样的好处在于 当程序的一个局部有错误或对局部进行了修改时,可以只重新编译该局部,不需要将整个程序都重新编译。 某些经过考验的函数的目标代码可以添加为的库函数,供其他程序中使用。 2 用项目管理多文件程序的编译与链接过程 多文件程序的编译、链接过程是比较麻烦的。为了方便用户进行多文件程序的编译、链接,各种程序开发软件都提供了用项目(project)管理多文件程序的编译和链接过程。其使用方法因开发工具而异,请参考有关手册。 3 头文件 用户显式地保证程序一致性的基本方法是保持声明的一致性。保持声明一致性的简单办法是提供一个头文件,让头文件中的信息作为各模块之间的接口信息,有利于提供可重用的模块。使用头文件将把程序分为程序头和程序体两部分。 好的头文件应包含如下一些内容: 类型定义,如定义一个枚举类型enum color {RED,BLUE,GREEN,YELLOW}; 函数声明,如extern int strlen {const char*}; 嵌入函数声明,如inline char get() {return *p++}; 数据声明,如extern int a; 常量定义,如const float pi=3.141593; 包含指令,如#include iostream.h 3 头文件 宏定义,如#define case break; case 注释 好的头文件不能包含以下内容: 一般函数定义 数据定义,如int a; 常量聚集定义,如 const tbl[]={/* … */}; 用户头文件是由用户自己定义的头文件。系统将用双引号方式进行搜索。程序员可以用它们建立各文件之间的信息窗口。 应当注意,修改了头文件时,所有涉及该头文件的程序都应重新编译,所以在编制头文件时应尽量考虑周全;另外,当使用很多头文件时,常常有重复嵌入的情形发生,在这种情形下,应防止标识符重复定义的错误。为避免这些错误,应使用条件编译来测试有无重复定义。 3 头文件 宏定义,如#define case break; case 注释 好的头文件不能包含以下内容: 一般函数定义 数据定义,如int a; 常量聚集定义,如 co
您可能关注的文档
- 日常行为看心理.doc
- 2006年10月自考管理心理学试题及答案.doc
- 复习题管理心理学.doc
- 2006年10月全国自考管理心理学试题.doc
- 《管理心理学》复习思考题.doc
- 2013-2014-02法学通论A卷.doc
- 湖北省第二师范学院业余教育期终考试.doc
- “资源与运营管理”课程基于网络考核改革试点方案.doc
- 心理学笔记13.doc
- 05.1(全).doc
- 2025年高考物理十九大专项实验抢分专练十九:探究等温情况下一定质量气体压强与体积的关系(含解析).docx
- 2025年高考物理十九大专项实验抢分专练十四:探究变压器原副线圈电压与匝数的关系(含解析).docx
- 【四川卷】四川省成都市2022级(2025届)高中毕业班第二次诊断学检测(成都二诊)(3.10-3.12)语文试卷(成都二诊).pdf
- 【新课标1卷】衡水金卷先享调研2025年普通高中学业水平选择性考试模拟试题(3.3-3.4)政治试卷.pdf
- 2025年高考物理十九大专项实验抢分专练二:探究弹簧弹力与形变量的关系(含解析).docx
- Unit1Howtallareyou?Btalklearn(课件)-人教PEP版英语六年级下册.pptx
- 贵州省黔东南苗族侗族自治州2024-2025学年高一上学期1月期末测试政治试题2.docx
- 高三英语一轮复习主谓一致课件.pptx
- 山东省青州第一中学2024-2025学年高二上学期期末模拟(二)历史试题(原卷版).docx
- Unit4PlantsaroundusALet’slearn(课件)-人教PEP版(级上册(1).pptx
文档评论(0)