配色: 字号:
第1讲_计算机基础知识.pdf
2023-08-01 | 阅:  转:  |  分享 
  
第 1 讲 计算机基础 知识

1.1 计算机历史与常识

1.1.1 第一台计算机

1946年 2月,在美国宾夕法尼亚大学诞生了世界上第一台电子计算机 ENIAC( Electronic

Numerical Integrator and Computer) ,这台计算机占地 170 平方米,质量 30吨,用了 18000

多个电子管,每秒能进行 5000次加法运算。



1.1.2 计算机发展历史

电子计算机的发展阶段通常以构成计算机的电子元器件作为划分依据,至今已经历了 4

代,各代的发展概况如 下表 所示。

代别 年代 元器件 使用的软件类型 应用领域

第一代 1946— 1958 电子管 机器语言、汇编语言 数值计算

第二代 1959— 1964 晶体管 FORTRAN 等高级程序设计语言 数据处理、工业控制

第三代 1965— 1970 集成电路 开始使用操作系统、数据 库管理系统 图像处理、文字编辑

第四代 1971— 至今 大规模、超大规 模集成电路 软件开发工具和平台、分 布式计算、网络软件等 深入到各行各业,家 庭和个人开始使用



1.1.3 代表 人物

( 1)艾伦 ·图灵

1936年,数学家艾伦 ·图灵( 1912—1954)提出了一种抽象的计算模型 ——图灵机( Turing

Machine),他将人们使用纸笔进行数学运算的过程进行了抽象,由一个虚拟的机器替代人们

进行数学运算。

图灵机证明了通用计算理论,肯定了计算机实现的可能性,同时给出了计算机应有的主

要架构,为后来计算机的发明奠定了基础。 1966年,美国计算机协会( ACM)设立图灵奖,

专门奖励那些为计算机事业做出重要贡献的个人。

另外,图灵对于人工智能的发展也贡献显著。 1950年,他提出了关于机器思维的问题,

他的论文《计算机和智能》( Computing Machinery and Intelligence)引起了广泛的注意和深

远的影响。 1950 年 10 月,图灵发表论文《机器能思考吗》 , 这一划时代的作品使图灵赢得

了 “人工智能之父 ”的 美誉。



( 2)莫西利和埃克特

1946 年 2 月,美国宾夕法尼亚大学由埃克特领导的 “莫尔小组 ”成功研制出世界上第一

台通用计算机,名为 ENIAC( Electronic Numerical Internal And Calculator)。

ENIAC 体积庞大,耗电惊人,运算速度不过每秒几千次,但它比当时已有的计算装置要快

1000 倍,而且还有按事先编好的程序自动执行算术运算、逻辑运算和存储数据的功能。

ENIAC宣告了一个新时代的开始,从此科学计算的大门被打开了。



( 3)冯 ·诺依曼

冯·诺依曼在 1945年 3月起草了 “存储程序通用电子计算机方案 ”,即 EDVAC( Electronic

Discrete Variable Automatic Computer),这对后来计算机的设计产生了决定性的影响,其主要

思想有 3 个:计算机系统的冯 ·诺依曼结构、利用存储程序运行计算机、采用二进制编码替

代十进制。这三大思想至今仍为电子计算机设计者所遵循,所以冯 ·诺依曼被后人称为 “计算

机之父 ”。



1.1.4 计算机常识

( 1)摩尔定律

摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以

容纳的晶体管数目在大约每经过 18个月便会增加一倍。

摩尔定律是内行人摩尔的经验之谈,汉译名为“定律”,但并非自然科学定律,它一定

程度揭示了信息技术进步的速度。

归纳起来,“摩尔定律”主要有以下 3种 “版本 ”:

1、集成电路芯片上所集成的电路的数目,每隔 18个月就翻一番;

2、微处理器的性能每隔 18 个月提高一倍,而价格下降一半;

3、用一美元所能买到的计算机性能,每隔 18个月翻两番 。

三种说法虽然各有千秋,但在一点上是共同的,即“翻番”的周期都是 18个月 。



( 2)图灵奖

图灵奖( Turing Award)由美国计算机协会( ACM)于 1966 年设立,专门奖励那些为

计算机事业做出重要贡献的个人,其名称取自计算机科学的先驱、英国科学家艾伦 ·麦席

森 ·图灵( Alan M.Turing)。由于图灵奖对获奖条件的要求极高,评奖程序又极严格,一般每

年只奖励一名计算机科学家,只有极少几年有两名合作者或在同一方向做出卓越贡献的科学

家共享此奖,因此它是计算机界最负盛名、最崇高的奖项,有 “计算机界的诺贝尔奖 ”之称。



