admin 管理员组

文章数量: 1184232


2024年12月30日发(作者:landrop 安卓)

1.1 计算机的概念

计算机,不可否认,是人类至今朵伟大的发明之

计算机的英文C

ompute

r,最初指专门负责计算的人,到了20世纪中期演变成为

计算设备。

计算机的故事要从人类久远但延续至今的计算需求说起。人类为何需要计算?很

显然,人类在敬畏自然

认识自然甚至想驾驭自然的过程中,为了分析自然规律,需

要对问题进行最化计算。人类社会对有限资源的分配、对人类活动的有效管理,需要

规划和计算。人类探索思维空间的数学、逻辑和哲学问题,需要推理和计算。到了

21

世纪,计算需求已经深入到现代人的日常生活中,无处不在。

计算需求的方法问题由计算科学来解决,具体的计算由计算设备来实现。广义上

讲,计算设备包含计算机,但不限于此。

计算机的定义有很多种,如下定义更为符合计算机的本质:“计算机

是能够根据

指令操作数据的设备

(Acomputer is a machine that manipulates data acco呻ngto a list of

instructions

)

从定义可以看出

计算机有两个显著特性:功能性和可编程性。计算机的功能性

指对数据的操作,表现为数据计算

输入输出处理和结果保存等。计算机的可编程性

指它可以根据

系列指令自动地

可预测地

准确地完成操作者的意图。

理解计算机应该结合计算机定义中的两个特征,只要设备具备了计算的功能性和

操作的可编程性,就可以看成是计算机的

种。区分计算设备是否是计算机并不依靠

其制造材质,计算机不

定是电子的,例如光计算机、扭子计算机、超导计算机、生

物计算机,这些都不是建立在电子学基础上,但都是计算机概念的延伸。除特殊说明

外,本书后续内容中

计算机

均指电子计算机。

计算机技术发展主要围绕计算机的功能性和可编程性展开。

方面,计算机硬件

所依赖的集成电路规模按照摩尔定律以指数方式增长,计算机运行速度也接近几何级

数快速增加。另

方面

表达计算机可编程性的程序设计语言也经历了机器语言、汇

编语言和高级语言3个阶段。

1.2

程序设

计语

I.2. I

程序设计诏

言概述

程序设计语言是计算机能够理解和识别操作的一种交互体系,它按照特定的规则

组织计算机指令,使计算机能够自动进行各种操作处理。按照程序设计语言规则组织

起来的一组计算机指令称为计算机程序。

程序设计语言包括3个大类,即机器语言

汇编语言和高级语言。机器语言是

种二进制语言,它直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行

的程序设计语言。汇编语言使用助记符与机器语言中的指令进行

一一

对应。由千这两

类语言都直接针对计算机硬件,所以统称为低级语言。高级语言区别于低级语言,是

接近千自然语言的

种计算机语言,可以更容易地描述计算问题,并利用计算机解决

计算问题。如果能像科幻电影演绎的那样用母语(人类语言)驱动计算机将是最完美

的事情。遗憾的是,尽管许多

流的计算机科学家为此做过很多努力,仍然无法在可

预见的未来设计出能完全理解人类语言的计算机。

诚然,即使计算机能理解人类语言,人类语言也不适合描述复杂算法。人类语言

具有不严密和模糊的缺点。例如,

“我

我看见

个人在公园,带着望远镜

这句话,基千

常识和经验,交谈双方大多数情况下能理解彼此表达的意思,但深究

下,究竟是

带着望远镜,还是

那个人

带着望远镜呢?这种模糊性也经常产生错误理解

和歧义。相比人类语言,程序设计语言的结构在语法上十分精密,在语义上定义准确。

个广泛应用的高级语言是C语言,诞生千1972年。随看程序设计语言40余

年的发展,已经出现了很多种高级语言,也有很多高级语言退出了历史舞台。下面这

C#、FORTRAN、Java、JavaScript、PHP、Py­

C++

些是常用的程序设计语言:C

thon、SQL、Go、Delphi、HTML、Verilo

g等

1.2. 2 编详和解释

高级语言按照执行方法的不同可以分成2个类别:静态语言和脚本语言。这两种

类型语言采用不同的执行方式,静态语言采用编译执行,脚本语言采用解释执行。

编译是

个将源代码转换成目标代码的过程,通常,源代码是高级语言,目标代

码是机器语言,执行编译的计算机程序称为编译器。图I.1展示了程序的编译过程,

其中,虚线表示目标代码被计算机运行。编译器将源代码转换成目标代码,计算机可

以立即或稍后运行这个目标代码。

解释是

个将源代码逐条转换成目标代码同时逐条运行目标代码的过程。执行解

释的计算机程序称为解释器。图I.2展示了程序的解释过程,其中,高级语言源代码

与输入数据

同输入给解释器,然后输出运行结果。

图II N厅的谝计过伟

l

图I.2

f',厅的韶释过竹'

解释和编译的区别在于编译是

次性地翻译,

旦程序被编译,不再需要编译程

序或者源代码。解释则在每次运行时都需要源代码和解释器。

编译过程只进行

次,所以,编译执行速度并不是关键,目标代码的运行速度是

