XXX大学C++总课件.ppt

上传人:资****亨 文档编号:127867532 上传时间:2020-04-06 格式:PPT 页数:1096 大小:3.64MB
返回 下载 相关 举报
XXX大学C++总课件.ppt_第1页
第1页 / 共1096页
XXX大学C++总课件.ppt_第2页
第2页 / 共1096页
XXX大学C++总课件.ppt_第3页
第3页 / 共1096页
XXX大学C++总课件.ppt_第4页
第4页 / 共1096页
XXX大学C++总课件.ppt_第5页
第5页 / 共1096页
点击查看更多>>
资源描述

《XXX大学C++总课件.ppt》由会员分享,可在线阅读,更多相关《XXX大学C++总课件.ppt(1096页珍藏版)》请在金锄头文库上搜索。

1、程序设计与 语言 培养目标课程简介实验学时考核形式教材 主讲 何洁月 培养目标 1 建立基本的计算机程序设计概念体系和基本的程序设计方法 2 理解和掌握C 语言的基本语法和语义 初步理解面向对象的思想 初步掌握面向对象程序设计的方法 3 逐步提高学生的编程能力和调试程序的能力 为后面的学习打好基础 课程简介 第 章概述 计算机程序设计语言的发展 一般了解 面向对象的方法 一般了解 面向对象的软件开发 一般了解 信息的表示与存储 理解 程序的开发过程 一般了解 小结 课程简介 第 章 简单程序设计 语言概述 一般理解 基本数据类型和表达式 掌握 数据的输入与输出 掌握 算法的基本控制结构 掌握

2、自定义数据类型 掌握 小结 课程简介 第 章函数 函数的定义与使用 掌握 内联函数 掌握 带默认形参值的函数 掌握 函数重载 掌握 函数模板 掌握 使用 系统函数 掌握 小结 课程简介 第 章类与对象 面向对象的思想 理解 面向对象程序设计的基本特点 理解 类和对象 掌握 构造函数和析构函数 掌握 类的组合 掌握 类模板 掌握 面向对象标记 一般了解 小结 课程简介 第 章 程序的结构 程序的结构 理解 生存期 掌握 数据和函数 掌握 静态成员 掌握 友元 掌握 共享数据的保护 掌握 多文件结构和编译预处理命令 掌握 小结 课程简介 第 章数组 指针与字符串 数组 掌握 指针 掌握 动态内存分

3、配 掌握 字符串 掌握 实验 实验共分 次 每次 小时 实验环境为 visualc 6 0实验 visualc 6 0开发环境应用入门实验 简单程序设计实验 函数的应用实验 类与对象实验 程序的结构实验 数组 指针与字符串 教材 教材 C 语言程序设计 C 语言程序设计习题与实验指导 考核 总评成绩 平时作业 上机实验 期末笔试成绩 闭卷 期末上机成绩 闭卷 平时作业占10 平时上机实验占10 期末笔试成绩 闭卷 占60 期末上机成绩 闭卷 占20 第一章绪论 计算机程序设计语言的发展面向对象的方法面向对象的软件开发信息的表示与存储程序的开发过程 1 1计算机语言的发展 计算机的工作是用程序来

4、控制的程序是指令的集合 指令是计算机可以识别的命令 计算机程序 机器语言 由计算机硬件系统可以识别的二进制指令组成的语言称为机器语言 计算机发展的初期 软件工程师们只能用机器语言来编写程序 这一阶段 在人类的自然语言和计算机编程语言之间存在着巨大的鸿沟 例如101111111101缺点 难懂 不易修改 移植性差 汇编语言 汇编语言将机器指令映射为一些可以被人读懂的助记符 如ADD SUB等 此时编程语言与人类自然语言间的鸿沟略有缩小 但仍与人类的思维相差甚远 因为它的抽象层次太低 程序员需要考虑大量的机器细节 例如ADDCX DX将DX的内容加进CX 不能立即执行 需要汇编 变成目标程序 高级