1.2 计算机系统结构

1.2.1 冯·诺依曼理论

1944 年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构和工作方式的设想,为计

算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机

本身的体系结构并没有明显的突破,当今的计算机仍属于冯·诺依曼架构。

其理论要点如下:

1. 计算机硬件设备由存储器,运算器,控制器,输入设备和输出设备五部分组成。

2. 指令和数据同等地位地存储在存储器中,并可按存储地址寻访。

3. 指令和数据均用二进制代码表示。

其中 控制器和运算器又称 CPU,是冯 ·诺依曼计算机体系结构的核心,其他部件都是通

过 CPU进行通信的。这类计算机的主要体系结构如 下图 所示。







1.2.2 CPU

CPU(中央处理单元)是微机的核心部件,是决定微机性能的关键部件。 20世纪 70 年

代微型机的 CPU问世, 经过多年的发展, 4,数位从 4位、 8位、 16 位、 32位发展到 64 位,

主频从几 MHz到今天的数 GHz以上( 1 GHz= 1000 MHz), CPU芯片里集成的晶体管数由

2 万个跃升到 1000 万个以上。 CPU 的发展和技术的进展直接推动了微型计算机的发展,也

是微机各个发展阶段的主要标志。



从原理上看, CPU的内部结构分逻辑单元、控制单元、存储单元三部分 ,分别对应 CPU

的三个主要部分 运算器、控制器和 Cache。运算器又称算术逻辑部件( Arithmetical Logic Unit,

ALU),主要功能是完成对数据的算术运算、逻辑运算和逻辑判断等操作。控制器( Control

Unit, CU)是整个计算机的指挥中心,负责根据事先给定的命令发出各种控制信号,指挥计

算机各部分的工作。 Cache主要用来存放指令和运算所需要的 数据。这三个部件通过 CPU总

线进行数据和指令的传递。

CPU的基本组成结构如图所示。





1.2.3 存储器

存储器的主要功能是用来保存各类程序的数据信息。

存储器可分为主存储器和辅助存储器两类。

①主存储器(也称为内存储器),属于主机的一部分。用于存放系统当前正在执行的数

据和程序,属于临时存储器。

②辅助存储器(也称外存储器),属于外部设备。用于存放暂不用的数据和程序,属于

永久存储器。存储器与 CPU 的关系表示:





( 1)内存储器

内存又称为主存,它和 CPU一起构成了计算机的主机部分,它存储的信息可以被 CPU

直接访问。内存由半导体存储器组成,存取速度较快,但一般容量较小。内存中含有很多的

存储单元,每个单元可以存放 1个 8位的二进制数,即 1个字节( Byte,简称“ B”)。内存

中的每个字节各有一个固定的编号,这个编号称为地址。 CPU 在存取存储器中的数据时是

按地址进行的。所谓存储器容量,即指存储器中所包含的字节数,通常用 KB、 MB、 GB、

TB和 PB作为存储器容量单位。它们之间的关系为:

1 KB= 1024 B 1 MB= 1024 KB 1 GB= 1024 MB 1 TB= 1024 GB 1 PB= 1024 TB

内存储器通常可以分为随机存储器 RAM、只读存储器 ROM 和高速缓冲存储器 Cache

三种。

① RAM 是一种读写存储器,其内容可以随时根据需要读出,也可以随时重新写入新的信

息。当电源电压去掉时, RAM中保存的信息都将全部丢失。

② ROM 是一种内容只能读出而不能写入和修改的存储器,其存储的信息是在制作该存储

器时就被写入的。在计算机运行过程中, ROM中的信息只能被读出,而不能写入新的内容。

计算机断电后, ROM 中的信息不会丢失。它主要用于检查计算机系统的配置情况并提供最

基本 的输入 /输出( I/O)控制程序。

③由于 CPU速度的不断提高, RAM的速度很难满足高速 CPU的要求,所以,在读 /写系

统内存时都要加入等待的时间,这对高速 CPU 来说是一种极大的浪费。 Cache 是指在 CPU

与内存之间设置的一级或两级高速小容量存储器,称之为高速缓冲存储器,固化在主板上。

在计算机工作时,系统先将数据由外存读入 RAM中,再由 RAM读入 Cache中,然后 CPU

直接从 Cache中取数据进行操作。





( 2)外存储器

外存储器又称为辅助存储器,它的容量一般都比较大,而且大部分可以移动,便于在不

同计算机之 间进行信息交流。在微型计算机中,常用的外存有软盘、硬盘、闪存和光盘 4种。

①软盘存储器

软盘存储器由软盘、软盘驱动器和软盘适配器三部分组成。软盘是活动的存储介质,软

