C++优秀课件PPT.ppt

上传人:资****亨 文档编号:127272316 上传时间:2020-03-31 格式:PPT 页数:44 大小:113KB
返回 下载 相关 举报
C++优秀课件PPT.ppt_第1页
第1页 / 共44页
C++优秀课件PPT.ppt_第2页
第2页 / 共44页
C++优秀课件PPT.ppt_第3页
第3页 / 共44页
C++优秀课件PPT.ppt_第4页
第4页 / 共44页
C++优秀课件PPT.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《C++优秀课件PPT.ppt》由会员分享,可在线阅读,更多相关《C++优秀课件PPT.ppt(44页珍藏版)》请在金锄头文库上搜索。

1、1 0本科程在专业学习中的地位1 1程序设计语言1 2C 前史1 3C 1 4C 编程流程1 5最小样板程序1 6程序与算法1 7过程化程序设计1 8对象化程序设计1 9小结 1 0本科程在专业学习中的地位 本科程学习的高端目标 1 程序设计竞赛 2 初级程序员 证书 第四 五学期相当于实习工程师 本科毕业 3 中级程序员 证书 第五 六学期相当于助理工程师 本科毕业工作1年以上 4 高级程序员 证书 第六 七学期相当于工程师 本科毕业工作5年以上 5 软件设计师 证书 第七 八学期相当于高级工程师 本科毕业工作9年以上 C 到底难不难学 它从开始诞生以来 发展势头一直旺到现在 背后一定也有它

2、的道理 C 综合了各家之长 功能多 操作起来简单 有人说它难学 这是正常的 否则 一学就会的东西 还用得着努力教和学吗 至于学习的结果 就因人而异 甚至大相径庭了 难怪有的人趣味盎然 有的人大叹苦经 中国古代有名画家王冕就是因为信奉了这样一句话而成才的 没有学不会的事情 1 1程序设计语言 ProgrammingLanguage 人们用程序设计语言描述需要解决的问题 用 语言翻译 编译器 加工以使计算机理解其描述 尔后就能使计算机代替人们工作了 虽然编程语言最终目的是促使计算机为人们工作 但人们用编程语言对问题的描述方式与内容 随着使用群体的扩大 越来越多地成为人们之间相互交流过程描述与信息表

3、达的工具 计算机上的机器指令也称为机器代码 它是机器语言的程序 机器语言是低级语言 汇编语言是机器语言的直接符号表示 所以基本上也是低级语言 而C 则是高级语言 moveax DWORDPTRa ebp 8b45fc leaeax DWORDPTR eax eax 2 8d0440 movecx DWORDPTRb ebp 8b4df8 addecx ecx03c9 subeax ecx2bc1 inceax40 movDWORDPTRa ebp eax8945fc 汇编语言和某个特定的机器语言 程序语言越低级 则必须对过程描写越具体 指令也就越接近机器的硬件逻辑 程序语言越高级 就越接近对问

4、题的描述与表达 因而更直观 容易被人们所理解 程序语言从低级到高级的发展 也就是从具体描述 编程 到抽象描述 编程 高级语言的抽象描述最后都需用 语言编译器 自动转化成机器的具体实现 语言编译器的发展 则是从简单到复杂的过程 语言越是高级 描述越是抽象 则用于自动化转换的语言编译器越复杂 以便人们对问题只需有个相对简单的描述 编程 就能够被机器所理解 1 2C 前史 Pre C history 1953年12月 IBM公司的JohnBackus写了一份备忘录 建议为IBM704设计一种全新的编程语言 Backus多年工作在计算机上 深切体会到编程困难 他的目标是设计一种用于科学计算的 公式翻译

5、语言 他带领的一个团队 终于在1954年完成了FORTRAN语言的设计和实现 在那以后 不同版本的FORTRAN语言纷纷面世 1966年 美国统一了它的标准 称为FORTRAN66语言 此后 又被更新为FORTRAN77和FORTRAN90 FORTRAN语言的后继版本要兼容以前大量的FORTRAN老程序 这一负担阻碍了它 无法革新成现代编程语言特征 但不管怎样 FORTRAN语言一直活跃了40多年 Backus为此摘取了1977年度的 图灵奖 代数语言ALGOL 1958年 一个国际商业和学术计算机科学家组成的委员会在瑞士开会 探讨改进FORTRAN问题 并尝试设计一种标准化的计算机语言 1

