如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
C++语言程序设计第1章概述Chapter1Introduction教学内容程序设计语言发展过程化程序设计对象化程序设计C++编程流程§程序设计语言发展在程序设计语言发展初期的十来年中,人们对语言研究的注意力主要放在新语言成分及拥有新的语言成分的语言上,而极少从软件开发及程序设计方法的角度来设计语言。1968年E.W.Dijkstra给COMM.ACM杂志编缉写了一封信,指出了语言中转向语句使用上带来的问题,从而引发了程序设计语言中要不要使用转向语句的讨论,这场讨论使人们开始注重对程序设计方法进行研究,从而导致了结构化程序设计这一新的程序设计方法问世结构化程序设计语言:Pascal、C1970年,AT&T贝尔实验室正式发表了C语言。C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。面向对象语言它与传统过程性语言的主要区别在于:在传统过程性语言中把数据以及处理它们的子程序当作互不相关的成分分别处理,而在对象式语言中则把两者统一作为对象封装一起进行处理。最早的具有面向对象思想的程序设计语言可追溯到20世纪60年代的Simula语言。Simula语言中引入了一些面向对象的重要概念,如数据抽象、类机制、继承机制等Smalltalk语言是第一个真正面向对象的程序设计语言。Smalltalk语言起源于Simula语言。在Smalltalk语言中,强调了对象概念的统一,引入和完善了类,应用了继承机制和动态连接。Smalltalk语言被看作是一种最纯粹的面向对象程序设计语言。但Smalltalk语言提出时,主流的程序设计方法是面向过程程序设计方法和结构化程序设计方法,Smalltalk语言仅在一些对面向对象程序设计方法感兴趣的研究人员中流行,并未获得商业上的成功。1979年,Bjarnestroustrup在Bell实验室以C为背景,以Simula思想为基础,开始从事将C改良为“带类的C(Cwithclasses”;1983年正式取名为C++;从1989年开始C++语言的标准化工作;于1998年11月被国际标准化组织(ISO)批准为国际标准,成为目前的标准C++。当面向对象技术得到认可后,许多支持面向过程方法和结构化程序设计方法的语言,如Pascal、Basic等,也都和C语言一样,扩充了对面向对象技术的支持。这样的程序设计语言有Delphi、VisualBasic等。同时,随着Internet网络的快速发展,网络编程语言需求越来越大,1995年SUN公司推出了Java语言。Java语言是一种纯粹型面向对象程序设计语言,Java语言的最大特点是跨平台性和安全性。Java语言在电子商务等方面的应用非常广泛。标准C++优势:标准C++具有更强的可移植性,丰富的标准库资源,使它更能抽象和便捷地编程。C++是一种编程灵活、运行效率高,它可进行多种方法编程;既可用于面向过程的结构化程序设计,又可用于面向对象的程序设计。适用于商业处理、科学计算、系统应用等重要领域。§过程化程序设计2.结构化程序设计在二十世纪六七十年代,YourdonE.和ConstantineL.等人借鉴工厂利用流水线组织生成的方法,提出了结构化程序开发技术,利用抽象模型的概念,按照数据传递、变换的关系,自顶向下、逐层细化地将系统分解成层级结构的模块,每个模块实现为一个函数或过程。这种方法最大的特点是数据和过程的分离,整个系统由一组被动的数据和一组能动的过程组成,其中数据表示某种信息,而过程完成对数据一定的处理。系统运行时,输入的数据从一个过程流向下一个过程,这好比流水线上的生产资料和半成品从一个工段到下一个工段。程序控制结构设计思路:自顶向下、逐步求精,采用模块分解。程序结构:按功能划分为若干个基本模块,形成一个树状结构。各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成优点:能有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。缺点:可重用性差、难以开发大型软件把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改。程序=(算法)+(数据结构)例如:考虑一个银行系统,该系统允许顾客开设不同类型的银行账户,包括现金账户、支票账户和贷款账户,同时允许顾客存款、取款和转帐