C++语言概述课件.ppt

上传人(卖家):三亚风情 文档编号:3347558 上传时间:2022-08-22 格式:PPT 页数:39 大小:485KB
下载 相关 举报
C++语言概述课件.ppt_第1页
第1页 / 共39页
C++语言概述课件.ppt_第2页
第2页 / 共39页
C++语言概述课件.ppt_第3页
第3页 / 共39页
C++语言概述课件.ppt_第4页
第4页 / 共39页
C++语言概述课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、第 1 章 C+语言概述烟台大学 计算机学院C+语言程序设计第1页,共39页。C+语言程序设计本章主要内容本章主要内容uC+语言的发展语言的发展uC+语言的特点语言的特点u面向对象的程序设计面向对象的程序设计uC+语言的基本符号语言的基本符号uC+语言的词汇语言的词汇uC+程序的基本框架程序的基本框架uC+程序的开发过程程序的开发过程第2页,共39页。C+语言程序设计计算机语言发展史计算机语言发展史C+语言的发展语言的发展 计算机诞生初期,人们要使用计算机必须用机器语言或汇编语言编写程序。世界上第一种计算机高级语言诞生于1954年,它是FORTRAN语言。先后出现了多种计算机高级语言。其中使用

2、最广泛、影响最大的当推BASIC语言和C语言。机器语言机器指令(由0 和 1组成),可直接执行 难学、难记依赖机器的类型汇编语言用助记符代替机器指令,用变量代替各类地址。克服记忆的难点其他与机器语言类似高级语言类似数学语言、接近自然语言、具有通用性和可移植性,不依赖具体的计算机类型。第3页,共39页。C+语言程序设计计算机语言发展史C+语言的发展语言的发展0 0 1 0 0 0 1 11 1 1 0 1 1 0 10 1 1 0 0 0 0 10 1 1 1 0 1 1 0 main()int a,b,c;a=300;b=18;c=a+b;printf(“a+b=%dn”,c);第4页,共39

3、页。C+语言程序设计计算机语言发展史C+语言的发展语言的发展 BASIC语言是1964年在FORTRAN语言的基础上简化而成的,它是为初学者设计的小型高级语言。C语言是1972年由美国贝尔实验室的D.M.Ritchie根据B语言开发设计的,用该语言设计了UNIX操作系统。大多数系统软件和许多应用软件都是用C语言编写的。第5页,共39页。C+语言程序设计C 语言的特点C+语言的发展语言的发展u 语言简洁、紧凑,使用灵活、方便u 具有丰富的运算符和数据类型u 可以进行许多低级操作,适合开发系统软件u 程序的运行效率高u 代码的可移植性好第6页,共39页。C+语言程序设计C 语言的局限性C+语言的发

4、展语言的发展u 类型检查机制较弱,程序中的错误难于发现u 缺少支持代码重用的语言结构u 不适合开发大型软件第7页,共39页。C+语言程序设计C+语言的诞生C+语言的发展语言的发展 随着软件规模的增大,用C语言编写程序渐渐显得有些吃力了。20世纪80年代初由AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事于在C语言的基础上开发了C+。C+保留了C语言原有的所有优点,增加了面向对象的机制。第8页,共39页。C+语言程序设计C+语言的诞生C+语言的发展语言的发展 C+是由C发展而来的,与C兼容。用C语言写的程序基本上可以不加修改地用于C+。从C+的名字可以看出它是C的

5、超集。C+既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计,是一种功能强大的混合型的程序设计语言。第9页,共39页。C+语言程序设计C+语言的特点C+语言的特点语言的特点u 是面向对象的程序设计语言u 是程序员和软件开发这在实践中创造的u 是C语言的超集C+的新特性C语言第10页,共39页。C+语言程序设计面向对象的语言面向对象的语言u出发点:出发点:更直接地描述客观世界中存在的事物更直接地描述客观世界中存在的事物(对对象象)以及它们之间的关系。以及它们之间的关系。u特点:特点:u是高级语言。是高级语言。u将客观事物看作具有属性和行为的对将客观事物看作具有属性和行为的对象。象。u通