6、960年 该委员会在1958年讨论的基础上 定义了一种新的语言 国际代数语言ALGOL60 首次引入了局部变量和递归概念 在数学表达和算法描述上比FORTRAN更出色 而且它不是解释执行 而是编译后运行 比FORTRAN程序效率更高 但由于ALGOL语言的设计要求是独立于机器的 所以就面临许多语言实现方面的技术问题 致使ALGOL语言无法流行 但它却演变为其他编程语言设计的概念基础 科学计算借助于FORTRAN获得快速进展的时候 还没有一种适用于商业计算的语言 美国国防部注意到了这种情况 1959年5月 五角大楼委托GraceMurrayHopper博士领导一个委员会 开始设计面向商业的通用语

7、言COBOL COBOL最重要的特征是语法与英文很接近 可以让不懂计算机的人也能看懂程序 1968年 COBOL语言进行了标准化 后又在1974年和1984年进行了标准化更新 COBOL语言曾经风靡一时 商用语言COBOL BASIC语言 60年代中期 美国Dartmouth学院的JohnG Kemeney和ThomasE Kurtz认为 像FORTRAN这样的编程语言 都是为专业人员设计的 而他们希望能为无经验的人提供一种简单的编程语言 特别希望那些非计算机专业的学生也能通过这种语言学会使用计算机 于是 他们在简化FORTRAN的基础上 研究出了BASIC语言 由于BASIC语言易学易用 很

8、快就成为最流行的计算机语言之一 几乎所有小型和个人计算机都使用它 BASIC语言发展到后来 出现了许多改版 典型的有1983年推出的TrueBASIC 1985年推出的QBASIC 以及1991年推出的VisualBASIC 简称VB VB一直风靡至今长盛不衰 Lisp语言 同在60年代中期 美国MIT的JohnMcCarthy等人设计和实现了用于人工智能研究的Lisp语言 Lisp语言是基于表处理的函数语言 由于该语言更面向问题 因此较容易编程 描述能力更强 更易于进行程序正确性验证和软件维护 但由于实现技术复杂 处理文件等能力不强 运行效率低 该工具一直停留在实验室阶段 计算机教学语言LO

9、GO和结构化的编程语言Pascal 1967年 美国麻省理工大学人工智能实验室S Papert为儿童设计了一种LOGO编程语言 他用LOGO语言启发孩子们的学习与思考 一些孩子用LOGO语言设计出了真正的程序 于是LOGO成为一种热门的计算机教学语言 1971年 瑞士联邦技术学院N Wirth教授发明了Pascal语言 Pascal语言语法严谨 层次分明 程序易写 具有很强的可读性 是第一个结构化的编程语言 它一出世就受到广泛欢迎 为此 他获得1984年度的 图灵奖 Simula67语言 1967年 挪威奥斯陆的JohanDahl和KristenNygaard推出了Simula67语言 该语言

10、第一次提出类的概念 能够把应用中的概念直接用编程语言描述 比其他语言编写的程序更具可读性 而且编译系统捕捉类型错误的能力十分强 保证了程序规模扩大之后 错误量不会非线性增长 该语言曾配置在好几个大型计算机上 但由于编译实现不完善 导致运行效率低下 只能执行一些小型程序 所以像ALGOL语言一样 没能流行 但成为未来面世的面向对象编程语言的概念基础 C语言 1970年 AT T的Bell实验室D Ritchie和K Thompson共同发明了C语言 研制C语言的初衷是用它编写UNIX系统程序 因此 它实际上是UNIX的 副产品 它充分结合了汇编语言和高级语言的优点 高效而灵活 又容易移植 所以大

11、受程序设计师的青睐 成为计算机产业界的宠儿 为此 他们两位获得了1983年度的 图灵奖 C 语言 70年代中期 BjarneStroustrup在剑桥大学计算机中心工作 他使用过Simula和ALGOL 实现过低级语言BCPL 接触过C 他对Simula的类体系感受颇深 对ALGOL的结构也颇有好感 他深知运行效率的意义 所以 十分欣赏C语言 以C为背景 以Simula思想为基础 正好符合既要编程简单 正确可靠 又要运行高效 可移植的设想 1979年 BjarneStroustrup到了Bell实验室 开始从事将C改良为带类的C Cwithclasses 的工作 1983年将该语言正式命名为C

