高级C语言程序设计.ppt

上传人:xian****812 文档编号:6313870 上传时间:2020-02-22 格式:PPT 页数:28 大小:518.56KB
返回 下载 相关 举报
高级C语言程序设计.ppt_第1页
第1页 / 共28页
高级C语言程序设计.ppt_第2页
第2页 / 共28页
高级C语言程序设计.ppt_第3页
第3页 / 共28页
点击查看更多>>
资源描述
1 2 第1章 概述 学习重点 程序设计语言的发展常用程序设计语言高级语言编程的基本步骤面向对象程序设计语言的特点C语言程序的结构算法的概念 3 程序设计语言按照语言级别可以分为低级语言和高级语言 低级语言有机器语言和汇编语言 低级语言与特定的机器有关 其功效高 但使用复杂 繁琐 费时 易出差错 机器语言是表示成数码形式的机器基本指令集 汇编语言是机器语言中部分符号化的结果 高级语言的表示方法要比低级语言更接近于待解问题的表示方法 其特点是在一定程度上与具体机器无关 易学 易用 易维护 1 1程序设计语言的发展 4 1 1 1程序设计语言的简介 1 机器语言电子计算机使用的是由 0 和 1 组成的二进制数 二进制数是计算机的语言的基础 计算机发明之初 人们只能用计算机的语言去命令计算机工作 也就是写出一串串由 0 和 1 组成的指令序列交由计算机执行 这种语言就是机器语言 机器语言是第一代计算机语言 2 汇编语言为了克服机器语言难读 难编 难记和易出错的缺点 人们用与代码指令实际含义相近的英文缩写词 字母和数字等符号取代指令代码 例如 用ADD代表加法 用MOV代表数据传递等 这样 人们能较容易读懂并理解程序 使得纠错及维护变得方便了 这种程序设计语言称为汇编语言 汇编语言是第二代计算机语言 仍然是面向机器的语言 5 1 1 1程序设计语言的简介 3 高级语言机器语言和汇编语言都依赖计算机硬件 要求使用者对计算机硬件结构及其工作原理十分熟悉 这对非计算机专业人员是难以做到的 计算机的发展应用促使人们寻求一些与人类自然语言相接近且能为计算机所接受的通用易学的计算机语言 这种与自然语言相近并被计算机接受和执行的计算机语言称高级语言 高级语言是面向用户的语言 机器的高级语言的发展经历了从早期语言到结构化程序设计语言 从面向过程到非过程化程序语言的过程 4 面向对象语言80年代初开始 在软件设计思想上 又产生了一次革命 其成果就是面向对象的程序设计 6 目前有各种高级程序设计语言 其中以下几种应用非常广泛 FORTRANCOBOLPASCALC语言LISPJava 1 1 2常用的程序设计语言 略 7 1 1 3发展趋势 略 程序设计语言是软件的重要方面 它的发展趋势是 可视化智能化构件化 8 1 2高级语言编程基本步骤 结合上机体会 9 1 3 1C语言的发展 自学 1 3 2C语言的特点 略 1 语言简洁紧凑 使用灵活方便 2 运算符丰富 3 数据结构丰富 4 C是结构式语言 5 语法限制不太严格 程序设计自由度大 6 允许直接访问物理地址 可以直接对硬件进行操作 7 程序执行效率高 8 适用范围大 可移植性好 1 3C语言概述 10 1 3 3C语言程序的结构 例1 1输入两个整数 计算这两个整数的和 上机演示 运行结果 Thesumoftwointegeris60 11 例1 2用自定义函数的方法计算这两个整数的和 上机演示 运行结果 Thesumoftwointegeris60 12 1 4面向对象程序设计的基本思想 略讲 面向对象方法 Object OrientedMethod OO方法 是一种把面向对象的思想应用于软件开发过程中 指导开发活动的系统方法 简称OO Object Oriented 方法 是建立在 对象 概念基础上的方法学 面向对象的程序设计方法强调在软件开发过程中面向待求解总是域中的事物 它的基本特征主要包括抽象性 封装性 继承性和多态性 13 计算机产生的初期主要用于科学计算 这些问题的求解主要是过程计算 因此软件设计的主要目标是设计求解问题的过程 所以 传统的程序设计主要采用面向过程的设计方法 随着计算机技术的发展 计算机的应用越来越广泛 计算机的应用不再仅限于科学计算 计算机处理的问题变得庞大而复杂 面向过程的结构化程序设计方法的局限性明显表露出来 主要是结构化程序设计方法将数据与处理数据的过程分离 当数据结构改变时 相关的处理过程通常需要全部或部分进行修改 因此代码的重用性差 另外 图形用户面的普及使软件的使用者越来越方便 而软件的开发者却越来越因难 它们很难用过程语言来实现 这时面向对象的程序设计方法产生了 1 4 1面向对象方法的产生 14 面向对象的程序设计方法有三个优点 1 程序的可维护性好 面向对象程序易于阅读和理解 程序的复杂性有所降低 2 程序易修改 程序员可以通过添加或删除对象 较容易地实现修改 添加或删除程序 3 可重用性好 对象可以使用多次程序员可以根据需要将类和对象保存起来 随时插入到应用程序中 无需作修改 15 面向对象程序设计的基本思想认为客观世界由各种各样的对象组成 每一类型的对象都有各自的内部状态和行为规律 不同对象间的相互联系和作用构成了不同的系统 形成了客观世界 面向对象程序设计方法中的对象是构成软件系统的一个基本单位 是系统用以描述客观事物的一个实例 对象由一组属性和一组行为构成 属性是用来描述对象静态特征的数据项 行为是用来描述对象动态特征的一系列操作 对象是具有属性和行为的封装体 类是具有相同属性和行为的一组对象的集合 它是属于同一类的全部对象提供了统一的抽象描述 类是对象的集合和再抽象 类是具有相同属性和行为的一组对象的集合 它为属于该类的全部对象提供了统一的抽象描述 具有相同或相似性质的对象的抽象就是类 因此 对象的抽象是类 类的具体化就是对象 也可以说类的实例是对象 1 4 2类与对象的概念 16 一个面向对象的程序由许多对象组成 这些对象之间需要相互沟通 对象之间通过收发消息相互沟通 类似于人与人之间的信息传递 不同对象之间通过发送消息向对方提出服务 接受消息的对象主动完成所请求的服务 这种通信机制称为消息传递 传递消息的内容包括接收消息的对象的名字 需要调用的函数的名字 以及必要的信息 同一个对象可以接受不同形式的多个消息 产生的消息各不相同 相同形式的消息可以发送给不同的对象 产生的响应可以各不相同 一个对象可以立即响应发送给它的消息 也可以暂不响应消息 程序的执行取决于事件发生的顺序 由所产生的消息来驱动程序的执行 不需要预先确定消息产生的顺序 消息机制为对象间提供了一个动态联系的途径 使它们的行为能互相配合 构成一个有机的运行系统 1 4 3消息的概念 17 1 抽象性在系统开发中 抽象指的是在决定如何实现对象之前的对象的意义和行为 抽象指仅表现核心的特性而不描述背景细节的行为 使用抽象可以尽可能避免过早考虑一些细节 2 封装性把数据和函数包装在一个单独的单元 称为类 的行为称为封装 数据封装是类的最典型特点 一个对象就是一个封装了数据和操作这些数据的代码的逻辑实体 封装性构成了面向对象方法的基础 封装性是保证软件部件具有优良的模块性的基础 对象是封装的最基本单位 封装防止了程序相互依赖性而带来的变动影响 面向对象的封装比传统语言的封装更为清晰 更为有力 因而 这种方法的创始人Codd和YOuMn认为 面向对象就是 对象十属性十方法 1 4 4面向对象程序设计的特点 18 3 继承性继承性是面向对象程序设计语言不同于其它语言的最重要的特点 是其他语言所没有的 继承性是类特有的性质 类可以派生出子类 子类自动继承父类的属性与方法 这是类之间的一种关系 在定义和实现一个类的时候 可以在一个已经存在的类的基础之上来进行 把这个已经存在的类所定义的内容作为自己的内容 并加入若干新的内容 这样可大大提高软件的可重用性 继承性是子类自动共享父类数据结构和方法的机制 在类层次中 子类只继承一个父类的数据结构和方法 则称为单重继承 子类继承了多个父类的数据结构和方法 则称为多重继承 在软件开发中 类的继承性使所建立的软件具有开放性 可扩充性 4 多态性多态性是指相同的操作或函数 过程可作用于多种类型的对象上并获得不同的结果 1 4 4面向对象程序设计的特点 19 目前常用的面向对象程序设计语言有C Java VisualBASIC等 1 C C 是美国Bell实验室于二十世纪八十年代在C语言的基础上开发出来的 是目前已经得到广泛应用的面向对象程序设计语言 C 保留了C语言的全部优点 增加了面向对象的机制 支持面向对象程序设计方法 C 既可以用于结构化程序设计 又可以用于面向对象程序设计 是一种混合型面向对象程序设计语言 C 是面向对象的大型程序设计语言 应用于各种应用领域 目前有各种版本的C 编译系统 国内比较流行的有VisualC 和BorlandC C 的类库包括Borland的OWL和Microsoft的MFC 2 Java语言1995年6月Sun公司推出了一种纯粹面向对象程序设计的语言Java 传统的程序设计语言编写的软件一般与具体的实现环境有关 如果环境发生变化 则软件需要做较大的修改 而Java编写的软件的执行代码具有兼容性 它编写的软件可以在有Java解释器的各种系统上运行 Java程序有两种类型 一是可在网页上运行的Applet小应用程序 它不能单独运行 必须嵌入HTML文件中 由Web浏览器执行 另一类是可以单独执行的Java应用程序 可完成各种功能 Java是网络世界的通用语言 它提供了丰富的类库 具有强大的图形 图像 动画 音频 视频 多线程及网络交互能力 具有面向对象性 与平台无关性 可移植性 安全性 动态性 并具有并发机制 目前Java已成为应用最广泛的网络编程语言之一 3 VisualBASIC语言1991年Microsoft在原BASIC语言的基础上推出了可视化面向对象编程语言VisualBASIC VB继承了BASIC语言的特点 具有语法简单 容易学习 容易使用 数据处理能力强的特点 同时采用了面向对象 事件驱动的编程机制和可视化程序设计方法 有效地提高了应用程序开发的效率 同时VB还具有强大的多媒体及网络编程功能 可以编写强大的多媒体处理程序和数据库应用程序 1 4 5面向对象程序设计语言 20 当C语言程序代码达到25000行以上后 维护和修改工作变得相当困难 为了满足管理程序复杂性的需要 贝尔实验室的BjarneStroustrup博士于1979年开始对C语言进行了改进和扩充 并引入了面向对象程序设计的内容 1983年命名为C 后经过三次重大修订 于1994年制定了标准C 草案 之后经过为断完善 成为目前的C 1 5C 概述 略讲 21 C 具有以下特点 1 保持了与C语言的兼容性 绝大多数C语言程序不经修改可以直接在C 环境中运行 2 支持面向过程的程序设计 它是一种理想的结构化程序设计语言 又包含了面向对象程序设计的特征 C 由两部分组成 一是过程性语言部分 与C语言无本质区别 二是类和对象部分 是面向对象程序设计的主体 3 具有程序效率高 灵活性强的特点 C 使程序结构清晰 易于扩展 易于维护而不失效率 4 具有通用性和可移植性 C 是一种标准化的 与硬件基本无关的程序设计语言 C 程序通常无需修改或稍许修改便可在其他计算机上运行 5 具有丰富的数据类型和运算符 并提供了强大的库函数 6 具有面向对象的特性 C 支持抽象性 封装性 继承性和多态性 1 5 1C 的特点 22 VisualC 是C 集成开发环境之一 它已从最初的1 0版到目前的6 0版 C NET 系统功能日益强大和完善 是目前应用最广泛的C 语言 1 VisualC 6 0 计算机等级考试采用 本课程采用 2 VisualC NET 1 5 2VisualC 23 著名计算机科学家沃思提出一个公式 程序 数据结构 算法算法的基本概念 计算机算法是用计算机求解一个具体问题或执行特定任务的一组有序的操作步骤 或指令 算法的特性 1 有穷性 一个算法必须保证执行有限步之后结束 在执行有限步之后 计算必须终止 并得到解答 也就是说一个算法的实现应该在有限的时间内完成 2 确切性 算法的每一步骤必须有确切的定义 算法中对每个步骤的解释是唯一的 3 零个或多个输入 输入指在执行算法时需要从外界取得的必要的信息 一个算法有零个或多个输入 以刻画运算对象的初始情况 一个算法可以没有输入 4 一个或多个输出 输出是算法的执行结果 一个算法有一个或多个输出 以反映对输入数据加工后的结果 没有输出的算法是毫无意义的 5 有效性 或可行性 算法中的每一个步骤能够精确地运行 并得到确定的结果 而且人们用笔和纸做有限次运算后即可完成 1 6算法概述 24 算法的描述算法的常用表示方法有如下三种 1 使用自然语言描述算法 2 使用流程图描述算法 3 使用伪代码描述算法下面以求解n 1 2 3 4 5 n 1 n为例说明算法的三种描述方法 25 第 种 使用自然语言描述求n 的算法 确定一个n的值 假设等号右边的算式项中的初始值i为1 假设变量f中存放n 的值 且初始值为1 如果i n时 执行 否则转出执行 计算f乘以i的值后 重新赋值给f 计算i加1 然后将值重新赋值给i 转去执行 输出f的值 即n 的值 算法结束 26 第2种 使用流程图描述n 的算法 27 第3种 使用伪代码描述n 的算法 算法开始输入n的值 置i的初值为1 置f的初值为1 当i n时 执行下面的操作使f f i 使i i 1 循环体到此结束 输出sum的值 算法结束也可以写成以下形式 BEGIN 算法开始 输入n的值 i 1 为变量i赋初值 f 1 为变量f赋初值 whilei n 当变量i n时 执行下面的循环体语句 f f i i i 1 输出sum的值 END 算法结束 28 10 1 1启动VisualC 6 0环境10 1 2建立或打开源程序文件10 1 3程序的编辑 编译 链接与运行 第1次课结束 10 1VisualC 6 0的开发环境 以1 3节例1 1 1 2为例 结论 使用VC6 0环境编写程序 其文件后缀为 cpp 这种形式的程序称为源代码 SourceCode 然后用编译器将源代码转换成二进制形式 文件后缀为 obj 这种形式的程序称为目标代码 ObjectiveCode 最后 将若干目标代码和现有的二进制代码库经过连接器连接 产生可执行代码 ExecutableCode 文件后缀为 exe 只有 exe文件才能运行
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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