6、过抽象找出同一类对象的共同属性通过抽象找出同一类对象的共同属性和行为,形成类。和行为,形成类。u通过类的继承与多态实现代码重用通过类的继承与多态实现代码重用面向对象程序设计面向对象程序设计第11页,共39页。C+语言程序设计面向对象的语言面向对象的语言优点:优点:使程序能够比较直接地反映问题域的使程序能够比较直接地反映问题域的本来面目,软件开发人员能够利用人类认本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件识事物所采用的一般思维方法来进行软件开发。开发。面向对象程序设计面向对象程序设计第12页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程 面

7、向过程的程序设计方法面向过程的程序设计方法最早的程序最早的程序 目的:用于数学计算目的:用于数学计算 主要工作:设计求解问题的过程主要工作:设计求解问题的过程 缺点:对于庞大、复杂的程序难以开发和缺点:对于庞大、复杂的程序难以开发和维护维护面向对象程序设计面向对象程序设计第13页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程面向过程的结构化程序设计方法面向过程的结构化程序设计方法l设计思路设计思路 自顶向下、逐步求精。采用模块分解与自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。功能抽象,自顶向下、分而治之。l程序结构:程序结构:按功能划分为若干个基本

8、模块,形成一按功能划分为若干个基本模块,形成一个树状结构。个树状结构。各模块间的关系尽可能简单,功能上相各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。择和循环三种基本结构组成。其模块化实现的具体方法是使用子程序其模块化实现的具体方法是使用子程序。面向对象程序设计面向对象程序设计第14页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程面向过程的结构化程序设计方法面向过程的结构化程序设计方法l优点:优点:有效地将一个较复杂的程序系统设有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理

9、的子计任务分解成许多易于控制和处理的子任务,便于开发和维护。任务,便于开发和维护。面向对象程序设计面向对象程序设计第15页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程 面向过程的结构化程序设计方法面向过程的结构化程序设计方法l缺点:可重用性差、数据安全性差、难以开发大缺点:可重用性差、数据安全性差、难以开发大型软件和图形界面的应用软件型软件和图形界面的应用软件 把数据和处理数据的过程分离为相互独立的实体。把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应当数据结构改变时,所有相关的处理过程都要进行相应的修改。的修改。每一种相

10、对于老问题的新方法都要带来额外的开每一种相对于老问题的新方法都要带来额外的开销。销。图形用户界面的应用程序,很难用过程来描述和实现,图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难。开发和维护也都很困难。面向对象程序设计面向对象程序设计第16页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程 面向对象的方法面向对象的方法l将数据及对数据的操作方法封装在一将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的起,作为一个相互依存、不可分离的整体整体对象。对象。l对同类型对象抽象出其共性,形成类。对同类型对象抽象出其共性,形成类。l类通过一个简

11、单的外部接口,与外界类通过一个简单的外部接口,与外界发生关系。发生关系。l对象与对象之间通过消息进行通信。对象与对象之间通过消息进行通信。面向对象程序设计面向对象程序设计第17页,共39页。C+语言程序设计程序设计方法的发展历程程序设计方法的发展历程 面向对象的方法面向对象的方法l优点:优点:程序模块间的关系更为简单,程序模块程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的的独立性、数据的安全性就有了良好的保障。保障。通过继承与多态性,可以大大提高程序通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都的可重用性,使得软件的开发和维护都更为方便。更为方便。面

12、向对象程序设计面向对象程序设计第18页,共39页。C+语言程序设计面向对象的基本概念面向对象的基本概念 对象对象l一般意义上的对象:一般意义上的对象:是现实世界中一个实际存在的事物。是现实世界中一个实际存在的事物。可以是有形的(比如一辆汽车),也可可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。以是无形的(比如一项计划)。是构成世界的一个独立单位,具有是构成世界的一个独立单位,具有l静态特征:可以用某种数据来描述静态特征:可以用某种数据来描述l动态特征:对象所表现的行为或具有的功能动态特征:对象所表现的行为或具有的功能面向对象程序设计面向对象程序设计第19页,共39页。C+语言程

13、序设计面向对象的基本概念面向对象的基本概念 对象对象l面向对象方法中的对象:面向对象方法中的对象:是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。属性:用来描述对象静态特征的数据项。行为:用来描述对象动态特征的操作序列。面向对象程序设计面向对象程序设计第20页,共39页。C+语言程序设计面向对象的基本概念面向对象的基本概念 类类l分类分类人类通常的思维方法人类通常的思维方法l分类所依据的原则分类所依据的原则抽象抽象 忽略事物的非本质特征,只注意那些与忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事当前目标有关的本质特征,从而