12、 90年代 程序员开始慢慢从C中淡出 转入C 此后 C 稳步发展 1998年ISO ANSIC 标准正式制定 如今已是如日中天 鉴于C 对现代计算机产业的贡献 1995年 BYTE 杂志将BjarneStroustrup列入 计算机工业20个最具影响力的人 1 3C C 是从C语言中继承而来的 C 的发展壮大 主要是因为程序设计方法的发展 程序设计方法的发展 主要是计算机应用范围的扩大和编程规模的扩大 C语言之所以风靡一时 在于当时需要计算机解决的问题多半是小规模问题 一般通过单台计算机独立蛮算便可解决 随着计算机的发展 人们开始着手解决大数据量的处理问题 需要处理大量复杂结构的数据 C程序员

13、虽然经过艰苦的努力 设计出许多精巧的程序 但是在理解上却越来越困难 运行问题也越来越多 程序需要 保修 可维护性要求 需要 扩充 可扩展性要求 需要 加固 安全性要求 而这些精巧的程序由于内在结构的弱点 数据结构与算法盘根错节 无法被可逆地拆解 很难分析 险情 和重新使用 设计计算机语言的专家要改革这一现状 提出程序设计语言应该具有数据类型的扩充能力 于是基于数据类型和面向数据类型的编程语言不断浮出水面 这些方法 是以程序员自己定义或设计数据类型的方式将复杂结构的数据进行系统的组织 统一的管理 以使程序组织合理 算法设计简单和易懂 C 便是其中之一 从商业化角度看 C 更是其中的跤跤者 在C的

14、简捷 高效的基础上 C 添加了自定义数据类型的整套设施 以适应大规模编程的需要 因此 进入市场后 面向对象的编程方法也开始工业化了 C继承者 C 对C的继承是青出于蓝而胜于蓝 因为是对C的继承 也就承诺了对C的包容 C 对C的包容 也包括对程序设计方法的包容 这就决定了C 擅长面向对象程序设计的同时 还可以进行基于过程的程序设计 因而C 就适应的问题规模而论 大小由之 C 是一种混合型程序设计语言 混合 体现在可以采用不同的程序设计方法 进行各种目的的编程 混合 意味着绝不放弃计算机高效运行的实用性特征 而又致力于提高大规模程序的编程质量 提高程序设计语言的问题描述能力 标准C 有了C 标准

15、专家们在开发C 编译器时 可以避免大量的研究无序性和重复劳动 并且也为组织大规模的编译软件开发创造了前提条件 有了C 标准文档 语言设计者 程序员和用户三者就可以有一致的语言来互通 在程序员社区可以畅通地交流 编写的程序变得更有效 更通用 更易懂 有了C 标准 程序员所开发的软件产品具有更高的系统可移植性 C 标准还在防止技术封锁 促进软件技术的交流 提高软件竞争力等方面起到了很好的保护作用 所以当C 发展到一定规模的时候 无论是用户 程序员 还是C 语言的设计者 都在竭力推动标准化的工作 使用标准C 也意味着程序员可以充分享用C 的资源 标准库 从而带来更多的快速和方便 提高抽象编程的程度

16、所以 学习C 理所当然地要学习标准C 在我国 个人计算机配置的操作系统以Windows居多 比较容易获得的标准C 工具就是Borland公司的C Builder6或者以上版本 或者微软公司的VisualC net或者以上版本 若在linux系统上 比较容易获得的标准C 工具就是BorlandC Kylix3 0以上版本 另外 通用的C 编译器当数C 3 0了 它即有Windows版本 又有Linux版本 1 4C 编程流程 程序设计语言发展到现在 无论编译型还是解释型 一般都附带提供一个集成开发环境 IntegratedDevelopmentEnvironment IDE 程序员可以在该环境中 编辑程序代码 逐个编译源文件 装配和链接全部源文件及其资源文件 直至调试运行 甚至软件包装和做成软件产品都可以一体化 解释型环境 如VB 中 编辑代码后 没有编译和链接的中间环节 可以直接运行 方便编程开发 但由于程序运行不能离开解释器现场 所以效率上便落了下风 对于规模化的大程序 低性能表现得更加明显 所以真正的计算任务和中大型软件开发一般都不用解释型环境开发 C 语言的程序因为要体现高性能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号