关键。为此,可以在编译器中集成一些优化技术,使生成的目标代码具备更好的执行

效率。然而,解释器中却不能集成太多优化技术,因为优化技术会消耗运行时间,使

得整个程序的执行速度受到影响。

采用编译方法有如下好处。

·对于相同源代码,编译所产生的目标代码执行速度更快。

·目标代码不需要编译器就可以运行,在相同操作系统上使用灵活。

采用解释方法有如下好处。

·解释执行需要保留源代码,使得程序纠错和维护十分灵活。

·只要存在解释器,源代码可以在任何操作系统上运行,可移植性好。

简单说,解释执行尽管牺牲了一定的执行性能,但可以支持跨硬件或操作系统平

台,保留源代码对升级维护十分有利,适合非性能关键的程序运行场呆。Python语言

种典型的脚本语言,采用解释执行的方式,但它的解释器也保留了编译器的功能,

随着程序运行,解释器也会生成一个完整的目标代码。这种将解释器和编译器结合的

新解释器也是现代脚本语言为了提升计算性能的

种有益演进。

]. 2. 3 计究机编程

随着计算机科学技术的发展,计算机已经成为社会活动的普通工具,掌握一定编

程技术有助于更好地利用计算机解决所面对的问题。此外,计算机已经无处不在,不

懂程序设计的人经常感觉好像被计算机控制或绑架,学会编程可以驾驭计算机,提升

心理满足感和安全感。

计算机编程是一项富有挑战性的体力和脑力运动,尤其在面对复杂计算问题和苛

刻运算要求的情况下。它要求编程者不仅具有规划全局的能力,还要具备处理细节的

技术。很多程序语言,例如CIC++等,包含了复杂的语法,掌握并灵活运用这些编程

语言需要刻苦和深入的学习。诚然,做任何事情需要认真与刻苦,但学习程序设计真

的那么难吗?

或许学习其他语言会非常困难,使相当部分人退缩。但对于Python语言,本书将

开启一个全新的程序设计学习历程。这里没有大量枯燥的概念和语法,只有通过实例

展示的程序设计的魅力和力蜇。

编写程序的过程可以获得很多快乐,它也是一项具有创造性、可以带来价值的活

动。它不仅能解决实实在在的问题,也提供了表现自我的平台。

1.

3

P

y

thon

1.3. 1

Python

j什言概

Python语

千1990年前后,由Guidovan Rossum设计并领导开发。该语言以

Python

命名

千Guido的兴趣

。也

许Python语言的

生是个偶然,但2

0多年来的发展

将这个偶然变成了计算机科学与技术发展过程中的一次标志性事件。

2

000年10月,Python2. 0正式发布,标志若Python语言完成了自身涅梁,解决了

其解释器和运行环境中的众多问题,开启了Python广泛应用的新时代。至今,Python

2.0

系列

发布

后一个

稳定版本Python2. 7. 6,且不再更新。

2008年12月

,Python

3.

0

正式发布,这个版本在语法层面和解释器内部做了很多

修改。很可惜,这个版本不能兼容Python

2

.

0

系列的既有语法,因此,所有基千Python

2.0

系列版本编写的库函数都必须修改后才能被Python3. 0系列

解释器运行。Python

3.0

系列的版本号已经到

3.4

由于目前大部分Python库仍然更好地支待Python2.

0系列版本,本书也采用2.0

系列版本作为示例平台。随着整个Python社区对

3.

0

系列版本的不断推动,不久将来,

Python

3. 0系列的通用性将会有显著提升,并最终取代

2.0

系列版本。这两个系列版本

在大部分语法结构上保持一致,只有细节上的不同。本书中大部分例子均

可以在

3

.

0

系列版本中正确运行。

Pyhon语言是一个脚

本语言,具有如下特点

P

y

hon语言通过强制缩进保证程序的可读性。

Python程序不需要一个主函数,儿条语句的组合也可以运行。

·尽管

Python

语言是脚本语言,但可以同时被解释和编译执行。

Python语言很简洁,只有少拭的语法约束。

Python语言可以面向过程,也可以面向对象,支持灵活的编程模式。

本书后续章节将会一步步揭开Python语言的面纱,并带领读者采用这个语言解决

个个有趣又实用的问题。本书后续章节的行文中除个别地方外将用

Pytho

"Pylhon语言

n"代替

I.3

.

2 使川Python语占编写Hello程序

学习编程语言有一个惯例,即运行最简单的Hello程序,该程序功能是在屏幕上打

印出

HelloWorld"。这个程序虽小,但却是初学者接触语言的第一步。使用Python编

写的Hello程序只包含一行代码,如下:

print "Hello World•

上述代码中,print表示将后面引号中的信息输出到屏幕上。该代码显示效果如下:

>»print "Hello World"

Hello World

其中,第一行

>>>

是Python语言运行环境的提示符,表示可以在这个符号后面输

入Python语句或者包含Python语句的文件。第二行是Python语句的执行结果。

Python语言的Hello程序似乎与人类语言类似,通过一行语句就把打印的事情解决

了。其他语言的Hello程序并不这样简洁,下面是C语言的Hello程序,对比一下:

