计算机知识复习

编程语言

完成特定功能的代码

  1. 机器语言(Machine Language) 1 和 0 组成
  2. 汇编语言(Assembly Language) 用一代码编写固定 1 和 0
  3. 高级语言 c c++ c# java python(蟒蛇) javascript (动态脚本语言)

程序的链接

c 源文件.cpp—->目标文件.obj——(c 函数库)—可执行文件.exe

1
2
3
int main() {
    printf(hello world!!.\n);
}

计算机组成

五大基本组成部件

  1. 输入 :键盘 鼠标 麦 dvd 驱动
  2. 输出 io (input:ouput) :显示器 音响
  3. 存储器 memory : 硬盘 ram(可读可改) rom (只读不能更改)
  4. 运算器 (算术运算和逻辑运算) : cpu
  5. 控制器 controll : cpu !(./a.png)[cpu]

_ 有开始就有结尾 _ 输入—(文字 1+1 )—->控制——–>储存器(ram)(存储 1+1)——>运算(2=1+1)—–….或者储存一下…—–>输出(显示器 2)

1
2
3
4
5
int main()       /*求两个数之和*/
{   int a,b,sum;   /*定义变量*/
    a=123;b=456; sum=a+b;
    printf("sum is %d\n",sum);
}

源程序以 .cpp 作为扩展名(.cpp) C 程序由若干函数构成 函数由说明部分和函数体构成 一个 C 程序总是从 main()函数开始的 C 程序书写自由,一行可以写多个语句,一 个语句也可以分为多行来写 语句以及数据定义后面必须有一个分号“;”  可用/….*/对程序进行注释

源程序: 用户可读的程序文本,即程序本身。

目标代码:由源程序翻译而成的机器码,计算机能读并 能直接运行。

连接程序:将各自分别编译后的程序连接为一个可运行 程序的程序。(它将 C 语言的标准库函数与用户所编的 程序联合在一起)

库:包含标准函数的文件,这些函数可用在用户的程序 中。(包括所有的输入输出函数及其它有用的例行函数)

编译状态:在程序编译过程中所出现的事件。

运行状态:在程序运行过程中所发生的事件。

下载 eclipse for C/C++版 下载地址:http://eclipse.org/downloads/ (代码提示软件)

安装 MinGW  下载地址:http://www.mingw.org/download.shtml

二进制

用 0 和 1 表示一切数

两仪生四象:太阴、少阳、少阴、太阳; 四象生八卦:乾、兑、离、震、巽、坎、艮、坤

111 011 101 001 110 010 100 000 7 3 5 1 6 2 4 0 乾 兑 离 震 巽 坎 艮 坤

计算机能够直接识别的信息只有二进制。 所有需要计算机存储、处理的信息都必须转换为二进制

文字,图片—–>编码——>二进制

  1. 标准 ASCII 0:0110000 a:1100001 空格:0100000 A:1000001
  2. Unicode 码 汉字通常是 2 个字节 十六进制
  3. UTF-8 汉字通常是 3 个字节

图片文件格式

  1. BMP 位图文件
  2. GIF 动态图
  3. JPEG 兼容性好的图片文件格式
  4. png 网络常用图片格式

IT 的英文是 Information Technology

信息采集和表示 文字、数值信息、多媒体信息 ——->编码技术

信息存储 存储器的分类、管理、访问等 ——>软、硬件系统构成

信息管理 采集、处理、输出 ————>程序设计

信息组织 ——->数据库技术

信息传输 ——-> 网络技术

信息检索 ——-> 网络技术

数的进制

二进制 B 八进制 O 十六进制 H 十进制 D

算术运算

加减 逢二进一 逢二减一 乘法 1100×1001=1101100

乘法运算可以转换为加法和移位运算 每乘以 2,相当于将被乘数向左移动一位。

除法 00001011÷0100=00000010B (余数=11B)

除法运算可以转换为减法和移位的运算
每除以 2,相当于将被除数向右移动一位。

机器数的表示与运算

机器数

计算机中的数称为机器数 符号位 + 真值
“0” 表示正 “1” 表示负

+52 = +0110100 = 0 0110100 符号位 真值

机器数的表示方法

原码 反码 补码

8 位数 0 的原码: +0=0 0000000 -0=1 0000000

反码
1
2
3
4
5
对一个机器数X
 若X>0   [X]反=[X]原
 若X<0   [X]反= 对应原码的符号位不变,数值部分按位求

 [+0]反 =00000000 [-0]反 =11111111
补码
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
 若X>0   [X]补 = [X]反= [X]原

 若X<0   [X]补= [X]反+1

 X=-52= -0110100

 [X]原=10110100

 [X]反=11001011

 [X]补= [X]反+1=11001100

原码变为补码之后不存在正负之分

