- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 模块化编程 5.1 概述 模块化程序设计 若只有main函数,则程序太长、太复杂,导致跟踪、调试、维护困难 基本思想:将一个大的程序按功能分割成一些小模块,各部分独立编码、调试、再集成。 特点: 各模块相对独立、功能单一、结构清晰、接口简单 控制了程序设计的复杂性 易理解 易于维护和功能扩充 开发方法: 自上向下,逐步分解,分而治之 函数分类 从用户角度 标准函数(库函数):由系统提供 用户自定义函数 从函数形式 无参函数 有参函数 5.1.1 函数的定义 多函数程序 函数定义格式 函数类型 返回语句 形式: return(表达式); 或 return 表达式; 或 return; 功能:使程序控制从被调用函数返回到调用函数中,同时把返值带给调用函数 5.1.2 函数的调用 调用形式 函数名(实参表); 5.1.3 函数参数及其传递方式 实际参数:调用函数时函数名后面括号中的表达式 形式参数:定义函数时函数名后面括号中的变量名 对被调用函数要求:必须是已存在的函数 库函数: #include *.h 用户自定义函数: 函数类型说明 要求使用函数之前做函数说明 一般形式: 函数类型 函数名(形参类型 [形参名],….. ); 作用:告诉编译系统函数类型、参数个数及类型,以便检验 函数说明位置:程序的数据说明部分(函数内或外) 下列情况下,可不作函数说明 若函数返值是char或int型,系统自动按int型处理 被调用函数定义出现在主调函数之前 5.1.4 函数的嵌套与递归调用 嵌套调用 p102 C规定:函数定义不可嵌套,但可以嵌套调用函数 5.3 变量的存储属性 p111 概述 变量是对程序中数据的存储空间的抽象 局部变量与全局变量 局部变量---内部变量 规则:在函数内定义,只在本函数内有效(main中定义的变量也只在main中有效) 全局变量---外部变量 规则:在函数外定义,可为本文件所有函数共用 有效范围:从定义变量的位置开始到本源文件结束,及有extern说明的其它源文件 动态变量与静态变量 存储方式 静态存储:程序运行期间分配固定存储空间 动态存储:程序运行期间根据需要动态分配存储空间 内存用户区 变量存储类型 5.5 编译预处理 顾名思义,是对源程序编译之前,让编译器对源程序做一些特殊处理。 熟悉的有: 宏定义 #define 文件包含 #include 格式: “#”开头 占单独书写行 语句尾不加分号 宏定义和宏替换 p118 不带参数宏定义 一般形式: #define 宏名 [宏体] 功能:用指定标识符(宏名)代替字符序列(宏体) 带参数宏定义 一般形式: #define 宏名(参数表) 宏体 带参的宏与函数区别 文件包含 功能:一个源文件可将另一个源文件的内容全部包含进来。 #include “文件名” #include 文件名 被包含文件内容 源文件(*.c) 头文件(*.h) 条件编译(编译控制) #include stdio.h int i; main() { void prt(); for(i=0;i5;i++) prt(); } void prt() { for(i=0;i5;i++) printf(“%c”,’*’); printf(“\n”); } 例 外部变量副作用 运行结果:***** 虹渭戊摆畔吏毅增镰香的菊座磋代雀锚境刨搁渔殖龙仁瞎棍狙襟康奸斯秘C语言程序设计ch05 模块化编程C语言程序设计ch05 模块化编程 程序区 静态存储区 动态存储区 全局变量、局部静态变量 形参变量 局部动态变量(auto register) 函数调用现场保护和返回地址等 生存期 静态变量:从程序开始执行到程序结束 动态变量:从包含该变量定义的函数开始执行至函数执行结束 纫脖焕桂崭榷捷豆爬旅钠呜淤檄泛瑚准绅骆烙枚月矽姨微崎死捍嗡会篇兽C语言程序设计ch05 模块化编程C语言程序设计ch05 模块化编程 静态 动态 存储方式 程序整个运行期间 函数调用开始至结束 生存期 编译时赋初值,只赋一次 每次函数调用时 赋初值 自动赋初值0或空字符 不确定 未赋初值 静态存储区 动态区 存储区 寄存器 局部变量 外部变量 作用域 定义变量的函数或复合语句内 本文件 其它文件 局部变量默认为auto型 局部static变量具有全局寿命和局部可见性 局部static变量具有可继承性 extern不是变量定义,可扩展外部变量
您可能关注的文档
最近下载
- 天津大学测控电路试卷.doc VIP
- 西 藏图考 清 黄沛翘(国立中央图书馆典藏).pdf
- 商标使用许可备案提前终止协议书8篇.docx VIP
- 2025年成都百万职工技能大赛(快递员)备赛试题库(含答案).docx
- 材料概论-第二章课件.pptx VIP
- 工业机器人编程与操作(FANUC)配套课件.ppt
- 第一单元 快乐的课堂 1~5 数的认识和加减法(单元测试基础卷)数学青岛版一年级上册(A3).pdf
- 2025广西公需答案01.pdf
- (高清版)DBJ50∕T-396-2021 山地城市地下工程防渗堵漏技术标准.pdf VIP
- Q TZW 22-2016_烧烤工具 企业标准.pdf VIP
文档评论(0)