程序设计基础05[精选].pptVIP

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础05[精选]

Modern Operating System 第五章 结构化程序设计概论 学习目标 熟悉数据的基本概念,掌握数据的表示方法 熟悉代码的基本概念,掌握代码的控制方法 熟悉算法的基本概念,了解算法、程序与代码的关系 掌握结构化程序设计的一般方法 了解问题规模与程序控制结构之间的关系 掌握程序测试的基本方法与手段 了解代码优化的基本策略 5.1 数据的基本概念 数据与信息 数据与地址 数据类型 文字常量 变 量 声 明 数据与数据类型 数据与信息 数据:数据特征、数据名称与特征值 信息:数据所具有的意义 数据并不能解释自身,程序不了解数据的意义 数据类型:对数据进行分类 每一类数据具有同样的存储表示(存储分配格式),同样的操作集 基本数据类型(预定义数据类型)与用户自定义类型(用户可按需创建新的数据类型) 文字与量 文字常量:程序中出现的值 只能以值的形式标识,其值不可改变 若要声明严格意义的常量,使用 C99 的 const 文字常量不可寻址,而普通常量可以寻址 变量:程序中定义和命名的数据对象 四个基本特征:VANT 先声明后使用 在程序执行期间,可改变变量的值,不能改变变量的名称、类型与地址 声 明 数据标识的目的:区分数据 模拟世界中各种数据的联系,构造具有复杂结构的数据 声明的目的 将程序执行时数据对象的名字与类型信息通知编译器,在数据对象与数据值及存储位置间建立关联 辅助编译器选择合适的存储表示 使得类型检查静态化,减少程序错误 声明与定义 声明并不一定就是定义,声明虽引入名字,但只有那些确实在程序中引入了实体的声明才是定义 5.2 代码的基本概念 表达式语义 赋值与初始化 代码与计算 控制流 断言与程序不变量 表达式语义 表达式语义:表达式的求值顺序 C 语言未规定表达式求值顺序,一般由操作符的优先级与结合性决定 例外情况 递增递减操作符满足特定计算规则 不同编译器的实现可能不同:出于优化的目的,编译器可能重排部分代码,表达式的求值顺序可能会发生用户事先无法察觉的变化 既是优点(程序设计可以高度灵活)也是缺点(错误的求值顺序带来错误的计算结果) 明确表达设计意图,尽量不在表达式中使用带副作用的操作符,表达式应尽量简短 赋值与初始化 赋值:将数据对象与某个具体值相关联的基本操作 左值:出现在赋值号左边的数据对象具有左值,在程序中表现为数据对象的地址 右值:出现在赋值号右边的数据对象具有右值,在程序中表现为数据对象的值 例:x = x; 初始化 初始化不是赋值:赋值可以在程序运行期间执行多次,初始化只在为变量分配存储空间时执行一次 未初始化的数据对象只有左值没有右值,其存储内容维持原先位序列,所以不要引用未初始化的数据对象! 代码与控制流 代码与计算:代码是计算的简洁表达 操作为程序的基本单位,一系列的操作构成计算以及计算的顺序 静态代码文本与动态执行过程 程序在运行期间根据静态代码文本产生计算过程,即动态执行过程 两者并不相同,优秀的程序员应保证两者尽可能匹配,例如少用甚至不用goto语句 控制流 控制程序流向的程序结构:复合、分支、循环 断言与程序不变量 断言与不变量的含义 断言:程序中存在某些特定位置,在该处某些判断永真,该判断式即为断言 不变量:无论程序如何执行,断言的值都应保持不变(具有恒定属性) 断言与不变量的意义 若断言值未保持,说明程序必然发生了错误 断言在编程时非常重要,一个优秀程序员的第一行 C 代码应该从断言开始书写! 断言与程序不变量示例 在程序中使用 assert() 表达断言 5.3 算法及其表示方法概要 程序的辨证统一:数据与代码 数据表示:指定程序使用的数据结构与组织形式 代码组织:数据上所进行操作的描述与组织形式 算法的基本概念 为解决某类问题而设计或采取的方法或步骤 算法必须能够转化为计算机可执行的指令序列(代码) 算法基本特征:有穷性、确定性、输入、输出与有效性 代码与伪代码 均可以用来表达算法设计思想与算法执行步骤 代码与伪代码 给定两个正整数m与n,设计求解最大公因子的算法 5.4 结构化程序的组织 程序的结构化 程序的一般结构 结构化与函数抽象 程序范型 程序的结构化 结构化 结构化语句:满足单入口单出口条件的语句 复合语句、分支语句与循环语句都是结构化语句 结构化程序:使用结构化语句设计的程序 结构定理:所有程序都可使用上述三类结构化语句实现 结构化优点 单入口单出口的控制流易于确定程序动态计算过程,易于理解 注意事项 结构化程序并不一定是好程序,程序的合理组织最重要! 程序的一般结构 根据用户输入的底面半径与高度,计算圆柱体体积 结构化与函数抽象 程序设计过程 按照功能需求,进行自顶向下的功能分解与逐步求精,最终形成代码 大多数问题的求解过程非常复杂,如何合

文档评论(0)

dart004 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档