盘驱动器是读写装置,软盘适配器是软盘驱动器与主机连接的接口。软盘驱动器安装在主机

箱内,软盘驱动器插槽暴露在主机箱的前面板上,可方便地插入或取出软盘。

②硬盘存储器

硬盘存储器是由电机和硬盘组成的,一般置于主机箱内。硬盘是涂有磁性材料的磁盘组

件,用于存放数据。硬盘的机械转轴上串有若干个盘片,每个盘片的上下两面各有一个读 /

写磁头,与软盘磁头不同,硬盘的磁头不与磁盘表面接触,它们“飞”在离盘片面百万分之

一英寸的“气垫”上。硬盘是一个非常精 密的机械装置,磁道间只有百万分之几英寸的间隙,

磁头传动装置必须把磁头快速而准确地移到指定的磁道上。

③闪存

闪存又名优盘,是在存储速度与容量上介于软盘与硬盘之间的一种外部存储器。

④光盘

光盘的存储介质不同于磁盘,它属于另一类存储器。由于光盘的容量大、存取速度较快、

不易受干扰等特点,其应用越来越广泛。光盘根据其制造材料和记录信息方式的不同一般分

为三类:只读光盘、一次写入型光盘和可擦写光盘。



1.2.4 输入输出设备

输入设备 是外界向计算机传送信息的装置。在微型计算机系统中,最常用的输入设备是

键盘和鼠标。此外,还有图像扫描仪,触摸屏,麦克风,视频输入设备等多种输入设备。



例题 1.以下哪一种设备属于输入设备()

A. 内存条 B. 键盘 C. 音响 D. 打印机



输出设备 的作用是将计算机中的数据信息传送到外部媒介,并转化成某种人们所认识

的表现形式,最常见的输出设备 有 显示器和打印机。



例题 2.以下哪一种设备属于输出设备()【 NOIP 2018】

A. 扫描仪 B. 键盘 C. 鼠标 D. 打印机



1.2.5 总线

现代计算机,尤其是小型与微型计算机都发展成总线连接,形成以总线为中心的计算机

硬件系统。总线将 CPU、内存储器、外存储器及输入 /输出设备连接起来。总线是指能为多

个功能部件提供服务的一组公用信息线,包括地址线、数据线和控制线,它们分别用于传送

地址、数据和控制信号。借助总线连接,计算机可以在各部件之间实现传送地址、数据和控

制信息的操作。这类计算机的主要体系结构如 下图 所示。



1.2.6 计算机的性能指标

( 1)主频

计算机的性能主要指的是 CPU的性能。 CPU的主要性能指标包括时钟主频、字长、高

速缓存容量、指令集合和动态处理技术、制造工艺、封装方式和工作电压等。

主频 是指 CPU的工作时钟频率,是 CPU内核电路的实际运行频率。一般来说,主频越

高,一个时钟周期里面完成的指令数也越多,速度也越快。主频的单位为兆赫兹 ( MHz) 和

吉赫兹 ( GHz) 。我们通常所说的 2.8 GHz、 3.0 GHz就是指 CPU的主频。

( 2)字长

字长 ( word size) 指的是微处理器 CPU 能够同时处理的二进制位数的个数。字长的大

小取决于 ALU 中寄存器的容量和连接着这些寄存器的电路性能。例如, 8 位字长的微处理

器有 8 位的寄存器,每次能处理 8 位的数据,因此,被称为“ 8 位处理器”。有更大字长的

处理器能够在每个处理器周期内处理更大的数据,因此,字长越长计算机性能越好。目前的

个人计算机通常都带有 32位或 64 位的处理器。

字节和字长的区别 :常用的英文字符用 8位二进制就可以表示,所以通常就将 8位称为

一个字节,字节是一种存储容量单位。而字长是 CPU 处理能力的一种标准,字长的长度是

不固定的,对于不同的 CPU字长的长度也不一样。 8位的 CPU一次只能处理一个字节,而

32 位的 CPU 一次就能处理 4 个字节。同理,字长为 64 位的 CPU 一次可以处理 8 个字节。

( 3)主频

主频即 CPU 的时钟频率,计算机的操作在时钟信号的控制下分步执行,每个时钟信号

周期完成一步操作,时钟频率的高低在很大程度上反映了 CPU 速度的快慢。 主频的单位一

般是 MHz(兆赫)或 GHz(吉赫),如微处理器 Pentium4/2.0 GHz的主频为 21000 MHz。

( 4)内存容量

内存容量是指内存储器中能够存储信息的总字节数,一般以 GB为单位。内存容量反映

