第1章 C++语言概述(精品).ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第1章 C++语言概述(精品).ppt》由会员分享,可在线阅读,更多相关《第1章 C++语言概述(精品).ppt(49页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第一章 C+语言概述教学内容:教学内容:一、计算机系统与计算机软件一、计算机系统与计算机软件二、计算机软件与计算机语言二、计算机软件与计算机语言三、计算机语言的分类三、计算机语言的分类四、面向过程、面向对象四、面向过程、面向对象软件设计思想软件设计思想(重点(重点,难点)难点)五、五、C+语言的词法规则语言的词法规则六、简单六、简单C+程序介绍程序介绍七、七、C+的上机实验环境的上机实验环境(必须熟练掌握)(必须熟练掌握)八、小结八、小结下下 课课一、计算机系统与计算机软件一、计算机系统与计算机软件v计算机硬件v 输入设备输入设备 输出设备输出设备 CPUv 存储设备存储设备=内存外存内存外存
2、v 外存外存=磁盘光盘闪盘磁盘光盘闪盘v 外存信息需调入内存后,方可使用外存信息需调入内存后,方可使用 v 内存按地址编号,内存按地址编号,CPU可以按地址号直可以按地址号直接存取接存取v计算机软件计算机软件v 文档程序文档程序二、计算机软件与计算机语言二、计算机软件与计算机语言v计算机软件主要是以程序的形式展现的计算机软件主要是以程序的形式展现的v程序设计需要研究程序设计需要研究数据结构数据结构和和算法算法v 算法需要用一种语言来描述算法需要用一种语言来描述v 描述算法的语言有:描述算法的语言有:v 自然语言、图形语言、伪代码、形式语言自然语言、图形语言、伪代码、形式语言v最方便的是形式语言
3、,形式语言主要特征是无歧义。最方便的是形式语言,形式语言主要特征是无歧义。v计算机语言全是形式语言。计算机语言全是形式语言。三、计算机语言的分类三、计算机语言的分类v四大类:四大类:v机器语言机器语言(语言符号只有(语言符号只有0、1代码)代码)计算机能直接识别的惟一语言计算机能直接识别的惟一语言,其余语言均须翻译其余语言均须翻译v汇编语言汇编语言(机器语言符号化)(机器语言符号化)v高级语言高级语言 (最流行的是最流行的是C+语言语言)v超高级语言超高级语言 又称为开发工具,开发软件主要用开发工具又称为开发工具,开发软件主要用开发工具三、计算机语言的分类三、计算机语言的分类v高级语言适合程序
4、员编写程序。高级语言适合程序员编写程序。v高级语言编写的源程序需要由编译系统翻译高级语言编写的源程序需要由编译系统翻译为机器语言目标程序,计算机才能执行。为机器语言目标程序,计算机才能执行。v流行的高级语言有:流行的高级语言有:C语言、语言、C+语言、语言、Pascal语言、语言、JAVA语言等。语言等。v学好高级语言,是掌握软件开发技术的基础。学好高级语言,是掌握软件开发技术的基础。四、四、软件设计风格概述软件设计风格概述软件设计是一个将人类思维物化为计算机思软件设计是一个将人类思维物化为计算机思维的过程维的过程,通过这个过程计算机获得一定程,通过这个过程计算机获得一定程度的独立加工甚至思维
5、的能力,从而将人类度的独立加工甚至思维的能力,从而将人类思维推向更高层次。关于软件设计的概念和思维推向更高层次。关于软件设计的概念和方法的研究是随着计算机应用的深入和所处方法的研究是随着计算机应用的深入和所处理问题的复杂化而不断加深的。本章将就软理问题的复杂化而不断加深的。本章将就软件设计的相关概念和程序设计方法的演化发件设计的相关概念和程序设计方法的演化发展作一简要介绍。展作一简要介绍。1 软件与软件危机软件与软件危机什么是软件什么是软件什么是软件危机什么是软件危机 软件 程序软件危机首次爆发于二十世纪六十年代。软件危机首次爆发于二十世纪六十年代。在大型程序设计中,人们发现投入大量的人在大型
6、程序设计中,人们发现投入大量的人力、物力、时间开发出的软件,其成本、效力、物力、时间开发出的软件,其成本、效率、质量等方面却处于失控状态,尤其软件率、质量等方面却处于失控状态,尤其软件维护异常困难。程序的修改扩充往往需要大维护异常困难。程序的修改扩充往往需要大量重复性投入。量重复性投入。1 软件与软件危机软件与软件危机软件危机产生的原因主要有三个:软件危机产生的原因主要有三个:2 2 软件是一种逻辑产品而非物理产品,软件的软件是一种逻辑产品而非物理产品,软件的开发过程本质上是人的思考过程。开发过程本质上是人的思考过程。3 3 人的智力在面对越来越复杂的问题时,处理人的智力在面对越来越复杂的问题
7、时,处理问题的效率会越来越低。问题的效率会越来越低。1 1 软件开发者不熟悉用户问题的领域,或没有软件开发者不熟悉用户问题的领域,或没有理解用户需求,软件产品与要求不一致。理解用户需求,软件产品与要求不一致。2 软件工程软件工程软件危机的软件危机的 出现迫使人们重新认识出现迫使人们重新认识软件和软件开发过程。软件和软件开发过程。大型软件开发也应该借鉴建筑、机械大型软件开发也应该借鉴建筑、机械等行业的发展过程,由等行业的发展过程,由“手工方式手工方式”向向“工程化工程化”方向发展。方向发展。19681968年在北年在北大西洋公约组织大西洋公约组织(NATO)(NATO)的年会上首次的年会上首次提
8、出软件工程的概念,此后又逐步提提出软件工程的概念,此后又逐步提出软件生命期的概念。出软件生命期的概念。2 软件工程软件工程软件工程的提出和软件的定义软件工程的提出和软件的定义 软件是程序、方法、规则、相关文档以及在计算机上运行软件是程序、方法、规则、相关文档以及在计算机上运行所必需的数据的集合。而软件工程是开发、运行、维护软件所必需的数据的集合。而软件工程是开发、运行、维护软件的系统方法。的系统方法。软件生命期软件生命期软件生命期指从开始研制到废弃不用的整个期间,可划分软件生命期指从开始研制到废弃不用的整个期间,可划分为五个阶段:需求分析、设计、编程、测试和运行维护。为五个阶段:需求分析、设计
9、、编程、测试和运行维护。软件的质量标准软件的质量标准正确性正确性 健壮性健壮性 可维护性可维护性可用性可用性 可重用性可重用性 效率等效率等2 软件工程软件工程正确性 软件的正确性指的是软件系统在正常条件下能够正确工作,完成规定功能。这是软件的首要指标。例如,要求设计程序,输入一批数据,计算它们的累加和。在这里,正确性就是能正确计算累加和。2 软件工程软件工程健壮性健壮性软软件件的的健健壮壮性性指指的的是是在在意意外外情情况况下下(如如输输入入数数据据不不合合理理或或某某些些硬硬件件故故障障),软软件件系系统统仍仍能能适适当当地地工工作作,并并对对意意外外情情况况进进行行适适当当处处理理,而而
10、不不致致于于导导致致错错误误结结果果甚甚至至系系统的瘫痪或死机。统的瘫痪或死机。例例如如,要要求求设设计计程程序序,根根据据输输入入的的三三边边a a、b b、c c的的长长度度判判别别三三角角形形类类型型。现现有有如如下下设设计计思思想想:若若a a、b b、c c中中只只有有两两个个量量相相等等,则则为为等等腰腰三三角角形形,若若三三个个量量均均相相等等,则则为为等等边边三三角角形形,否否则则为为一一般般三三角角形形。如如果果输输入入为为(-2-2,-2-2,-2-2)时时,程程序序输输出出为为:等等边边三三角角形形。这这个个结结果果显显然然是是错错误误的的。这这是是由由于于程程序序对对不
11、不合合理理数数据据不不能能进进行行适适当当处处理理,我们就说这个程序的健壮性不好。我们就说这个程序的健壮性不好。2 软件工程软件工程可维护性可维护性软件的维护包括发现并改正软件的错误,以软件的维护包括发现并改正软件的错误,以及由于软件运行环境发生变化或软件功能扩充及由于软件运行环境发生变化或软件功能扩充而对软件进行的改动。而对软件进行的改动。软件的可维护性指的是软件容易维护的程度。软件的可维护性指的是软件容易维护的程度。一般地说,软件的可读性好,容易理解,维护一般地说,软件的可读性好,容易理解,维护起来也就比较容易。因此可读性是可维护性的起来也就比较容易。因此可读性是可维护性的基础。基础。3
12、程序设计方法3.1 3.1 传统的结构化程序设计传统的结构化程序设计 SP(StructuredSP(Structured Programming)Programming)3.2 3.2 面向对象的程序设计面向对象的程序设计 OOP(ObjectOOP(Object Oriented Programming)Oriented Programming)3.1 传统的结构化程序设计传统的结构化程序设计传统的程序设计方法可以归结为传统的程序设计方法可以归结为“程序程序=算法算法+数据结构数据结构”将程序定义为处理数据的一系列过程。这将程序定义为处理数据的一系列过程。这种设计方法的着眼点是种设计方法的
13、着眼点是面向过程面向过程的的,特点是,特点是数据与程序分离,即数据与数据处理分离。数据与程序分离,即数据与数据处理分离。结构化程序设计的基本思想是采用结构化程序设计的基本思想是采用自顶向自顶向下、逐步细化下、逐步细化的设计方法和的设计方法和单入单出单入单出的控制的控制结构。结构。3.1 传统的结构化程序设计传统的结构化程序设计模块模块22.12.2模块模块11.21.11.31.3.11.3.21.3.3模块模块33.13.23.1.13.1.2 程序程序3.1 传统的结构化程序设计传统的结构化程序设计举举一一个个简简单单的的例例子子,要要求求读读入入一一组组整整数数,统统计计其其中中正整数和
14、负整数的个数。正整数和负整数的个数。该任务的模块结构及细化过程如下:该任务的模块结构及细化过程如下:1.1.读入数据读入数据2.2.统计正数、负数统计正数、负数的个数的个数;3.输出结果输出结果 2.1 2.1 如数大于如数大于0 0,正整数个数加,正整数个数加1 12.2 2.2 如数小于如数小于0 0,负整数个数加,负整数个数加1 12.3:2.3:取下一个整数取下一个整数正整数个数为正整数个数为0 0;负整数个数;负整数个数0 0 取取第一个整数第一个整数重复重复至统至统计完计完3.1 传统的结构化程序设计传统的结构化程序设计结构化程序设计为处理复杂问题提供了有力结构化程序设计为处理复杂
15、问题提供了有力手段,但到手段,但到8080年代末,这种设计方法逐渐暴年代末,这种设计方法逐渐暴露出以下缺陷:露出以下缺陷:(1 1)难以适应大型软件的设计。难以适应大型软件的设计。(2 2)程序可重用性差。程序可重用性差。3.2 面向对象的程序设计面向对象的程序设计为什么要引入面向对象的设计为什么要引入面向对象的设计方法方法面向对象的设计方法与面向过面向对象的设计方法与面向过程的设计方法有什么关系程的设计方法有什么关系3.2 面向对象的程序设计面向对象的程序设计面向过程程序设计缺点的根源在于面向过程程序设计缺点的根源在于数据与数据处理分数据与数据处理分离离。面向对象程序设计模拟自然界认识和处理
16、事物的方法,面向对象程序设计模拟自然界认识和处理事物的方法,将数据和对数据的操作方法放在一起,形成一个相对独将数据和对数据的操作方法放在一起,形成一个相对独立的整体立的整体对象(对象(objectobject),同类对象还可抽象出共同类对象还可抽象出共性,形成性,形成类(类(class class)。一个类中的数据通常只能通过本一个类中的数据通常只能通过本类提供的方法进行处理,这些方法成为该类与外部的类提供的方法进行处理,这些方法成为该类与外部的接接口口。对象之间通过。对象之间通过消息(消息(messagemessage)进行通讯进行通讯。3.2 面向对象的程序设计3.2.13.2.1 基基
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 C+语言概述精品 C+ 语言 概述 精品
![提示](https://www.deliwenku.com/images/bang_tan.gif)
限制150内