第一章 绪论
计算机系统简介
计算机语言和程序设计方法的发展
计算机语言的发展历程
C++语言是高级语言
- 支持面向对象的观点和方法
- 将客观事物看做对象
- 对象间通过消息传送进行沟通
- 支持分类和抽象
程序设计语言的发展历程
面向过程的程序设计方法:
- 机器语言、汇编语言、高级语言都支持;
- 最初的目的:用于数学计算;
- 主要工作:设计求解问题的过程。
- 大型复杂的软件难以用面向过程的方式编写
面向对象的程序设计方法:
- 由面向对象的高级语言支持;
- 一个系统由对象构成;
- 对象之间通过消息进行通信
面向对象的基本概念
对象
- 一般意义上的对象:现实世界中实际存在的事物。
- 面向对象方法中的对象:程序中用来描述客观事物的实体。
抽象与分类
- 分类依据的原则——抽象;
- 抽象出同一类对象的共同属性和行为形成类;
- 类与对象是类型与实例的关系。
封装
- 隐蔽对象的内部细节;
- 对外形成一个边界;
- 只保留有限的对外接口;
- 使用方便、安全性好。
继承
- 意义在于软件复用;
- 改造、扩展已有类形成新的类。
多态
- 同样的消息作用在不同对象上,可以引起不同的行为。
程序的开发过程
程序
- 源程序:
用源语言写的,有待翻译的程序;
目标程序:
- 源程序通过翻译程序加工以后生成的机器语言程序;
可执行程序:
- 连接目标程序以及库中的某些文件,生成的一个可执行文件;
- 例如:Windows系统平台上的.EXE文件。
三种不同类型的翻译程序
1、汇编程序:
- 将汇编语言源程序翻译成目标程序;
2、编译程序:
- 将高级语言源程序翻译成目标程序;
3、解释程序:
- 将高级语言源程序翻译成机器指令,边翻译边执行。
C++程序的开发过程
1、算法与数据结构设计;
2、源程序编辑;
3、编译;
4 、连接;(连接不同模块)
5、测试;
6、调试。
信息的表示和存储
计算机中的信息与存储单位
信息的存储单位
- 位(bit,b):数据的最小单位,表示一位二进制信息;
- 字节(byte,B):八位二进制数字组成(1 byte = 8 bit);
- 千字节 1 KB = 1024 B;
- 兆字节 1 MB = 1024 K;
- 吉字节 1 GB = 1024 M。
计算机的数字系统
十进制和二进制的相互转换
二进制的编码表示
补码=原码的反码(符号位不变,其他位取反)+1(负整数)
补码=原码(正整数)
补码
- 符号位可作为数值参加运算;
- 减法运算可转换为加法运算;
- 0的表示唯一。
负数的补码保持符号位不变,其他位取反加一得到原码。
补码和原码的转化过程