14、找出事物的共性,把具有共同性质的事物划分物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。为一类,得出一个抽象的概念。例如,石头、树木、汽车、房屋等都是例如,石头、树木、汽车、房屋等都是人们在长期的生产和生活实践中抽象出人们在长期的生产和生活实践中抽象出的概念。的概念。面向对象程序设计面向对象程序设计第21页,共39页。C+语言程序设计面向对象的基本概念面向对象的基本概念 类类l面向对象方法中的面向对象方法中的类类 具有相同属性和服务的一组对象的集合具有相同属性和服务的一组对象的集合 为属于该类的全部对象提供了抽象的描述,为属于该类的全部对象提供了抽象的描述,包括属性和行为两个主要

15、部分。包括属性和行为两个主要部分。类与对象的关系:类与对象的关系:犹如模具与铸件之间的关系,一个属于某犹如模具与铸件之间的关系,一个属于某类的对象称为该类的一个实例。类的对象称为该类的一个实例。面向对象程序设计面向对象程序设计第22页,共39页。C+语言程序设计面向对象的基本概念面向对象的基本概念 封装封装l把对象的属性和服务结合成一个独立把对象的属性和服务结合成一个独立的系统单元。的系统单元。l尽可能隐蔽对象的内部细节。对外形尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生保留有限的对外接口使之与外部发生联系。联

16、系。面向对象程序设计面向对象程序设计第23页,共39页。C+语言程序设计面向对象的基本概念面向对象的基本概念 继承继承l继承对于软件复用有着重要意义,是继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率面向对象技术能够提高软件开发效率的重要原因之一。的重要原因之一。l定义:特殊类的对象拥有其一般类的定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般全部属性与服务,称作特殊类对一般类的继承。类的继承。l例如:将轮船作为一个一般类,客轮例如:将轮船作为一个一般类,客轮便是一个特殊类。便是一个特殊类。面向对象程序设计面向对象程序设计第24页,共39页。C+语言程序设计面向

17、对象的基本概念面向对象的基本概念 多态性多态性l多态是指在一般类中定义的属性或行多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以具有不为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。同的数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及这使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义。其各个特殊类中具有不同的语义。l例如:例如:数的加法数的加法-实数的加法实数的加法 -复数的加法复数的加法面向对象程序设计面向对象程序设计第25页,共39页。C+语言程序设计C+语言的基本符号语言的基本符号C+语言的基本符号语言的基本符号 C+语言的基本符号可以分为

18、3类:u字母(52)小写a-z和大写A-Z共计52个u 数字(10)0-9共计10个u 特殊符号(30)+-*/等共计30空格!#%&*_(下划线)+=-/;.,()第26页,共39页。C+语言程序设计C+中的关键字auto bool break case catch char class const const_cast continue default delete do double dynamic_cast else enum explicit extern false float for friend goto if inline int long mutable namespace

19、 new operator private protected publie register reinterpret_cast return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile while auto 自动自动 bool 布尔布尔 break 中断中断 case 情况情况 catch 捕获捕获 char 字符字符 class 类类 co

20、nst 常量常量 const_cast 常量转换常量转换 continue 继续继续 default 缺省缺省 delete 删除,清空删除,清空 do do.while.循环的循环的do部分部分 double 双精度型双精度型 dynamic_cast 动态转换动态转换 else 其他(情况),否则其他(情况),否则 enum 枚举枚举 explicit明显明显 显示的显示的 extern 外部的外部的 false 假,假,0 float 浮点型浮点型 for循环循环 friend 友友元元 goto 转到转到 if 如果如果 inline 内联内联 int 整型整型 long 长整型长整型

21、 mutable 可变的可变的 namespace 命名空间命名空间 new 申请内存块申请内存块 operator 运算符运算符 private私有的私有的 protected保护的保护的 public共有的共有的 register 寄存的寄存的(和和auto一类的一类的)reinterpret_cast 重定义转换重定义转换 return 返回返回 short 短整型短整型 signed 有符号的有符号的 sizeof 计算字节数计算字节数 static 静态的静态的 static_cast 静态转换静态转换 struct结构结构 switch 列举列举 template 模板模板 thi