5、语言 高级语言屏蔽了机器的细节 提高了语言的抽象层次 程序中可以采用具有一定涵义的数据命名和容易理解的执行语句 这使得在书写程序时可以联系到程序所描述的具体事物 例如ify 3z x y 类似英语和数学表达式 高级语言 分成解释方式与编译方式 解释程序 运行结果 编译程序 目标程序 初始数据 目标程序 源程序 源程序 初始数据 运行结果 高级语言发展 第一代语言是对数学表达式有很强的运算处理能力代表是Fortran和Algol60第二代语言的重点如何有效地表达算法代表是Pascal和C第三代语言引入抽象数据类型的程序设计语言代表是 被认为是基于对象的语言第四代面向对象程序设计语言代表是Smal

6、ltalk Eiffel c Java 面向对象的语言 出发点 更直接地描述客观世界中存在的事物 对象 以及它们之间的关系 特点 是高级语言 将客观事物看作具有属性和行为的对象 通过抽象找出同一类对象的共同属性和行为 形成类 通过类的继承与多态实现代码重用 面向对象的语言 优点 使程序能够比较直接地反问题域的本来面目 软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发 语言的鸿沟 面向对象的语言 自然语言 非面向对象的语言 汇编语言 机器语言 对问题域的认识 人 语言的鸿沟 编程 人 程序的理解和执行 机器 程序的目的 用于数学计算主要工作 设计求解问题的过程缺点 对于庞大 复

7、杂的程序难以开发和维护 1 2面向对象的方法 面向对象方法的由来一 程序设计方法的发展历程 面向过程的程序设计方法 二 程序设计方法的发展历程 面向过程的结构化程序设计方法 设计思路自顶向下 逐步求精 采用模块分解与功能抽象 自顶向下 分而治之 程序结构 按功能划分为若干个基本模块 形成一个树状结构 各模块间的关系尽可能简单 功能上相对独立 每一模块内部均是由顺序 选择和循环三种基本结构组成 其模块化实现的具体方法是使用子程序 优点 有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务 便于开发和维护 缺点 可重用性差 数据安全性差 难以开发图形界面的应用把数据和处理数据的过程

8、分离为相互独立的实体 当数据结构改变时 所有相关的处理过程都要进行相应的修改 每一种相对于老问题的新方法都要带来额外的开销 图形用户界面的应用 很难用过程来描述和实现 开发和维护都很困难 三 程序设计方法的发展历程 面向对象的方法 将数据及对数据的操作方法封装在一起 作为一个相互依存 不可分离的整体 对象 对同类型对象抽象出其共性 形成类 类通过一个简单的外部接口 与外界发生关系 对象与对象之间通过消息进行通讯 优点 程序模块间的关系更为简单 程序模块的独立性 数据的安全性就有了良好的保障 通过继承与多态性 可以大大提高程序的可重用性 使得软件的开发和维护都更为方便 面向对象的基本概念 对象

9、一般意义上的对象 是现实世界中一个实际存在的事物 可以使有形的 比如一辆汽车 也可以是无形的 比如一项计划 是构成世界的一个独立单位 具有 静态特征 可以用某种数据来描述动态特征 对象所表现的行为或具有的功能 面向对象方法中的对象 是系统中用来描述客观事物的一个实体 它是用来构成系统的一个基本单位 对象由一组属性和一组行为构成 属性 用来描述对象静态特征的数据项 行为 用来描述对象动态特征的操作序列 面向对象的基本概念 类 分类 人类通常的思维方法分类所依据的原则 抽象忽略事物的非本质特征 只注意那些与当前目标有关的本质特征 从而找出事物的共性 把具有共同性质的事物划分为一类 得出一个抽象的概

10、念 例如 石头 树木 汽车 房屋等都是人们在长期的生产和生活实践中抽象出的概念 面向对象方法中的 类 具有相同属性和服务的一组对象的集合为属于该类的全部对象提供了抽象的描述 包括属性和行为两个主要部分 类与对象的关系 犹如模具与铸件之间的关系 一个属于某类的对象称为该类的一个实例 集合 成员抽象描述 具体实例 集合 成员抽象描述 具体实例 面向对象的基本概念 封装 把对象的属性和服务结合成一个独立的系统单位 尽可能隐蔽对象的内部细节 对外形成一个边界 或者说一道屏障 只保留有限的对外接口使之与外部发生联系 封装 顾客 面向对象的基本概念 继承 继承对于软件复用有着重要意义 是面向对象技术能够提