内存储器存储数据的能力。目前计算机的内存容量有 2 GB、 4 GB、 8 GB等。



1.3 计算机软件

软件是计算机的灵魂。没有安装软件的计算机称为“裸机”,无法完成任何工作。硬件

为软件提供运行平台。软件和硬件相互关联,两者之间可以相互转化、互为补充。计算机的

软件分成系统软件和应用软件两大类。



1.3.1 系统软件

系统软件是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需

用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系

统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计

算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。

常用的操作系统:

1.桌面操作系统从软件上可主要分为两大类,分别为类 Unix 操作系统和 Windows 操

作系统。

Unix和类 Unix操作系统: Mac OS X, Linux发行版(如 Debian. Ubuntu, Linux Mint,

openSUSE, Fedora, Mandrake, Red Hat, Centos);

Windows操作系统: Windows 98, Windows 2000, Windows XP, Windows Vista, Windows

7, Windows 8, Windows 8.1, Windows 10等。

2.服务器操作系统。

服务器操作系统主要集中在三大类:

Unix系列: SUNSolaris, IBM—AIX, HP—UX, FreeBSD, OS X Server等;

Linux系列: Red Hat Linux, CentOS, Debian, UbuntuServer等;

Windows系列: Windows NT Server, Windows Server 2003, Windows Server 2008, Windows

Server 2008 R2, windows server 2012, windows server technical等。



1.3.2 应用软件

应用软件是用户为了解决各自应用领域里的具体任务而编写的各种应用程序和有关文

档资料的统称。这类软件能解决特定问题。应用软件与系统软件的关系是 : 系统软件为应用

软件提供基础和平台,没有系统软件应用的软件是无源之本.反过来应用软件又为系统软件

服务。

常用的应用软件有以下几类: ( 1) 字处理软件; ( 2) 电子制表软件; ( 3) 计算机辅助设

计软件; ( 4) 图形软件; ( 5) 教育软件; ( 6) 电子游戏软件。





1.4 计算机网络

计算机网络是一个复杂的系统,通常采用层次结构实现,将网络按层的方式组织。分层

的好处是:每一层实现一个相对独立 的功能,因此可以将一个复杂问题分解为若干个较容易

处理的小问题。计算机网络的各层及其协议的集合称为网络的体系结构。

网络中计算机与计算机之间的通信依靠协议进行。协议是计算机收、发数据的规则。

TCP/IP:用于网络的一组通信协议。包括 IP( Internet Protocol)和 TCP( Transmission Control

Protocol)

1.4.1 计算机网络的分类

按分布范围分类,可以大致分成三种类型:

1. 广域网( WAN), 广域网的任务是提供长距离通信,运送主机所发送的数据,其覆

盖范围通常为几十千米到几千千米的区域。广域网是因特网的核心部分。连接广域

网的各个节点交换机的链路一般都是高速链路,具有较大的通信容量。

2. 城域网( MAN), 城域网的覆盖范围可以跨越几个街区甚至整个城市,覆盖范围约

为五千米到五十千米。城域网大多采用以太网技术。

3. 局域网( LAN), 局域网覆盖范围较小,通常只有几十米到几千米的区域。局域网在

计算机配置数量没有太多的限制,少的可以只有两台,多的可以达到几百台。



例题 3.计算机网络分为广域网、城域网和局域网,其划 分的主要依据是( )

A. 网络的作用范围

B. 网络的拓扑结构

C. 网络的通信方式

D. 网络的传输介质



按拓扑结构分类,可以大致分成四种类型

1. 星形网络, 每个终端或计算机都以单独的线路与中央设备相连。中央设备早期是计

算机,现在一般是交换机或路由器。其优点是便于集中控制与管理,缺点是成本较

高,中心节点对故障敏感。

2. 总线形网络, 用单根传输线吧计算机连接起来。总线形的有点是建网容易,节省线

路,缺点是通信效率不高,总线任意一处故障敏感。

3. 环形网络, 所有计算机接口的设备连接成一个环,环中的信号是单向传输的。

4. 网状形网络, 一般情况下,每个节点至少有两条路径与其他节点相连,多用在广域

网中。其优点是可靠性高,缺点是控制复杂,线路成本高。



例题 4.广域网的拓扑结构通常采用( )

A. 星形 B. 总线形 C. 网状形 D. 环形



1.4.2 计算机网络的分类

( 1) OSI/ISO 模型

国际标准化组织( ISO)提出的网络体系结构模型,称为开放系统互连参考模型

( OSI/RM),简称 OSI 参考模型。 OSI 共有 7 层,自下而上依次为物理层、数据链路层、