![](./img/fanma.jpg)
0 的补码

1
2
3
[+0]补= [+0]原=00000000

[-0]补= [-0]反+1=11111111+1 =1 00000000
补码数的运算

通过引进补码,可将减法运算转换为加法运算。

1
2
3
4
[X+Y]补 = [X]补+[Y]补

[X-Y]补 = [X+(-Y)]补
        = [X]补+[-Y]补

栗子:

66-51=66+(-51)=15

所以数学算数运算都可以用计算机二进制的加法运算(也就是补码加法运算)

“模”是指一个计量系统的计数范围.

已知一个数的补码,求原码的操作其实就是对该补码再求补码

⑴ 如果补码的符号位为“0”,表示是一个正数,其原码就是补码。 ⑵ 如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。

补码的绝对值

若要得到一个负二进制补码的数值,只要对补码全部取反并加 1,就可得到其数值。(将补码求补码把符号位归 0)

小数补码求法

一种简单的方式,符号位保持 1 不变,数值位从右边数第一个 1 及其右边的 0 保持不变,左边按位取反。

补码乘法

补码的乘法不具备【XY】补=【X】补 ×【Y】补的性质。但是【XY】补==【X】补 ×Y,所得结果再取补码,如 x=101,y=011,[x*y]补=-[(-101)011]=-[011011]=-01001=10111

逻辑

逻辑 是思维规律,事物因果之间所遵循的规律。 逻辑的基本表现形式是命题和推理

命题 能判断真假的陈述语句

推理

  1. 从前提推出结论的思维过程
  2. 前题是已知的命题,结论是通过推理规则得出的命题

命题的“真”和“假”可以对应为

在物理上: 开关的“断开”和“闭合”,电平的“高”和“低”,。。。

数学上: 二进制的“1”和“0”

“0”对应“假”

“1”对应“真” 基本逻辑运算 (或 or :与 and :非 not)命题 =======»»» (真 1 : 假 0) 是与否

与 and ^ &

同真为真 有假为负假 1^1=1 1^0=0

或 or v |

有真则真 全假为假 1V0 =1 0v0= 0

非 not - !

真为假 假为真


逻辑运算与数学运算的区别:

算术运算是两个数之间的运算,低位运算结果将对高位运算产生影响

逻辑运算是按位进行的运算,低位运算结果对高位运算不产生影响

  1. “与非”逻辑 先与后非 1 与非 0 ====»1
  2. “或非”逻辑 先或后非 1 或非 0 ====»0

栗子: A=11001010,B=10101001 A and B ==» 10001000 A or B ==» 11101011 A not ==» 00110101

rs 触发器

S’=0,R’=1:无论触发器原来处于何种状态,由于 S=0,则 Q=1,Q 非=0,触发器处于“1”态(或称置位状态)。触发器的状态是由 S 所决定的,称 S 为直接置位端。 S’=1,R’=0:无论触发器原来处于何种状态,由于 R=0,则 Q=0,Q 非=1,触发器处于“0”态(或称复位状态)。触发器的状态是由 R 所决定的,称 R 为直接复位端。 S’=1,R’=1:触发器维持原来状态不变。 S’=0,R’=0:此时无法确定触发器的状态。一般这是不允许的,因此触发器的输入端 S、R 不能同时为 0。

微处理器主要由控制器、运算器和寄存器组等三部分构成 (cpu 的组成) 运算的核心是算术逻辑单元(ALU) arithmetic logic unit ALU 的基本功能部件是加法器 半加器 实现两个 1 位二进制数相加,不考虑来自低位的进位

输入: 加数,被加数

输出: 和,进位

全加器

实现两个 1 位二进制数相加,考虑来自低位进位的加法器 输入: 加数,被加数,低位的进位 输出: 和,进位

另外一种全加器电路——相同逻辑功能,可以有不同的电路实现 全加器是具有完整功能的逻辑部件。

从逻辑门到运算器 ——抽象与构造

运算器

运算器 算术、逻辑运算,移位、求补等其它操作
暂时存放参加运算的数据和中间运算结果等 —算术逻辑单元 (ALU) 各种寄存器

算术逻辑单元

ALU 的基本功能之一是算术运算 加法运算是算术运算的基础

寄存器

CPU 中用于存放中间运算结果或其它二进制信息的部件 由触发器和门电路组成 **一个触发器可以存放 1 位二进制码 ** **N 个触发器可以存放 N 位二进制码 **

组合与抽象

系统构造的基本思路 任何复杂的逻辑电路都可以由基本逻辑门组合构成

硬件系统构造的基本方式: 自底向上,逐层封装、抽象

系统设计的基本过程 自顶向下,分析和分解问题 自底向上,构造和设计

总结: 计算机内部的信息都以二进制表示

