第一章-绪论

本章主要内容

一、计算机系统

①计算机系统由硬件、软件组成;

②指令系统是硬件、软件的界面。

二、计算机语言和程序设计方法

1、计算机语言

①程序员与计算机沟通的语言;

②描述解决问题的方法和相关数据。

2、计算机语言的级别

①二进制代码构成的机器语言;

②使用助记符的汇编语言;

③使用类似英语单词和语句的高级语言;

④C++是面向对象的高级语言。

3、C++支持的程序设计方法

①面向过程的程序设计方法;

②面向对象的程序设计方法;

③泛型程序设计方法。

三、C++程序设计的开发过程

①算法设计

②源程序编辑

③编译

④连接

⑤运行调试

四、信息在计算机中的表示与存储

①计算机中的数据用二进制表示;

②逻辑数据、字符数据用二进制编码表示。


计算机系统基本概念

1、计算机硬件

2、计算程序语言

①计算机解决问题是程序控制的;

②程序就是操作步骤;

③程序要使用语言来表达。

3、机器语言

①计算机能识别的是机器语言;

②机器语言指令是又0和1编码的;

③列如:加法指令可能是“0001”。

4、计算机指令系统

①机器硬件能够是别的语言(机器语言)的集合;

②它是软件和硬件的主要界面。

5、计算机软件

①是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件;

②软件包括程序和文档。

6、计算机程序

①指令的序列;

②描述解决问题的方法和数据

计算机语言和程序设计方法

1、最初的计算机语言-机器语言
①由二进制代码构成;
②计算机硬件可以识别;
③可以表示简单的操作;
④例如:加法、减法、数据移动等等。
2、汇编语言
①将机器指令映射为助记符,如ADD、SUB、MOV等;
②抽象层次低,需要考虑机器细节。
3、高级语言
①关键字、语句容易理解;
②有含义的数据命名和算式;
③抽象层次高;例如,算式:a+b+c/d
④屏蔽了机器细节;例如,这样显示计算结果:cout << a+b+c/d
4、C++语言
①是高级语言
②支持面向对象的观点和方法
  • 将客观事物看作对象
  • 对象间通过消息传送进行沟通
  • 支持分类和抽象
5、面向过程的程序设计方法
①机器语言、汇编语言、高级语言都支持;
②最初的目的:用于数学计算;
③主要工作:设计求解问题的过程;
④大型复杂的软件难以用面向过程的方式编写。
6、面向对象的程序设计方法
①由面向对象的高级语言支持;、
②一个系统由对象构成;
③对象之间通过消息进行通信。

面向对象的基本概念

1、对象
①一般意义上的对象:现实世界中实际存在的事物。
②面向对象方法中的对象:程序中用来描述客观事物的实体。
2、抽象与分类
①分类依据的原则——抽象;
②抽象出同一类对象的共同属性和行为形成类;
③类与对象是类型与实例的关系。
3、封装
  • ①隐藏对象的内部细节;
②对外形成一个边界;
③只保留有限的对外接口;
④使用方便、安全性好。
4、继承
①意义在于软件复用;
②改造、扩展已有类形成新的类。
5、多态
①同样的消息作用在不同的对象上,可以引起不同的行为。

程序的开发过程

1、程序
①源程序: 用源语言写的,有待翻译的程序
②目标程序: 源程序通过翻译程序加工以后生成的机器语言程序
③可执行程序: 连接目标程序以及库中的某些文件,生成的一个可执行文件; 例如:Windows系统屁股抬上的EXE文件。
2、三种不同类型的翻译程序
①汇编程序:将汇编语言源程序翻译成目标程序;
②编译程序:将高级语言程序翻译成目标程序;
③解释程序:将高级语言源程序翻译成机器指令,边翻译边执行。
3、C++程序的开发过程
①算法与数据结构设计;
②源程序编辑;
③编译;
④连接;
⑤测试;
⑥调试。

计算机中的信息与存储单位

1、计算机的基本功能
①算术运算;
②逻辑运算。
2、计算机中的信息
①控制信息——指挥计算机操作;
②数据信息——计算机程序加工的对象。
3、信息的存储单位
①位(bit,b):数据的最小的单位,表示一位二进制信息;
②字节(byte,B):八位二进制数字组成(1 byte = 8 bit);
③千字节 1KB = 1024B;
④兆字节 1MB = 1024K;
⑤吉字节 1GB = 1024M;

计算机的数字系统

1、计算机的数字系统
①二进制系统;
②基本符号:0、1.
2、程序中常用的数制
3、R进制转换为十进制
各位数字与它的权相乘,其积相加,例如:
(11111111.11) 2 =1 × 2 7 +1 × 2 6 +1 × 2 5 +1 × 2 4 +1 × 2 3 +1 × 2 2 +1 × 2 1 +1 × 2 0 +1 × 2 -1 +1 × 2 -2  =(255.75) 10

4、十进制整数转换为R进制整数
除以R取余法
5、十进制小数→R进制小数
乘以R取整法
6、八、十六进制的相互转换
①1位八进制数相当于3位二进制数;
②1位十六进制数相当于4位二进制数,例如:

(1011010.10)2=(001011 010 .100)2=(132.4)8

(1011010.10)2=(01011010 .1000)2=(5A.8)16

(F7) 16 (11110111) 2 (11110111

数据在计算机中的编码表示

1、二进制数的编码表示
①需要解决的问题:负数如何表示?
②最容易想到的方案:
     0:表示“+”号;
     1:表示“-”号。
③原码
“符号——绝对值”表示的编码,例如:
原码的缺点:
1)零的表示不唯一
[+0]原 = 000...0
[-0]原 = 100...0
2)进行四则运算时,符号位必须单独处理,运算规则复杂。

④补码
符号位可作为数值参加运算;
减法运算可转换为加法运算;
0的表示唯一。
⑤补码的原理
模数:n位二进制整数的模数为2^n;n位二进制小数的模数为2.
补数: 一个数减去另一个数(加一个负数),等于第一个数加第二个数的补数,例(时钟指针):8+(-2)=8+10(mod 12)=6; 一个二进制负数可用其模数与真值做加法(模减去该数的绝对值)求得其补码。例(时钟指针):-2+12=10.
⑥补码的计算
1)借助于“反码”作为中间码;
2)负数的反码与原码有如下关系:
符号位不变(仍用1表示),其余各位取反(0变1,1变0),例如:X = -1100110  [X]原 = 11100110  [X]反=10011001
3)正数的反码与原码表示相同,正数的补码与原码相同;
4)反码只是求补码时的中间码;
5)负数的补码由该数的反码的末位加1求得;
6)对补码再求补即得到原码。
⑦补码的优点
0的表示唯一;
符号位可作为数值参加计算;
补码运算的结果仍为补码。

2、实数的浮点表示
①计算机中通常采用浮点方式表示小数
②实数N用浮点形式可表示为N = Mx2^E
E:2的幂,N:阶码;
M:N的尾数

3、字符在计算机中的表示
①字符在计算机中是通过编码表示的;
②例如:ASCII码是一种常用的西文字符编码:用7位二进制数表示一个字符,最多可以表示2^7 = 128个字符;
③《GB 18030-2005 信息技术 中文编码字符集》是中国国家标准。

猜你喜欢

转载自blog.csdn.net/mileytimer/article/details/78557714