第一章:绪论(语言的发展与计算机基本认识)
1.1计算机程序设计语言的发展
计算机程序设计语言的定义:语言是一套具有语法规则,词法规则的系统。是思维的工具,思维是通过语言来表述的。计算机程序设计语言是计算机可以识别的语言,用于描述解决问题的方法,供计算机阅读和执行。
1.1.1 机器语言和汇编
- 软件包括了使计算机运行所需的各种程序和文档。
- 程序是指令的集合。
- 指令是计算机可以识别的命令。
- 由计算机硬件系统可以识别的二进制指令组成的语言称之为机器语言。
- 汇编语言将机器指令映射成一些可以被人读懂的助记符.
1.1.2 高级语言
- 问题:由于汇编语言抽象层次太低了,程序员需要考虑大量的机器细节。
- 屏蔽了机器细节,提高了语言的抽象层次,程序中可以采用具有一定含义的数据命名和容易理解的执行语句。
- 20世纪60年代末出现的结构化编程,进一步提高了语言层次。结构化的数据,语句,数据抽象,过程抽象等概念使程序更加便于体现客观事物的结构和逻辑含义,使得编程语言与人类自然语言更为接近。
1.1.3 面向对象语言
- 面向对象语言和以往各种编程语言的区别: 设计出发点就是更能直接地描述客观世界中存在的事物(即对象)以及他们之间的关系。
- 开发一个软件是为了解决某些问题,这些问题所涉及的业务范围成为该软件的问题域。
- 面向对象语言将客观事物看做具有属性和行为(或称服务)的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
- 通过类的继承和多态,可以很方便的实现代码重用,大大缩短了软件开发周期,并使得软件风格同一。面向对象可以使程序能够比较直接的放映问题域本来的面目,开发人员可以使用人类一般认识事物的方法来进行软件开发。
- smalltalk是第一个真正的面向对象语言。
1.2 面向对象的方法
程序设计语言是编写程序的工具,因此程序设计语言反应了程序设计方法的演变过程。
1.2.1 面对对象方法的由来
- 早期计算机是用于数学计算的工具,为完成计算,就必须设计出一个计算方法或解决问题的过程。所以,软件设计的主要工作是设计求解问题的过程。
- 结构化程序设计的思路是:自顶而下逐步求精; 起程序结构是按照功能划分为若干个基本模块,这些模块形成一个树状结构; 各个模块之间的关系尽可能简单,在功能上相对独立; 各模块内部均是顺序,选择和循环三种基本结构组成; 其模块化的具体方法是使用子程序;
-
什么是面对对象的方法? 首先,它将数据及其对数据的操作放在一起,作为一个不可分离,相互依存的整体——对象。 对同类型的对象抽象出其共性,形成类。 类中的大多数数据,只能使用本类的方法来进行处理。 类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。
- 软件开发本质来讲,就是对软件所要处理的问题域进行正确的认识,并把这种认识正确的描述出来。
1.2.2面向对象的基本概念
- 对象:系统中用来 描述客观事物的一组对象的集合。
- 类: 分类所依据的原则是抽象,面对对象的类,是具有相同属性和服务的一组对象的集合。
- 封装:封装是面向对象方法的一个重要原则;就是把面对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。
- 继承 是面向对象技术能够提高软件开发效率的重要原则之一。定义。特殊类的对象拥有一般类的全部属性与服务,称作特殊类对一般类的继承。
- 多态性。多态性是指一般类中定义属性或行为被特殊类继承之后可以具有不同的数据类型或表现出不同的行为。
1.3 面向对象的软件开发
面向对象的软件工程是面向对象方法在软件工程领域的全面应用。
- 面向对象的分析。OOA
- 面向对象的设计。OOD
- 面向对象的编程。OOP
- 面向对象的测试。OOT
- 面向对象的软件维护。OOSM
1.3.1分析
分析阶段。从问题的陈述着手。建立一个说明系统重要特性的真实情况模型。
1.3.2设计。
设计阶段是针对系统的一个具体实现,运用面向对象的方法。
1.3.3编程。
1.3.4测试。
1.3.5维护。
1.4 信息的表示与储存。(略)
计算机加工的对象是数据信息。
指挥计算机操作的是控制信息。
1.4.1计算机的数据系统(进制转换)
计算机采用二进制。
数制只采用x个基本符号所称为x数制,想x称为数制的基数,而数字每一个固定位置对应的单位对应的单位值称为“权”。
进位计数制的编码符合“逢X进位”的规则,各位的权,是以x为底的幂,一个数可按权展开成为多项式。
十进制
对任意一个二进制的数X,其值V(X)可表示为:
1.5 程序开发基本概念
源程序是用源语言编写的,有待翻译的程序。
目标程序是源程序通过加工翻译以后所生成的程序。
翻译程序是指用来把源程序翻译为目标程序的程序。 类型有三种 汇编程序,编译程序,解释程序。
汇编程序是指把汇编程序写成的源程序翻译成机械语言形式的目标程序。
1.5.2 完整程序过程
程序设计->程序编辑(书写源码,成品是.cpp文件)->程序编译(使用编译器,成品是名为.obj的文件)->程序链接(成品是名为.exe的执行程序)->程序运行->结束。