11、高软件开发效率的重要原因之一 定义 特殊类的对象拥有其一般类的全部属性与服务 称作特殊类对一般类的继承 例如 将轮船作为一个一般类 客轮便是一个特殊类 哺乳动物热血 有毛发 用奶哺育幼仔 狗有犬牙 食肉 特定的骨骼结构 群居 柯利狗尖鼻子 身体颜色红白相间 适合放牧 面向对象的基本概念 多态性 多态是指在一般类中定义的属性或行为 被特殊类继承之后 可以具有不同的数据类型或表现出不同的行为 这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义 例如 数的加法 实数的加法 复数的加法例动物叫 面向对象的软件工程 面向对象的软件工程是面向对象方法在软件工程领域的全面应用 它包括 面向对象的分

12、析 OOA 面向对象的设计 OOD 面向对象的编程 OOP 面向对象的测试 OOT 面向对象的软件维护 OOSM 面向对象的软件开发 传统的软件工程方法 面向对象的软件工程方法 自然语言 分析与设计的鸿沟 编程语言 自然语言 面向对象的编程语言 系统分析 系统分析阶段应该扼要精确地抽象出系统必须做什么 但是不关心如何去实现 面向对象的系统分析 直接用问题域中客观存在的事物建立模型中的对象 对单个事物及事物之间的关系 都保留他们的原貌 不做转换 也不打破原有界限而重新组合 因此能够很好地映射客观事物 设计 针对系统的一个具体实现运用面向对象的方法 其中包括两方面的工作 把OOA模型直接搬到OOD

13、 作为OOD的一部分针对具体实现中的人机界面 数据存储 任务管理等因素补充一些与实现有关的部分 编程 OOP工作就是用一种面向对象的编程语言把OOD模型中的每个成分书写出来 是面向对象的软件开发最终落实的重要阶段 测试 测试的任务是发现软件中的错误 在面向对象的软件测试中继续运用面向对象的概念与原则来组织测试 以对象的类作为基本测试单位 可以更准确的发现程序错误并提高测试效率 维护 将软件交付使用后 工作并没有完结 还要根据软件的运行情况和用户的需求 不断改进系统 使用面向对象的方法开发的软件 其程序与问题域是一致的 因此 在维护阶段运用面向对象的方法可以大大提高软件维护的效率 信息的表示和存

14、储 信息的分类计算机的数字系统程序设计中常用的数制不同进位计数制间的转换信息的存储单位二进制数的编码表示小数的表示方法非数值信息的表示 信息的分类 指令 控制信息 控制字信息 定点数 数值信息 数据信息 浮点数 字符数据 非数值信息 逻辑数据 计算机的数字系统 计算机采用的是二进制数字系统 基本符号 0 1进位原则 逢二进一优点 易于物理实现二进制数运算简单机器可靠性高通用性强缺点 对人来说可读性差 程序设计中常用的数制 不同进位计数制间的转换 R进制 十进制 各位数字与它的权相乘 其积相加 例如 11111111 11 2 1 27 1 26 1 25 1 24 1 23 1 22 1 21

15、 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 不同进位计数制间的转换 十进制 R进制 十进制整数转换成R进制的整数 除R取余 法 例如 268余数234 0低位217 028 124 022 021 00 1高位所以6810 10001002 不同进位计数制间的转换 十进制 R进制 十进制小数转换成R进制小数 乘R取整 法 例如 高位0 3125 2 0 6250 625 2 1 250 25 2 0 50 5 2 1 0

16、所以0 312510 0 01012 不同进位计数制间的转换 二 八 十六进制的相互转换 每位八进制数相当于三位二进制数每位十六进制数相当于四位二进制数 1011010 10 2 001011010 100 2 132 4 8 1011010 10 2 01011010 1000 2 5A 8 16 F7 16 11110111 2 11110111 2 信息的存储单位 位 bit 度量数据的最小单位 表示一位二进制信息 字节 byte 由八位二进制数字组成 1byte 8bit K字节1K 1024byteM字节1M 1024KG字节1G 1024M 二进制数的编码表示 原码 符号 绝对值表示 的编码例如 X 0101011 X 原 00101011X 0101011 X 原 10101011符号位缺点 零的表示不唯一 0 原 000 0 0 原 100 0进行四则运算时 符号位需单独处理 且运算规则复杂 二进制数的编码表示 反码 正数的反码与原码表示相同 负数的反码与原码有如下关系 符号位相同 仍用1表示 其余各位取反 0变1 1变0 例如 X 1100110 X 原 111001

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号