将“0”和“1”赋予逻辑属性,就成为逻辑变量

实现逻辑变量间关系的电路称为逻辑电路

构成各种逻辑电路的基本元素是基本逻辑门

基本逻辑门的不同的连接方法构成了计算机

0:1 —-> 逻辑变量—–>逻辑关系—->逻辑电路—->逻辑门(抽象的)—-(连接)—>计算机

指令和程序

** 指令: ** 控制计算机完成某项操作的、能够被计算机识别的“命令”

**计算机硬件能够直接识别的指令 ** 二进制形式描述的机器指令

** 指令系统: ** 计算机能够识别的所有指令的集合。

** 程序: ** 按一定顺序组织在一起的指令序列。

  1. 指令格式

指令码 + 操作数 ===»说明指令的功能 + 说明指令操作的对象

  1. 指令的执行过程

计算机的工作过程就是执行程序的过程

计算机的工作过程就是执行指令的过程

指令的执行过程

顺序执行: 一条指令执行完了再执行下一条指令。 并行执行: 同时执行两条或多条指令。

冯•诺依曼结构 John Von Neumann

**冯•诺依曼计算机结构特点 **

  1. 采用二进制 计算机中所有信息(数据和指令)统一用二进制表示

  2. 设计计算机硬件由五个部分构成

a. 运算器 b. 控制器 c. 存储器 d. 输入和输出设备

  1. 提出存储程序原理 以运算器为核心,所有信息的输入和输出都需要通过运算器

** 冯 • 诺依曼计算机基本原理** 基本原理 : 存储程序原理

将计算过程描述为由多条指令按一定顺序组成的程序,并放入存储器保存。 指令按其在存储器中存放的顺序执行; 由控制器控制整个程序和数据的存取以及程序的执行。

程序计数器 PC

PC 用来产生和存放下一条将要读取的指令的地址。

在程序开始执行前,须将程序第一条指令在内存中的存放地址送入 PC

PC 每输出一次地址,就指向内存的一个单元,CPU 将该单元的指令自动取 出。

之后,PC 中内容自动加 1,准备读取下一条指令。

如果每取走一条指令,PC 都只做简单的加 1 操作,则程序将会顺序执行

PC 是程序执行的“指挥棒”。PC 指向哪里,CPU 就到哪里取指令 (指哪打哪)

PC 是"指令指针"

哈佛结构

指令和数据分别存放在两个独立的存储器模块中.

CPU 与存储器间指令和数据的传送分别采用两组独立的总线。

哈弗结构

_复杂的计算机是由成千上万的基本逻辑门及其辅助电路构成的。 _

操作系统 os

操作系统是一组控制和管理计算机软、硬件资源、为用户提供 便捷使用计算机的程序集合。

是用户和计算机之间进行“交流”的界面

操作系统的功能

管理系统资源 为用户使用计算机提供友好界面

windows 10 android ios liunx unix

处理器

对处理器进行分配,并对其运行进行有效的控制和管理。 现代计算机采用多道程序“并发”执行的工作方式。

多道程序在计算机中的执行方式有两种:

顺序执行

并发执行 并发执行的特点: 结果不可再现

计算结果与程序段的执行速度(顺序)有关

多道程序在宏观上可“同时”执行

系统资源为多道程序共享

进程

进程是程序的一次执行过程。是“活着”的程序。 一个程序可以对应多个进程,一个进程也可以对应多个程序

在多道程序环境中,对系统内部资源的分配和管理都是以 进程为基本单位。

任何程序要运行,都必须为它创建进程。

进程的基本状态

受资源的制约,进程在其生命周期中的执行过程是间断性的。 有三种基本状态:

就绪状态  已经获得了除 CPU 之外所必需的一切资源,一旦分配到 CPU,就可立即执行。

运行状态  已获得 CPU 及其它一切所需资源,正在运行。

等待状态  由于某种资源得不到满足,进程运行受阻,处于暂停状态,等待分配到所需 资源后,再投入运行。

存储器管理

**存储器管理的主要功能 ** 负责将程序从联机外存储器(硬盘)调入内存 地址变换。将程序中的地址对应到内存中的地址 存储分配。为程序分配相应的内存空间 将硬盘和内存实行统一管理(存储器系统) 存储扩充:解决在小的存储空间中运行大程序的问题 存储保护 保护各类程序及数据区免遭破坏

.doc: WORD 文件 .jpg: 图形文件 .txt: 文本文件 .rar: 压缩文件 .exe: 可执行文件 .com: 进程文件 .obj: 目标程序文件 .dll: 动态链接库文件

计算机网络

osi

tcp/ip

网络协议是通信双方对所传输信息的格式、控 制信息的含义以及在信息传输过程中应如何操作的约定。

网络层次结构模型与各层协议的集合称为计算机网络体系 结构。