#include< s七dio.h >

int main (void)

printf ("Hello World n ");

return O;

其中

include、int、main的

具体含义就不具体介绍了。上述C语言代码与之前的Pytho

n

代码功能一样,也只是打印一个

HelloWorld"。这个最小的例子也许不能说明更多情

况,但Python的简洁是公认的。同样功能的程序

,Python

实现的代码行数也许仅相当

于C语言的

l/10至l/

5(取决于程序的复杂度和规模)。更少的代码行数、更简洁的表

达方式将带来更少的程序错误、更快的程序开发速度和更好的可读性。

1. 3. 3 Python诏言的丿r发坏埮配',

t

本节介绍如何安装配笠Python的开发和运行环境。

首先, 到Python主页下载并安装 Python基本开发和运行环境

这里

根据操作系统版本选择下载相应的Python2. 7. 6版本

作系统用户,可下载

程序。

于Windo

ws

Python2. 7. 6 Windo

w

s Installer"安装包。安装包下载后,请跟

随提示安装。

其次,在程序顺利安装后,可以通过以下几种方式启动Python解释器或运行环境。

下面以Win

do

ws操作系统为例说明。

第一种方法,启动Windo

w

s操作系统命令行工具(),输入命令python,

在命令提示符>>>后面输入语句print" Hello World

并按

回车

键,显示结果如

图1.3所示。在>>>提示符后输入exit()或者quit()可以退出Python运行环境。

图I.3 通过命令行1;]动1

)

IIlOl1

已ii环培

第二种方法,通过调用Windo

w

s系统中安装的IDLE来启动Python运行环境

IDLE

是Python软件包自带的集成开发环境,在其中输入Hello程序的效果如图I.4所示。

"-2.7.6ll

I

l

Python 2. 7. 6 (de!邕ul.e,Nov 10 2013, 19:24:18)[!'.SC v.1500 32 b土e(Ineel) I on.,止-

32

T九兀

copyri叩e•,•cred土亡s•or •uce心eO • tor more 乙ion.

»> prin亡·HelloWorld·

8ell0何o工ld

>>>

由Edit沁,凶“如邓

w,

心归心P

,归代,置一

h......

l

一”

霎酮

图I. 4 通过IDLE启动Python运行环垃

第三种方法, 按照Python的语法格式编写 代码, 并保存为文件。 以Hello程序为

例, 可以将 代码保存成文件 hello.

p

y。Python 代码可以在任意编辑器中编写, 对于几百

行以下规模的代码可以使用W

indows自带的notepad

.

exe工具或者开源记事本增强工具

Notepad++。 然后, 打开W

indows的命令行(cmd. exe), 通过执行下列语句运行Py­

thon

文件

p

y

thon hello.

PY

第四种方法, 按照第二种方法, 打开IDLE, 使用快捷键Ctrl + N打开一个新窗口

在其中可以输入Python 语句, 例如Hello程序, 并保存为 hello.

p

y文件, 如

图1.

5所

示。 使用快捷键F

5

即可运行该程序。

当然, 还有第五种方法, 可以将Python

集成到Eclipse等

面向较大规模项目开发的

集成开发环境中。

本书所有例子采用前四种方法均可以很好地编写并调试, 并不需要

集成开发环境。 建议初学者采用第四种方法。

由泣b叩如9志…M叫叩.

prin

lloW3r1d·

b

".

e.

图I.5 通过IDLE编巧作序并保存为文件

在其他操作系统上配置

Python

环境与上述

Windows

系统上的配置方法相似。

本章

小结

本章介绍了计算机的基本概念、程序设计语言和

Python

语言。重点阐述了计算机

的功能性和可编程性、程序设计语言分类、编译和解释、

Python

语言的历史和发展。

通过使用

Python

语言编写的

Hello

程序实例,给出了

Python

开发环境配翌方法。

、判断题

1.

2.

3.

高级语言可以直接在计算机上运行。

解释是对源程序进行编译,然后运行编译后的目标文件。

Py

on

是一个动态语言

执行的时

候需要

个主函数

要求保存的文件

PY

4.

Python

5.

Python

为扩展名,

否则文件无法被执

行。

一、选

择题

l.下

列哪些不是辅助存储器:

.硬盘

2.

一条语

句可以

理解为:

A.

对机器语言的翻译

C.对问题的精确描述

3.编译器与解释器的区别是:

A.

编译

器是

个程

驱动

-ROM

B.

条完

整的计

算机命

D.

B.编译器用千将高级语言翻译成机器语言

C.在程序解释完成后,便不再需要解释器

D.编译器处理源代码

4.

下面哪些是对注释的不正确理解:

A.注释使程序更加高效

B.

注释的目的是便千人们阅读源代码

C.

注释

Python

中是被忽

略的

D.

Pytho

n

注释

以#开

Python

语言的

特点不

包含哪

A.

Pyth

on

语言

十分

简洁

B.

Pytho

n

语言

可以

跨平

台运

C.

Pyth

on

5.

语言

采用

解释

D.

Python

语言是

面向对

象的编

程语言


本文标签: 语言 计算机 运行 计算 程序