22、s 指向对象本身的指针指向对象本身的指针 throw 抛出(异常)抛出(异常)true 真,非真,非0,1 try 和和catch配对使配对使用的处理异常的用的处理异常的 typedef 定义类型,将定义类型,将.定义为定义为.typeid 数据类型的名字数据类型的名字 typename类型名字类型名字 union 联合联合 unsigned无符号的无符号的 using使用使用 virtual 表示虚函表示虚函数数 void 无无 volatile 表示可能被意外改变的,和表示可能被意外改变的,和const相对应相对应 while while循环循环 C+语言的词汇语言的词汇register第

23、27页,共39页。C+语言程序设计标识符C+语言的词汇语言的词汇定义:标识符是用户为程序中各种需要命名的元素所起的名字。第28页,共39页。C+语言程序设计标识符的构成规则构成规则C+语言的词汇语言的词汇u以字母或下划线(_)开始。u可以由字母、下划线(_)或数字组成。u大写字母和小写字母代表不同的标识符。第29页,共39页。C+语言程序设计C+中的预定义标识符C+语言的词汇语言的词汇l预定义标识符是扩展系统功能而定义的函数等元素的名字。l预定义标识符允许用户对它们重新定义,当重新定义后将改变它们原来的含义。第30页,共39页。C+语言程序设计正确区分标识符l正确区分哪些是合法标识符,哪些是不

24、合法标识符。其中合法标识符中哪些是关键字,哪些是预定义标识符,哪些是用户定义标识符。Abc define 2x double studentm+y a#b-4 _1 Whileint let x%y name do wtm Ctrl swicth include C+语言的词汇语言的词汇第31页,共39页。C+语言程序设计C+程序的基本框架程序的基本框架C+程序的基本结构程序的基本结构 例1.1 输出一行字符:“This is a C+program.”。程序如下:#include /包含头文件iostreamusing namespace std;/使用命名空间stdint main()co

25、utThis is a C+program.;return 0;第32页,共39页。C+语言程序设计基本术语基本术语l源程序:源程序:用源语言写的,有待翻译的程序l目标程序:目标程序:也称为结果程序,是源程序通过翻译程序加工以后所生成的程序。l翻译程序:翻译程序:是指一个把源程序翻译成等价的目标程序的程序。C+程序的开发过程程序的开发过程第33页,共39页。C+语言程序设计基本术语基本术语 三种不同类型的翻译程序三种不同类型的翻译程序l汇编程序:汇编程序:其任务是把用汇编语言写成的源程序,翻译成机器语言形式的目标程序。l编译程序:编译程序:若源程序是用高级程序设计语言所写,经翻译程序加工生成目

26、标程序,那么,该翻译程序就称为编译程序。C+程序的开发过程程序的开发过程第34页,共39页。C+语言程序设计基本术语基本术语 三种不同类型的翻译程序三种不同类型的翻译程序l解释程序:解释程序:这也是一种翻译程序,同样是将高级语言源程序翻译成机器指令。它与编译程序不同点就在于:它是边翻译边执行的,即输入一句、翻译一句、执行一句,直至将整个源程序翻译并执行完毕。C+程序的开发过程程序的开发过程第35页,共39页。C+语言程序设计C+程序的开发过程程序的开发过程C+程序的开发环境及调试过程 1 Visual C+的安装和启动2 输入和编辑源程序 1 新建一个C+源程序的方法 2 打开一个已有的程序

27、3 通过已有的程序建立一个新程序的方法第36页,共39页。C+语言程序设计C+程序的开发过程程序的开发过程C+程序的开发环境及调试过程 3 编译、连接和运行 1程序的编译 2程序的调试 3程序的连接 4.程序的运行4 建立和运行包含多个文件的程序的方法 1.由用户建立项目工作区和项目文件 2.用户只建立项目文件第37页,共39页。C+语言程序设计程序的开发过程程序的开发过程l编辑编辑将源程序输入到计算机中,生成后缀为cpp的磁盘文件。l编译编译将程序的源代码转换为机器语言代码。l连接连接将多个源程序文件以及库中的某些文件连在一起,生成一个后缀为exe的可执行文件。l运行调试运行调试C+程序的开发过程程序的开发过程第38页,共39页。C+语言程序设计C+程序的开发过程程序的开发过程C+程序的开发环境及调试过程 第39页,共39页。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(C++语言概述课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|