《C编程简介》PPT课件.ppt

上传人:za****8 文档编号:2988748 上传时间:2019-12-05 格式:PPT 页数:22 大小:799.01KB
返回 下载 相关 举报
《C编程简介》PPT课件.ppt_第1页
第1页 / 共22页
《C编程简介》PPT课件.ppt_第2页
第2页 / 共22页
《C编程简介》PPT课件.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
第1章 C+编程简介,C+语言程序设计教程 第1章 C+编程简介,主讲:尚明生 电子科技大学计算机学院 msshang,C+语言程序设计教程 第1章 C+编程简介,第1章 C+编程简介,学习目标,初步理解面向对象程序设计的基本概念和思想; 分析面向过程的结构化程序设计语言及面向对象程序设计语言的特点的异同; 熟悉C+程序的一般开发过程; 了解C+程序的结构,理解C+源程序、头文件、可执行程序的概念; 理解名字空间的概念,会运用名字空间; 能够编写一个简单的C+程序,输入数据,输出结果.,C+语言程序设计教程 第1章 C+编程简介,1.1 计算机程序设计语言,机器语言,汇编语言,高级语言,面向过程,面向对象,CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减,用助记符号描述的指令系统 如 ADD AX, BX,面向机器的语言,程序设计依赖解决问题的过程,客观事物描述成具有属性和行为的对象; 同一类对象的共同属性和行为形成类; 封装对象间通过发送和接受消息发生联系; 类的继承与多态性可以提供使用现成类的机制,从而实现代码的重用.,程序设计关键是定义类,并由类实例化成对象,接近人的自然语言习惯,如:100+200,C+语言程序设计教程 第1章 C+编程简介,基本思想: 采用了模块分解与功能抽象,自顶向下、分而治之的方法,将程序按功能划分成若干模块,这些模块形成调用的层次树状结构;模块间的关联尽可能简单,模块的功能相对独立; 优点: 将一个复杂的系统分解成易于实现和控制的子任务,显著减少了软件开发的复杂性,提高软件的可靠性、可测试性和可维护性。 缺点: 当问题比较复杂、程序规模比较大时,结构化程序设计就显得有些力不从心; 把数据和数据处理过程分离成相互独立的实体,当数据结构改变时,所有相关 的处理过程都要进行相应的修改,程序的可重用性差; 目前,各种图形用户界面(Graphics User Interface,GUI)软件的应用日益 广泛,要求应用软件必须随时响应用户的各种操作,因此软件的功能很难用 过程来描述与实现,如果仍然使用面向过程的方法与语言,软件的开发和维 护将陷入难以克服的困境;,面向过程的程序设计,C+语言程序设计教程 第1章 C+编程简介,面向对象的程序设计语言是为了支持面向对象程序设计方法而设计的,它与以往各种编程语言的根本不同点在于:其设计的出发点就是为了能更加直接地描述客观世界中存在的事物以及它们之间的相互关系。 面向对象的程序设计语言支持抽象数据类型,并且提供了封装性、继承性、多态性等机制,使得类和类库成为可重用的模块。,1.2 面向对象的程序设计语言,LISP语言,Modula语言,Smalltalk语言,C+语言,Java语言,C#语言,C+语言程序设计教程 第1章 C+编程简介,利用计算机解决现实世界中的问题,就是要将现实世界的问题经过抽 象转换为计算机程序或软件; 现实世界是本质上是由对象所组成,而不是由“各种过程”所组成; 软件开发的目的是为了解决现实世界中的问题,这些问题都是由对象 所组成; 面向对象的方法强调直接以问题域(现实世界)中的事物为中心来思 考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示 为软件系统中的对象; 面向对象方法使软件系统直接映射现实世界的问题域,保持问题域中 事物及其相互关系的本来面貌,从而能够更准确地进行软件的分析与 设计;,1.2 面向对象的软件开发,为什么要采用面向对象的程序设计方法?,C+语言程序设计教程 第1章 C+编程简介,对象是软件开发所涉及的问题域中一些事物的抽象,是一些属性、操作和方 法的封装体,它具有唯一的标识; 对象是用来描述客观事物的一个实体,它是构成系统的一个基本单位; 对象具有静态特征和动态特征,静态特征是可以用数据来描述的特征,动态 特征为对象所表现的行为或具有的功能。对象由一组属性和对这组属性进行 操作的一组服务构成。属性是用来描述对象静态特征的数据项。服务是用来 描述对象动态特征(行为)的操作序列; 复杂的对象可以由相对比较简单的各种对象以组合的方式构成。不同对象的 组合及相互作用就构造为软件系统; 对象是有生命的,每个对象都有自己的生命周期; 对象与对象之间通过消息(message)进行相互通信; 通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形 成类。类通过一个简单的外部接口与外界发生关系;,1.2 面向对象的软件开发,对象(Object),C+语言程序设计教程 第1章 C+编程简介,从现实世界中存在的事物(即对象)出发来设计或构造软件系统,将软件开 发所涉及的各种操作对象和要解决的问题抽象为离散的,相互联系并且可以 相互通信的对象集合,称之为“类”; 类是具有相同属性和行为特征的一组对象的集合,它为属于该类的全部对象 提供了抽象的描述,包括属性(attribute)和方法(method)两个主要部 分。属性是类的静态特征,用一个数据单元表示,属性可以用属性名、属性 类型、可修改型、可见性等进行描述。方法是类的某种操作行为的实现,是 说明实现该行为的算法或过程; 类与对象的概念是紧密联系在一起的。类是对具有相同属性和行为的一组对 象的抽象;任何一个对象都是某个类的一个具体实例(instance); 类实际上是一种具有特定数据成员和功能(属性)的复杂数据类型,而对象 则是该“类”(数据类型)的一个变量;,1.2 面向对象的软件开发,类(Class),C+语言程序设计教程 第1章 C+编程简介,面向对象的基本概念,对象是用来描述客观事物的一个实体,张三,李四,类是具有相同属性和服务的一组对象的概括,属性,服务,性别,年龄,说话,行走,新类,消息,C+语言程序设计教程 第1章 C+编程简介,封装是把对象的属性和服务结合成一个独立的系统单位(即对象); 封装将尽可能隐蔽对象的内部细节,对外形成一个边界(或者说一道 屏障),只保留有限的对外接口使之与外部发生联系; 封装可以有效地控制一个对象内部发生变化时对其它对象的影响; 封装能够通过对象接口简化对象的使用; 封装便于通过继承机制实现代码重用;,1.2 面向对象的软件开发,封装(encapsulation),C+语言程序设计教程 第1章 C+编程简介,继承是面向对象方法的基本特征之一,也是面向对象方法能够提高软件开 发效率的重要原因; 继承是指特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一 般类的继承; 继承意味着特殊类中不必重新定义已在它的一般类中定义过的属性和行为 ,而它却自动地、隐含地拥有其一般类的所有属性与行为。通常将一般类 称为基类(base class)或父类(super class),将特殊类称为派生类 (derived class)或子类(subclass); 继承简化了人们对客观事物的认识和描述。采用继承机制之后,在定义特 殊类时,只需要声明它是继承自哪个类,并增加它自己的特殊属性与行为 ,而且继承机制具有传递性,可以被一层一层的不断继承下去,实现代码 重用,这将明显减轻程序开发工作的强度,提高程序开发的效率。,1.2 面向对象的软件开发,继承:,C+语言程序设计教程 第1章 C+编程简介,多态性也是面向对象方法的重要特征; 多态性的实现是以继承为基础的; 多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可 以具有不同的数据类型或表现出不同的行为,这使得同一个属性或 行为在一般类及其各个特殊类中具有不同的语义,即具有继承关系 的不同对象接收到同一消息时有不同的行为; 多态性可以为具有继承关系的不同类所形成的类族(具有继承关系 的类的树状层次集合)提供统一的外部接口。,1.2 面向对象的软件开发,多态性:,C+语言程序设计教程 第1章 C+编程简介,面向对象的软件开发: 就是将面向对象的思想应用于软件开发过程中的各个阶段。 其主要过程为:首先从实际问题出发,用面向对象的方法分析用户需求,建立分析模型;其次进行面向对象的设计,建立系统的设计模型;然后用面向对象的程序设计语言进行编程,实现软件系统;随后进行面向对象的测试;最后进行面向对象的维护。,1.2 面向对象的软件开发,面向对象的分析,面向对象的设计,面向对象的编程,面向对象的测试,面向对象的维护,C+语言程序设计教程 第1章 C+编程简介,1.3 C+语言程序设计,C+语言的产生,1983加入类,C,1994标准化,C+语言的特点,支持面向对象的程序设计 支持泛型程序设计 功能强大的标准模板库 C+语言是一种更好的“C语言”,C+语言程序设计教程 第1章 C+编程简介,1.4 C+程序开发过程,程序代码的录入、修改,执行预处理指令,词法分析、语法分析后生成目标程序,与其它目标程序或库连接,生成可执行程序,C+语言程序设计教程 第1章 C+编程简介,1.5 C+程序结构,/* * 程序文件名: p1_1.cpp * * 本程序显示: Hello C+! * * 设计者: 杨进才 时 间: 8-8-2009 * */ #include / 载入头文件 using namespace std; / 使用命名空间std int main( ) / 程序入口 cout “Hello C+!“endl; return 0; ,运行结果: Hello C+!,一个简单的C+程序,在C+程序中,注释块由“/*”开始,由“*/”结束,可以实现多行注释 。 也可使用“/”进行单行注释。,C+语言的预处理命令都是以“#” 号开头。iostream是一个头文件,系统 头文件不带.h后缀,cout为标准输出流对象,它与显示器相连。 是插入操作符,endl为换行符号。整个语句的功能是将”Hello C+ !”字符串与endl依次插入到cout中,main是主函数名,一个C+语言程序有且仅有一个main函数。C+程序执行时就是从main函数开始.,C+语言规定:语句以分号结束,C+语言程序设计教程 第1章 C+编程简介,使用名字空间,?为什么: 标准C+库提供的对象等都放在标准名字空间std中,要使用它们, 必须要声明使用标准名字空间std。,使用标准名字空间std有3种方式: 整体声明 using namespace std; 使用时单个对象临时声明 std:cout“Hello C+“std:endl; 单个对象使用前声明 using std:cout;,C+语言程序设计教程 第1章 C+编程简介,cin 对象1 对象2.对象n;,cout 对象1 对象2.对象n;,C+中使用对象cin作为标准输入流对象,通常代表键盘,cin与提取操作符连用,使用格式为:,该语句是从标准输入流对象键盘上提取n个数据分别给对象1、对象2、.、对象n。,C+中使用对象cout作为标准输出流对象,通常代表显示设备,cout与插入操作符连用,使用格式为:,该语句是依次从将对象1、对象2、.、对象n插入到标准输出流对象中,从而实现了对象在显示器上的输出。,C+ 输入/输出简介,C+语言程序设计教程 第1章 C+编程简介,输入输出举例,Please input three numbers: 101 201 300 The average of 101,201 and 300 is: 200.667,C+语言程序设计教程 第1章 C+编程简介,常用的操纵符,注意: 在使用setw(n)与setprecision(n)时,还需要包含输入/输出操纵符头文件 iomanip, iomanip意为input and output manipulate (操纵). setprecision(n)仅对带有小数的数有效,n为整数与小数但不包括小数点的位 数。,C+语言程序设计教程 第1章 C+编程简介,常用的操纵符使用举例,运行结果,Please input three numbers: 101 201 300 The average of 101 , 201 and 300 is: 200.666671753,C+语言程序设计教程 第1章 C+编程简介,1.6 本章小结, 程序设计语言经历了从机器语言、汇编语言、高级语言、到面向对象的语言的发展过程,使得编程语言与人的自然语言越来越接近,编程效率越来越高。 程序设计方法经历了面向过程的方法、结构化的方法、面向对象的方法的发 展过程。 C+语言兼容C语言,具有面向对象的特点,支持面向对象程序设计方法。 面向对象的基本概念有:对象、类、封装、继承、消息、多态性。 面向对象的软件开发包括面向对象的分析、面向对象的设计、面向对象的编程、面向对象的测试和面向对象的维护。 C+程序设计的主要步骤:程序编辑、预编译、编译、连接、调试与运行。 程序注释有两种方法,应培养给程序写注释的好习惯。 预处理指令include在编译的预处理阶段将头文件搬到程序中,包含头文件是 C+程序的必不可少的部分。 标准C+的类库定义在名字空间std中,可以通过3种方法使用名字空间。 输入输出格式中,各种控制符作用和范围不同。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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