欢迎来到天天文库
浏览记录
ID:48051238
大小:321.50 KB
页数:26页
时间:2019-05-06
《c程序设计教程第1章——c概述.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++程序设计教程闵联营 何克右编著参考书:1.BjarneStroustrup,.TheC++PromgrammingLanguage2.钱能,C++程序设计教程,清华大学出版社第1章C++概述计算机的工作是通过执行计算机程序来体现的。计算机程序:是用计算机能识别的程序设计语言编写的动作序列。机器语言:早期的程序设计语言是由二进制符号串组成的机器语言,即计算机的指令系统,这也是计算机唯一能识别的语言。这种语言的优点是执行速度快、效率高,缺点是难于编写、阅读,不便移植、交流,因没有结构,也不适合编写大型的系统程序和应用程序。汇编语言:基于机器语言的缺点,人们采用了一种称为助记符的形式
2、来表示机器语言,这就是汇编语言,它比机器语言进了一步,但其本质并无改变,所以机器语言所具有的缺点仍然存在。以上两种均为低级程序设计语言。一、程序、程序设计语言及其发展1.1C++的发展和特点高级语言:为了解决上述矛盾,人们又发展了一类新的程序设计语言,即算法语言(又称高级语言),它能够较好地描述和解决实际程序设计问题,克服低级语言的上述缺点。如ALGOL60以及FORTRAN、COBOL、PASCAL等,但这些语言有一个共同的缺陷就是对机器硬件的操作不太方便,不适合编写大型的系统程序。C++语言的诞生:人们希望找到一种既能够较好地描述和解决实际程序设计问题,同时又能方便地操作机器硬件
3、的高级语言,从而能够方便地编写大型的系统程序。基于这样一种应用要求,C语言应运诞生了,它是一种应用非常广泛的高级程序设计语言。1980年美国贝尔实现室的BjarneStroustrup等对C语言进行了改进和扩充,从而产生了目前最为流行的程序设计语言—C++。程序设计:程序设计即是用计算机能识别的程序设计语言把解决问题的方案编写成计算机可执行的计算机程序。这包括对解决方案的解决步骤的设计(算法设计)以及对解决步骤中涉及的加工对象(数据)的组织(数据结构)。因此,人们把程序定义为:程序=算法+数据结构在面向对象程序设计方法产生后,人们把程序定义为:程序=对象+对象+……即程序是许多对象在
4、计算机中相继表现自己,而对象又是一个个程序实体。C语言是在B语言的基础上发展起来的。ALGOL60的诞生:它的根源可以追溯到ALGOL60。ALGOL60是1960年出现的一种面向过程的高级语言,它离硬件比较远,不适合编写系统程序。CPL语言的出现:1963年英国剑桥大学推出了意在更接近硬件的CPL(CombinedProgrammingLanguage)语言。由于CPL语言规模较大,难以实现,BCPL的诞生:1967年英国剑桥大学的MatinRichards对CPL语言作了简化,推出了BCPL(BasicCombinedProgrammingLanguage)语言。二、C与C++的
5、发展及特点B语言的产生:同年,美国贝尔实验室的K.Thompson在BCPL的基础上进一步作了简化,设计出了简单而又接近硬件的B语言,并用B语言写了一个Unix操作系统。由于B语言过于简单,功能有限,且目标代码运行速度慢。C语言的诞生:1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,并在第二年和K.Thompson合作用C语言重写了Unix操作系统。现在的Unix操作系统就是在此基础上发展起来的。C++的出现:1980年美国贝尔实现室的BjarneStroustrup等对C语言进行了改进和扩充,并引入了类的概念,加入了运算符的重载等,从而产生了目前最
6、为流行的程序设计语言—C++。C语言的特点主要有:1)简洁、紧凑、灵活,使用方便(32个关键字,9种控制语句)2)运算符丰富(34种运算符)3)数据结构丰富4)具有结构化的控制语句(如if__else、while、do_while、for、switch等语句),用函数作为程序的模块单位,便于实现程序的模块化。5)语法限制不太严格,程序设计自由度大。6)允许直接访问物理地址,可以直接操作硬件。7)生成的目标代码质量高,程序执行效率高。8)可移植性好。C语言是一种理想的结构化程序设计语言。随着计算机软硬件的飞速发展,程序设计技术为适应这种发展的要求也在快速提高,程序设计方法也就不断地探索
7、出新,从过去的结构化程序设计方法(面向过程)演化到现在的面向对象程序设计方法,程序设计语言也就必须要适应这种发展的要求。C++即是在C语言的基础上发展起来的一种面向对象的程序设计语言,它包括两部分,即过程化部分和面向对象部分。其过程化部分其实就是C,相当于高版本的C。由于教学时数的安排和后续课程的设置,我们这门课主要学习C++的过程化部分,而面向对象部分则留待面向对象程序设计课程学习。C++的特点①C++完全兼容C,具有C语言的“简捷、紧凑,运算符丰富,可
此文档下载收益归作者所有