C+语言程序设计 第1讲:绪论
C++语言程序设计 第1讲: 绪论/5
低级语言与高级语言 癱面向机器的语言是低级语言;面向使用者的语 言是高级语言 机器可直接执行的语言是低级语言;必须经过 “翻译”才能执行的语言是高级语言 汇编语言是低级语言; Basi、 Pascal、 Fortran、C、 Mathlab、C++、 Jaa、C#等都是高级语言 低级语言由于面向机器,所以执行效率很高; 但可读性差、编写困难,不易维护
低级语言与高级语言 面向机器的语言是低级语言;面向使用者的语 言是高级语言。 机器可直接执行的语言是低级语言;必须经过 “翻译”才能执行的语言是高级语言。 汇编语言是低级语言; Basic、Pascal、Fortran、C、MathLab、C++、 Java、C#等都是高级语言。 低级语言由于面向机器,所以执行效率很高; 但可读性差、编写困难,不易维护
人与计算机的沟通 机器语言: 01010010 机器直接执行 10010011 00110011 章汇编语言: 与机器码对应 MoV Ax.ASh 01010010 MOV Bx. 90h 10010011 高级语言: 工NT13h 00110011 通过“翻译” for(i=1,i<20;1++) 01010010 10010011 variable += 25; if(variable==100) break 00110011
人与计算机的沟通 机器语言: 机器直接执行 汇编语言: 与机器码对应 高级语言: 通过“翻译” 01010010 10010011 00110011 01010010 10010011 00110011 MOV AX,A5h MOV BX,90h INT 13h 01010010 10010011 00110011 。。。 for(i=1,i<20;i++) { variable += 25; if(variable==100) break; }
高级语言 高级语言屏蔽了机器的细节,提高了语言的抽 象层次,程序中可以采用具有一定涵义的数据 命名和容易理解的执行语句。这使得在书写程 序时可以联系到程序所描述的具体事物。 高级语言的特征:使用人比较容易理解的逻辑 浯言来记录计算机运算过程 癱髙级语言的逻辑结构:顺序结构、选择结构、 循环结构等。 高级语言与具体机器指令无关。 高级语言需要通过编译或解释才能在计算机上 运仃
高级语言 高级语言屏蔽了机器的细节,提高了语言的抽 象层次,程序中可以采用具有一定涵义的数据 命名和容易理解的执行语句。这使得在书写程 序时可以联系到程序所描述的具体事物。 高级语言的特征:使用人比较容易理解的逻辑 语言来记录计算机运算过程。 高级语言的逻辑结构:顺序结构、选择结构、 循环结构等。 高级语言与具体机器指令无关。 高级语言需要通过编译或解释才能在计算机上 运行
面向过程与面向对象 最早面向过程 FORTRAN77:代码 癱结构化程序 ALGOL60,后发展成 PASCAL:代码 50年代开始发展,直到80年代。 80年代末C语言开始流行,一直到90年代。 面向过程实际上就是面向结构和函数的程 序
面向过程与面向对象 最早面向过程FORTRAN77 :代码 结构化程序 ALGOL60,后发展成 PASCAL:代码 50年代开始发展,直到80年代。 80年代末C语言开始流行,一直到90年代。 面向过程实际上就是面向结构和函数的程 序
软件危机 软件危机最早在1968年的NATO会议提出 表现为 对软件的需求远超出现有的生产能力 人们依赖于脆弱的软件,目前的软件不可靠、缺 乏安全性、性能下降、出错、难以升级,73%的 软件项目被延迟、超资、取消或失败 为了从根本上解决软件危机的危机,人类提 出了“软件工程”的一些列方法,然而,众 多的软件工程的方法并没有彻底解决“软件 危机”的问题
软件危机 软件危机最早在1968年的NATO会议提出, 表现为: 1. 对软件的需求远超出现有的生产能力; 2. 人们依赖于脆弱的软件,目前的软件不可靠、缺 乏安全性、性能下降、出错、难以升级,73%的 软件项目被延迟、超资、取消或失败。 为了从根本上解决软件危机的危机,人类提 出了“软件工程”的一些列方法,然而,众 多的软件工程的方法并没有彻底解决“软件 危机” 的问题
软件危机 1986年,弗雷德里克·布鲁克斯提出一个著名悲 观论断:“没有一种单纯的技术或管理上的进 步,能够独立地承诺在10年内大幅度地提高软 件的生产率、可靠性和简洁性”。 非常遗憾的是银弹论断迄今为止尚未打破!据 美国国家标准和技术研究院的一份报告显示, 占据世界软件销售额85%的是大型的专用软件, 而其开发的失败率却高达70% 针对日趋复杂的软件需求的挑战,软件业界在 90年代发展出了面向对象( Object-Oriented) 的软件开发模式,作为针对“软件危机”的最 佳对策
软件危机 1986年,弗雷德里克·布鲁克斯提出一个著名悲 观论断: “没有一种单纯的技术或管理上的进 步,能够独立地承诺在10年内大幅度地提高软 件的生产率、可靠性和简洁性” 。 非常遗憾的是银弹论断迄今为止尚未打破!据 美国国家标准和技术研究院的一份报告显示, 占据世界软件销售额85%的是大型的专用软件, 而其开发的失败率却高达70%。 针对日趋复杂的软件需求的挑战,软件业界在 90年代发展出了面向对象(Object-Oriented) 的软件开发模式,作为针对“软件危机”的最 佳对策
面向对象的思想 般对象: 是现实世界中一个实际存在的事物 可以使有形的(比如一辆汽车),也可以是无形的 (比如一项计划)。 是构成世界的一个独立单位,具有 。静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能 软件中的对象: 对象应可以用量化描述和处理; ●对象具有属性和行为: 属性:描述对象的静态特征的数据项; 行为:表述对象的动态特征的操作序列
面向对象的思想 一般对象: 是现实世界中一个实际存在的事物。 可以使有形的(比如一辆汽车),也可以是无形的 (比如一项计划)。 是构成世界的一个独立单位,具有: 静态特征:可以用某种数据来描述 动态特征:对象所表现的行为或具有的功能 软件中的对象: 对象应可以用量化描述和处理; 对象具有属性和行为: 属性:描述对象的静态特征的数据项; 行为:表述对象的动态特征的操作序列
面向对象的思想 面向过程好比是无人管 理的阅览室,只有书架 和图书,随便看,随便息日 面向对象好比是图书馆, 图书被有效的管理(分 类),借书凭证,到期 归还。 属性:各种类型的图书、 各个阅览室 行为:图进货,阅读 规则,借阅规则,残破 处理等
面向对象的思想 面向过程好比是无人管 理的阅览室,只有书架 和图书,随便看,随便 拿。 面向对象好比是图书馆, 图书被有效的管理(分 类),借书凭证,到期 归还。 属性:各种类型的图书、 各个阅览室 行为:图书进货,阅读 规则,借阅规则,残破 处理等
面向对象的思想类 Class 分 人类通常的思维方法 分类所依据的原则—抽象 忽略事物的非本质特征,只注意那些与当前目 标有关的本质特征,从而找出事物的共性,把 具有共同性质的事物划分为一类,得出一个抽 象的概念。 例如,石头、树木、汽车、房屋等都是人们在 长期的生产和生活实践中抽象出的概念
面向对象的思想——类 Class 分类——人类通常的思维方法 分类所依据的原则——抽象 忽略事物的非本质特征,只注意那些与当前目 标有关的本质特征,从而找出事物的共性,把 具有共同性质的事物划分为一类,得出一个抽 象的概念。 例如,石头、树木、汽车、房屋等都是人们在 长期的生产和生活实践中抽象出的概念