清华大学郑利c1绪论.ppt

上传人:max****ui 文档编号:8592739 上传时间:2020-03-30 格式:PPT 页数:45 大小:185.50KB
返回 下载 相关 举报
清华大学郑利c1绪论.ppt_第1页
第1页 / 共45页
清华大学郑利c1绪论.ppt_第2页
第2页 / 共45页
清华大学郑利c1绪论.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
第一章绪论 清华大学郑莉 C 语言程序设计 2 本章主要内容 计算机程序设计语言的发展面向对象的方法面向对象的软件开发信息的表示与存储程序的开发过程 3 计算机程序 计算机的工作是用程序来控制的程序是指令的集合 指令是计算机可以识别的命令 计算机语言的发展 4 机器语言与汇编语言 由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言 计算机发展的初期 软件工程师们只能用机器语言来编写程序 这一阶段 在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟 汇编语言将机器指令映射为一些可以被人读懂的助记符 如ADD SUB等 此时编程语言与人类自然语言间的鸿沟略有缩小 但仍与人类的思维相差甚远 因为它的抽象层次太低 程序员需要考虑大量的机器细节 计算机语言的发展 5 高级语言 高级语言屏蔽了机器的细节 提高了语言的抽象层次 程序中可以采用具有一定涵义的数据命名和容易理解的执行语句 这使得在书写程序时可以联系到程序所描述的具体事物 计算机语言的发展 6 面向对象的语言 出发点 更直接地描述客观世界中存在的事物 对象 以及它们之间的关系 特点 是高级语言 将客观事物看作具有属性和行为的对象 通过抽象找出同一类对象的共同属性和行为 形成类 通过类的继承与多态实现代码重用 计算机语言的发展 7 面向对象的语言 优点 使程序能够比较直接地反问题域的本来面目 软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发 计算机语言的发展 8 程序设计方法的发展历程 面向过程的程序设计方法 程序的目的 用于数学计算主要工作 设计求解问题的过程缺点 对于庞大 复杂的程序难以开发和维护 面向对象的方法 9 程序设计方法的发展历程 面向过程的结构化程序设计方法 设计思路自顶向下 逐步求精 采用模块分解与功能抽象 自顶向下 分而治之 程序结构 按功能划分为若干个基本模块 形成一个树状结构 各模块间的关系尽可能简单 功能上相对独立 每一模块内部均是由顺序 选择和循环三种基本结构组成 其模块化实现的具体方法是使用子程序 面向对象的方法 10 程序设计方法的发展历程 面向过程的结构化程序设计方法 优点 有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务 便于开发和维护 面向对象的方法 11 程序设计方法的发展历程 面向过程的结构化程序设计方法 缺点 可重用性差 数据安全性差 难以开发大型软件和图形界面的应用软件把数据和处理数据的过程分离为相互独立的实体 当数据结构改变时 所有相关的处理过程都要进行相应的修改 每一种相对于老问题的新方法都要带来额外的开销 图形用户界面的应用程序 很难用过程来描述和实现 开发和维护也都很困难 面向对象的方法 12 程序设计方法的发展历程 面向对象的方法 将数据及对数据的操作方法封装在一起 作为一个相互依存 不可分离的整体 对象 对同类型对象抽象出其共性 形成类 类通过一个简单的外部接口 与外界发生关系 对象与对象之间通过消息进行通讯 面向对象的方法 13 程序设计方法的发展历程 面向对象的方法 优点 程序模块间的关系更为简单 程序模块的独立性 数据的安全性就有了良好的保障 通过继承与多态性 可以大大提高程序的可重用性 使得软件的开发和维护都更为方便 面向对象的方法 14 面向对象的基本概念 对象 一般意义上的对象 是现实世界中一个实际存在的事物 可以是有形的 比如一辆汽车 也可以是无形的 比如一项计划 是构成世界的一个独立单位 具有 静态特征 可以用某种数据来描述动态特征 对象所表现的行为或具有的功能 面向对象的方法 15 面向对象的基本概念 对象 面向对象方法中的对象 是系统中用来描述客观事物的一个实体 它是用来构成系统的一个基本单位 对象由一组属性和一组行为构成 属性 用来描述对象静态特征的数据项 行为 用来描述对象动态特征的操作序列 面向对象的方法 16 面向对象的基本概念 类 分类 人类通常的思维方法分类所依据的原则 抽象忽略事物的非本质特征 只注意那些与当前目标有关的本质特征 从而找出事物的共性 把具有共同性质的事物划分为一类 得出一个抽象的概念 例如 石头 树木 汽车 房屋等都是人们在长期的生产和生活实践中抽象出的概念 面向对象的方法 17 面向对象的基本概念 类 面向对象方法中的 类 具有相同属性和服务的一组对象的集合为属于该类的全部对象提供了抽象的描述 包括属性和行为两个主要部分 类与对象的关系 犹如模具与铸件之间的关系 一个属于某类的对象称为该类的一个实例 面向对象的方法 18 面向对象的基本概念 封装 把对象的属性和服务结合成一个独立的系统单元 尽可能隐蔽对象的内部细节 对外形成一个边界 或者说一道屏障 只保留有限的对外接口使之与外部发生联系 面向对象的方法 19 面向对象的基本概念 继承 继承对于软件复用有着重要意义 是面向对象技术能够提高软件开发效率的重要原因之一 定义 特殊类的对象拥有其一般类的全部属性与服务 称作特殊类对一般类的继承 例如 将轮船作为一个一般类 客轮便是一个特殊类 面向对象的方法 20 面向对象的基本概念 多态性 多态是指在一般类中定义的属性或行为 被特殊类继承之后 可以具有不同的数据类型或表现出不同的行为 这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义 例如 数的加法 实数的加法 复数的加法 面向对象的方法 21 面向对象的软件工程 面向对象的软件工程是面向对象方法在软件工程领域的全面应用 它包括 面向对象的分析 OOA 面向对象的设计 OOD 面向对象的编程 OOP 面向对象的测试 OOT 面向对象的软件维护 OOSM 面向对象的软件开发 22 系统分析 系统分析阶段应该扼要精确地抽象出系统必须做什么 但是不关心如何去实现 面向对象的系统分析 直接用问题域中客观存在的事物建立模型中的对象 对单个事物及事物之间的关系 都保留他们的原貌 不做转换 也不打破原有界限而重新组合 因此能够很好地映射客观事物 面向对象的软件开发 23 设计 针对系统的一个具体实现运用面向对象的方法 其中包括两方面的工作 把OOA模型直接搬到OOD 作为OOD的一部分针对具体实现中的人机界面 数据存储 任务管理等因素补充一些与实现有关的部分 面向对象的软件开发 24 编程 OOP工作就是用一种面向对象的编程语言把OOD模型中的每个成分书写出来 是面向对象的软件开发最终落实的重要阶段 面向对象的软件开发 25 测试 测试的任务是发现软件中的错误 在面向对象的软件测试中继续运用面向对象的概念与原则来组织测试 以对象的类作为基本测试单位 可以更准确的发现程序错误并提高测试效率 面向对象的软件开发 26 维护 将软件交付使用后 工作并没有完结 还要根据软件的运行情况和用户的需求 不断改进系统 使用面向对象的方法开发的软件 其程序与问题域是一致的 因此 在维护阶段运用面向对象的方法可以大大提高软件维护的效率 面向对象的软件开发 27 信息的表示和存储 信息的分类计算机的数字系统程序设计中常用的数制不同进位计数制间的转换信息的存储单位二进制数的编码表示小数的表示方法非数值信息的表示 28 信息的分类 指令 控制信息 控制字信息 定点数 数值信息 数据信息 浮点数 字符数据 非数值信息 逻辑数据 信息的表示与存储 29 计算机的数字系统 计算机采用的是二进制数字系统 基本符号 0 1进位原则 逢二进一优点 易于物理实现二进制数运算简单机器可靠性高通用性强缺点 对人来说可读性差 信息的表示与存储 30 程序设计中常用的数制 信息的表示与存储 31 不同进位计数制间的转换 R进制 十进制 各位数字与它的权相乘 其积相加 例如 11111111 11 2 1 27 1 26 1 25 1 24 1 23 1 22 1 21 1 20 1 2 1 1 2 2 255 75 10 3506 2 8 3 83 5 82 0 81 6 80 2 8 1 1862 25 10 0 2A 16 2 16 1 10 16 2 0 1640625 10 信息的表示与存储 32 不同进位计数制间的转换 十进制 R进制 十进制整数转换成R进制的整数 除R取余 法 例如 268余数234 0低位217 028 124 022 021 00 1高位所以6810 10001002 信息的表示与存储 33 不同进位计数制间的转换 十进制 R进制 十进制小数转换成R进制小数 乘R取整 法 例如 高位0 3125 2 0 6250 625 2 1 250 25 2 0 50 5 2 1 0所以0 312510 0 01012 信息的表示与存储 34 不同进位计数制间的转换 二 八 十六进制的相互转换 每位八进制数相当于三位二进制数每位十六进制数相当于四位二进制数 1011010 10 2 001011010 100 2 132 4 8 1011010 10 2 01011010 1000 2 5A 8 16 F7 16 11110111 2 11110111 2 信息的表示与存储 35 信息的存储单位 位 bit 度量数据的最小单位 表示一位二进制信息 字节 byte 由八位二进制数字组成 1byte 8bit K字节1K 1024byteM字节1M 1024KG字节1G 1024M 信息的表示与存储 36 二进制数的编码表示 原码 符号 绝对值表示 的编码例如 X 0101011 X 原 00101011X 0101011 X 原 10101011符号位缺点 零的表示不唯一 0 原 000 0 0 原 100 0进行四则运算时 符号位需单独处理 且运算规则复杂 信息的表示与存储 37 二进制数的编码表示 反码 正数的反码与原码表示相同 负数的反码与原码有如下关系 符号位相同 仍用1表示 其余各位取反 0变1 1变0 例如 X 1100110 X 原 11100110 X 反 10011001X 0000000 X 原 00000000 X 反 00000000反码中零的表示也不唯一X 0000000 X 原 10000000 X 反 11111111反码只是求补码的中间码 信息的表示与存储 38 二进制数的编码表示 补码 模数 n位整数 包括一位符号位 则它的模数为2n n位小数 小数点前一位为符号位 则它的模数为2 补数 一个数减去另一个数 或者说一个数加上一个负数 等于第一个数加上第二个数的补数 例 8 2 8 10 mod12 一个二进制负数可用其模数与真值做加法 模减去该数的绝对值 求得其补码 信息的表示与存储 39 二进制数的编码表示 补码 计算机中的补码表示法负数的补码由该数反码的末位加1求得对补码再求补即得到原码补码运算规则符号位可作为数值参加运算减法运算可转换为加法运算 加上一个负数等于加上该数的补码补码运算的结果仍为补码运算结果溢出 负数之和得正数 或正数之和得负数 信息的表示与存储 40 小数的表示方法 计算机中通常采用浮点方式表示小数一个数N用浮点形式表示可以写成 N M 2EE表示2的幂 称为数N的阶码 阶码确定了数N的小数点的位置 其位数反映了该浮点数所表示的数的范围 M表示数N的全部有效数字 称为数N的尾数 其位数反映了数据的精度 信息的表示与存储 41 非数值信息的表示 西文字符 ASCII码 用7位二进制数表示一个字符 最多可以表示27 128个字符EBCDIC码 用8位二进制数表示一个字符 最多可以表示28 256个字符汉字 应用较为广泛的是 国家标准信息交换用汉字编码 GB2312 80标准 简称国标码 是二字节码 用二个七位二进制数编码表示一个汉字 信息的表示与存储 42 基本术语 源程序 用源语言写的 有待翻译的程序目标程序 也称为 结果程序 是源程序通过翻译程序加工以后所生成的程序 翻译程序 是指一个把源程序翻译成等价的目标程序的程序 程序的开发过程 43 基本术语 三种不同类型的翻译程序 汇编程序 其任务是把用汇编语言写成的源程序 翻译成机器语言形式的目标程序 编译程序 若源程序是用高级程序设计语言所写 经翻译程序加工生成目标程序 那么 该翻译程序就称为 编译程序 程序的开发过程 44 基本术语 三种不同类型的翻译程序 解释程序 这也是一种翻译程序 同样是将高级语言源程序翻译成机器指令 它与编译程序不同点就在于 它是边翻译边执行的 即输入一句 翻译一句 执行一句 直至将整个源程序翻译并执行完毕 程序的开发过程 45 程序的开发过程 编辑将源程序输入到计算机中 生成后缀为cpp的磁盘文件 编译将程序的源代码转换为机器语言代码 连接将多个源程序文件以及库中的某些文件连在一起 生成一个后缀为exe的可执行文件 运行调试 程序的开发过程
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!