网络层、传输层、会话层、表示层、应用层。





例题 5.OSI 模型中的七层协议中,最底层是( )

A.会话层 B.数据链路层 C.物理层 D.网络层



( 2) TCP/IP 模型

TCP/IP 传输协议,即传输控制 /网络协议,也叫作网络通讯协议。它是在网络的使用中

的最基本的通信协议。 TCP/IP 传输协议对互联网中各部分进行通信的标准和方法进行了规

定。并且, TCP/IP 传输协议是保证网络数据信息及时、完整传输的两个重要的协议。

TCP/IP 传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路

层都包含其中。



( 3) IP 地址与域名

IP 地址( Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。

IP 地址是 IP 协议提供的一种统一的地址 格式,它为互联网上的每一个网络和每一台主

机分配一个逻辑地址,以此来屏蔽物理地址的差异。



( 4) IPv4 地址

连接到因特网上的每台主机(或路由器)都分配一个 32 比特的全局唯一标识符,即

IP 地址。传统的 IP 地址由 32 位二进制,也就是四个 0~ 255 的数字表示,中间用 .分隔。



例题 6.下列几个 IPv4 地址中,书写正确的是( )

A.20-20-20-20 B.256.256.256.256 C.1.3.109.23 D.23,12,34,56



( 5) IPv6 地址

由于 IPv4 最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。 IPv6

的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的

障碍。

IPv6 是英文 “Internet Protocol Version 6”(互联网协议第 6 版)的缩写,是互联网工程

任务组( IETF)设计的用于替代 IPv4 的下一代 IP 协议,其地址数量号称可以为全世界的每

一粒沙子编上一个地址

IPv6 地址采用 128 位二进制,每 16 位一组,分为 8 组采用冒号十六进制表示,每组

4 位十六进制数。



例题 7.IPv4 协议使用 32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐

渐被使用( )位地址的 IPv6 协议所取代。【 NOIP 2013】

A. 40 B. 48 C. 64 D. 128



( 6) 域名

IP 地址对于计算机来说是十分有效的,但对于人来说,记忆一组并无意义的且无特征

的 IP 地址是困难的。为此,因特网引进了一个字符形式的 IP 地址,即域名。域名采用层

次结构的基于 “域 ”的命名方案,每一层由一个子域名组成,子域名间用 “.”分隔开。

因特网采用层次树状结构的命名方法。采用这种命名方法,任何一个连接到因特网的

主机或路由器,都有一个唯一的层次结构名称,即域名。域是名字空间中一个中一个可被

管理的划分。域还可以划分成子域,而子域还可以继续划分成子域 的子域,这样就形成了

顶级域、二级域、三级域等等。每个域名都由标号序列组成,而各个标号之间用 “.”隔开,

例如下面是一个域名的例子:

www(三级域名) .baidu(二级域名) .com(顶级域名)

关于域名中的标点有以下几点需要注意:

( 1)标号中的英文不区分大小写。

( 2)标号中除了连字符( -)外不能使用其它的标点符号

( 3)每个标号不超过 63 个字符,多标号组成的完整域名最长不超过 255 个字符

( 4)级别最低的域名写在最左边,级别最高的域名写在最右边

顶级域名分成如下三大类:

( 1)国家顶级域名。如 “cn”表示中国, “us”表示美国, “uk”表示英国

( 2)通用顶级域名。常见的有 “com”(公司), “net”(网络服务机构), “org”(非营利

性组织), “gov”(政府部门)等

( 3)基础结构域名。这种顶级域名只有 “arpa”,用于反向域名解析。



例题 8.中国的国家顶级域名是()【 NOIP 2019】

A. .cn B. .ch C. .chn D. .china



1.4.3 因特网提供的协议

( 1) HTTP

超文本传输协议( HTTP)定义了浏览器如何向万维网服务器请求万维网文档,以及服务

器如何把文档传送给浏览器。它规定了浏览器和服务器之间的请求和响应的格式与规则,是

万维网上能够可靠交换文件(包活文本、声音、图像等各种多媒体文件)的重要基础。

( 2) FTP

文件传输协议( FTP)是因特网上使用得最广泛的文件传输协议,提供交互式的访问,

允许客户知名文件的类型与格式,并允许文件具有存取权限。它屏蔽了各计算机系统的细节,

因而适合于在异构网络中的任何计算机之间传送文件。

FTP 主要 提供以下功能:

( 1)提供不同种类主机系统之间的文件传输能力

( 2)以用户权限管理的方式提供用户对远程 FTP 服务器上的文件管理能力

( 3)以匿名 FTP 的方式提供共用文件共享的能力

( 3) SMTP

简单邮件传输协议( Simple Mail Transfer Protocol, SMTP)是一种提供可靠且有效的电

子邮件传输的协议,它控制两个相互通信的 SMTP 进程交换信息。 SMTP 通信分为连接建立、

邮件传送、连接释放三个阶段,可以把它理解成为发送邮件的协议。

( 4) POP3

邮局协议( Post Office Protocol, POP)是一个非常简单单功能优先的邮件读取协议,

现在使用的是它的第三个版本 POP3, POP3 采用 “拉 ”的通信方式,当用户读取邮件时,用户

代理向邮件服务器发出请求,拉取用户邮箱中的邮件。

( 5) IMAP

IMAP( Internet Message Access Protocol)以前称作交互邮件访问协议( Interactive Mail

Access Protocol),是一个应用层协议。 IMAP 是斯坦福大学在 1986 年开发的一种邮件获取

协议。它的主要作用是邮件客户端可以通过这种协议从邮件服务 器上获取邮件的信息,下载

邮件等。



例题 9.以下哪一种是属于电子邮件收发的协议( )【 NOIP 2014】

A. SMTP B. UDP C. P2P D. FTP



1.5 计算机语言

自然语言是人类传递信息、交流思想和情感的工具,程序设计语言则是人与计算机联系

的工具。刚开始学习计算机语言时,很多同学都觉得难度很大,其实编写计算机程序与写作

文非常相似,其对比如图 所示。



1.5.1 程序的结构

一个程序应包括以下两方面内容。

( 1)对数据的描述。在程序中要指定数据的类型和组织形式,即数据结构( data

structure)。

( 2)对操作的描述。即操作步骤,也就是算法( algorithm)。

数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。作为程序

设计人员,必须认真考虑和设计数据结构与操作步骤(即算法)。因此,著名计算机科学家

沃思( Nikiklaus Wirth)提出了一个公式:

数据结构 + 算法 = 程序

实际上,一个程序除了以上两个主要要素之外,还应当包括程序设计方法以及采用哪一

种计算机语言实现。因此,程序的完全表示方法为

程序 =算法 +数据结构 +程序设计方法 +语言工具和环境

以上四个方面是一个程序设计人员所应掌握的基本知识。在这四个方面中,算法是灵魂,

数据结构是加工对象 ,语言是工具,编程需要采用合适的方法。



1.5.2 常用计算机语言

( 1) C 语言

C 语言是一种生命力很强的语言,从 20 世纪 70 年代初到现在已经有 40 多年。 C 语言

具有很多优点,如语言简洁、紧凑;使用方便、灵活;运算符丰富;能进行位操作等。

C 语言程序是由函数构成的。一个 C 语言源程序至少包含一个 main 函数,以及若干个

其他函数。函数是 C 语言程序的基本单位,被调用的函数可以是系统提供的库函数,也可以

是用户根据需要自己编制设计的函数。

C 语言程序总是从 main 函数开始执行,不管 main 函数在整个程序中的位置。

用 高级语言编写的程序称为源程序( sourceprogram)。计算机只能识别和执行由 0 和 1

组成的二进制指令,不能识别和执行用高级语言编写的指令。为了使计算机能执行高级语言

源程序,必须先用一种称为编译程序的软件把源程序翻译成二进制形式的目标程序,然后将

该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。具体执行过

程和生成的文件如 下图 所示。





( 2) Java 语言

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的一种面向对象的程序设计语言。

Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于 PC、数据中心、

游戏控制台、科学超级计算机、移动电话和互联网,拥有全球最大的开发者专业社群。

Java由四部分组成: Java编程语言、 Java类文件格式、 Java虚拟机( Java Virtual Machine,

JVM)和 Java 应用程序接口( Application Programming Interface, API)。 Java API 为 Java 应

用提供了一个独立 于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统

平台上安装 Java 平台之后, Java 应用程序即可运行。 Java 平台已经嵌入了几乎所有的操作

系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。

Java 不同于一般的编译执行计算机语言和解释执行计算机语言,它首先将源代码编译成二

进制字节码 ( byte code),然后依赖各种不同平台上的虚拟机解释执行字节码,从而实现了

“一次编译,到处执行 ”的跨平台特性。不过,每次执行编译后的字节码都需要消耗一定的时

间,这也在一定程度上降低了 Java 程序的 运行效率。



( 3) Python

Python 的创始人为 Guido van Rossum。 1989 年圣诞节, Guido 为了打发圣诞节的无趣,

决定开发一个新的脚本解释程序,作为 ABC 语言的一种继承。之所以选中 Python(大蟒蛇

的意思)作为该编程语言的名字,是因为他是 Monty Python 喜剧团体的爱好者。 2004 年以

后, Python 的使用率呈线性增长。 2011 年 1 月, Python 被 TIOBE 编程语言排行榜评为 2010

年度语言。

Python 是一种动态的、面向对象的脚本语言,最初用于编写自动化脚本( shell),随着

版本的不断更新和新功能的添加, Python 越来越多地用于独立大型项目的开发。



( 4) C++语言

1979 年, Bjarne Stroustrup 到了 Bell 实验室开始从事将 C 改良为带类的 C( C with classes)

的工作。 1983 年,该语言被正式命名为 C++。自从 C++被发明以来,它经历了 3 次重要的

修订。第一次修订是在 1985 年,第二次修订是在 1990 年,第三次修订发生在 C++的标准

化过程中。



( 5) C#

C#是 Microsoft 公司在 2000 年 6 月发布的一种面向对象的编程语言,主要由安德斯 ·海

尔斯伯格( Anders Hejlsberg)主持开发,是第一个面向组件的编程语言。

C#是运行于. NET Framework 之上的高级程序设计语言。 C#看起来与 Java 有着惊人的

相似之处;它包括单一继承、接口 以及与 Java 几乎同样的语法和编译成中间代码再运行的

过程。但是 C#与 Java 有着明显的不同,它借鉴了 Delphi 的特点,与 COM(组件对象模型)

是直接集成,而且它是 Microsoft 公司. NET Windows 网络框架的主角。



( 6)汇编语言

汇编语言( Assembly Language)是面向机器的程序设计语言。使用汇编语言编写的程

序,机器不能直接识别,要通过一种程序将汇编语言翻译成机器语言,这种起到翻译作用的

程序叫作汇编程序,汇编程序是系统软件中的语言处理系统软件。汇编程序把汇编语言翻译

成机器语言的过 程称为汇编。

汇编语言的优点:

● 是面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的;

● 保持了机器语言的优点,具有直接和简捷的特点;

● 可以有效地访问、控制计算机的各种硬件,如磁盘、存储器、 CPU、 I/O 端口等;

● 目标代码简短,占用内存少,执行速度快,是高效的程序设计语言;

● 经常与高级语言配合使用,应用十分广泛。

汇编语言的缺点:

● 是一种层次非常低的语言,仅高于直接手工编写的二进制机器指令码;

● 编写的代码非常难懂,不易维护;

● 很容易产生 Bug,难于调试;

● 只能针对特定的体系结构和处理器进行优化;

● 开发效率很低,时间长且单调。



( 7)机器语言

机器语言( Machine Language)是一种指令集,这种指令集称为机器码( machine code)

是 CPU 可直接解读的数据。

虽然大多数语言既可以被编译( compiled),又可被解译( interpreted),但大多数只在

一种情况下能够良好运行。在一些编程系统中,程序需要经过几个阶段的编译,一般而言,

后阶段的编译往往更接近机器语言。

指令系统是计算机硬件的语言系统,也称机器语言, 它是软件和硬件的主要界面,从系

统结构的角度看,它是系统程序员看到的计算机的主要属性。



1.5.3 编译程序与解释程序

计算机并不能直接接收和执行用高级语言编写的源程序,源程序在输入计算机时,通过

“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两

种方式,即编译方式和解释方式。

编译程序是指将高级语言(如 C++)源程序作为输入进行翻译转换,产生出机器语言的

目标程序,然后让计算机执行这个目标程序,最终得到计算结果。

解释程序将源语言(如 BASIC)编写的源程序作为输入,解释一句后就提交计算机执行

一句,并不形成目标程序。 但解释程序的执行速度很慢,若源程序中出现循环,则解释程序

也会重复地解释并提交执行这一组语句,会造成很大的资源浪费。

编译程序与解释程序最大的区别在于前者生成目标代码,而后者不生成;此外,前者产

生的目标代码的执行速度比解释程序的执行速度更快;后者的人机交互好,适合初学者使用。



常见的编译 型 语言: C、 C++

常见的解释 型 语言: Python、 PHP、 Ruby



1.6 计算机编码

1.6.1 基本概念

( 1) 编码

计算机要处理的数据除了数值数据以外,还有各类符号、图形、图像和声音等非数值数

据。而计算机只能识别两个数字。要使计算机能处理这些信息,首先必须将各类信息转换成

“0”和 “1”表示的代码,这一过程称为编码。

( 2) 数据

能被计 算机接受和处理的符号的集合都称为数据。

( 3) 比特

比特( Bit 二进制数位)是指 1 位二进制的数码(即 0 或 1)。比特是计算机中表示信息

的数据编码中的最小单位。

( 4) 字节

字节表示被处理的一组连续的二进制数字。通常用 8 位二进制数字表示一个字节,即一

个字节由 8 个比特组成。 字节是存储器系统的最小存取单位。



1.6.2 字符的 编码 方法

( 1) ASCII 码

目前,国际上普遍采用的一种字符系统是 7 位二进制编码的 ASCII 码,它可表示 10 个

十进制数码( 0~ 9), 52 个英文大写字母和小写字母( A~ Z, a~ z)以及一定数量的专用符

号( %, +, -等 ) ,共 128 个字符。





例题 10.字符 ’0’的 ASCII 码为 48,则字符 ’9’的 ASCII 码为( )

A. 39 B. 57 C. 120 D. 视具体的计算机而定



( 2)汉字编码

1.汉字交换码

汉字交换码是指不同的具有汉字处理功能的计算机系统之间在交换汉字信息时所使用

的代码标准。自国家标准 GB2312— 80 公布以来,我国一直延用该标准所规定的国标码作为

统一的汉字信息交换码( GB5007— 85 图形字符代码)。

GB2312— 80 标准包括了 6763 个汉字,按其使用频度分为一级汉字 3755 个和二级汉字

3008 个。一级汉字按拼音排序,二级汉字按部首排 序。该标准还包括标点符号、数种西文

字母、图形、数码等符号 682 个。

区位码的区码和位码均采用从 01 到 94 的十进制,国标码采用十六进制的 21H 到 73H

(数字后加 H 表示其为十六进制数)。区位码和国标码的换算关系是:区码和位码分别加上

十进制数 32。如“国”字在表中的 25 行 90 列,其区位码为 2590,国标码是 397AH。

2.字形存储码

字形存储码是指供计算机输出汉字(显示或打印)用的二进制信息.也称字模。通常,

采用的是数字化点阵字模。



一般的点阵规模有 16 ? 16、 24 ? 24等,每一个点在存储器中用一个二进制位( bit)存

储。在 16 ? 16的点阵中,需 8 ? 32 bit的存储空间,每 8 bit为 1 字节。所以,需 32 字节的存

储空间。在相同点阵中,不管其笔画繁简,每个汉字所占的字节数相等。

为了节省存储空间,普遍采用字形数据压缩技术。所谓矢量汉字,是指用矢量方法将汉

字点阵字模进行压缩后得到的汉字字形的数字化信息。



1.6.3 图像数据的表示方法

计算机只能存储数值,因此 需要先将图像数据数字化 ,才能顺利存储 。

目前,图像的数字化途径主要有两类:一类是利用扫描设备对各类图像资料进行扫描,

通过扫描仪实现数字化;另一类是通过数码相机直接对景物进行拍摄,数码相机直接将拍摄

到的景物数字化。不论哪种途径,数字化过程大体都分为采样、量化和编码三步。 下 图 演示

了灰度图像的数字化过程。



( 1)采样

图像是一种二维信号,需要变为一维信号后才能采样,先沿垂直方向按一定间隔从上往

下顺序地沿水平方向直线扫描,取出各水平行上的一维扫描线,再对该一维扫描线信号按一

定间隔采样得到离散信号。经过采样后,一幅图像的像素数目也称图像的分辨率,图像分 辨

率一般用水平方向的像素个数 M 乘以垂直方向的像素个数 N 表示,即 M×N。

( 2)量化

经过采样,模拟图像已在空间上离散化为像素,但所得到的像素值(即颜色值或灰度值)

仍是连续量,把取样后所得到的这些连续量所表示的像素值离散化为整数值的过程称为量

化。量化时所确定的离散取值个数称为量化级数,表示量化的亮度值(或色彩值)所需的二

进制位数称为量化字长,也称图像深度。图 1-6 所采用的量化级数为 16,量化深度为 4。量

化字长越长,就越能反映图像的原有效果。

( 3)编码

把离散的像素矩阵按一定方式编制成二进制编码组,并将所得到 的图像数据按某种图像

格式记录在图像文件中称为图像的编码。

影响图像质量的两个重要参数就是图像分辨率和颜色深度,图像分辨率越高,颜色深度

越深,则数字化后的图像效果就越逼真,图像数据量就越大。对于一幅图像,其分辨率为

M×N,其颜色深度为 D,图像的数据量可利用以下公式计算:

图像数据量 =M×N×D/8( Byte)

例如,一幅 1024×768 像素的 32 位彩色图像,其文件大小的计算过程如下: 1024×768×

32/8=3145728B=3MB。





献花(0)
+1
(本文系新用户56762...首藏)