基本数据类型与基本运算

上传人:cl****1 文档编号:562955172 上传时间:2023-03-25 格式:DOCX 页数:10 大小:63.02KB
返回 下载 相关 举报
基本数据类型与基本运算_第1页
第1页 / 共10页
基本数据类型与基本运算_第2页
第2页 / 共10页
基本数据类型与基本运算_第3页
第3页 / 共10页
基本数据类型与基本运算_第4页
第4页 / 共10页
基本数据类型与基本运算_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《基本数据类型与基本运算》由会员分享,可在线阅读,更多相关《基本数据类型与基本运算(10页珍藏版)》请在金锄头文库上搜索。

1、第二章 基本数据类型与基本运算本章主要介绍程序设计中高级语言提供的数据类型和其上允许的基本运算。在介绍这些 内容时,我们通过穿插一些实例介绍如何应用数据类型与基本运算来解决一些简单的问题。2.1 数据类型的概念2.1.1 为什么程序设计语言中要引入“数据类型”这一概念?2.1.2 数据类型的概念 数据类型是程序设计语言中的一个非常重要的概念。那么,什么是数据类型呢? 数据类型是由该类型的数据的值域(即值集)和在这些数据上所有施加的运算的集合 (即 运算集或操作集)组成。值域指出了每一种数据类型的变量合法的数据取值范围,而运算集 合则规定了每一种数据类型的变量和数据其上所允许进行的运算。值域和运

2、算集是数据类型 的两个基本属性。在下面介绍 Pascal 语言的数据类型的有关章节中,对每一种数据类型均 将说明这两种属性。2.1.3 数据类型的代数理论基础一个数据类型是一个二元组(D,R)。其中,D是一个数据类型的值域,R是建立在D上的 运算(操作)的集合。这个二元组构成了一个代数系统。其中, D 叫做该系统的基集。从本质 上说,一个代数系统就是一个带运算的集合,而一个数据类型就是一个代数系统。从这个概念出发,程序设计语言理论在数据结构的基础上发展了一些数据和类型的代数 理论。这些理论属于程序设计语言语义学的范畴,将来,有兴趣的学生在具备了比较深入的 基础之后,可以作进一步的了解。2.1.

3、4 Pascal 语言中数据类型的分类Pascal 语言的优点之一是有丰富的数据类型,按照其定义者的不同可分为下面几类,如 表 2-1 所示。J实数类型基本(标准)数据类型系统预定义的数据类型布尔类型(逻辑类型)I字符类型Pascal数据类型枚举类型、子界类型数组类型用户自定义的数据类型记录类型构造型数据类型集合类型文件类型I指针类型丿图 2-1 Pascal 的数据类型2.2 基本数据类型本节介绍四种基本数据类型(Elementary Date Type),它们是整数类型、实数类型、布 尔类型(逻辑类型)和字符类型。基本数据类型又称为标准数据类型(Standard Date Type), 我

4、国国家标准中将它改称为需求数据类型。基本数据类型是语言系统预先定义或规定的数据 类型。2.2.1 整数类型整数类型(Integer Date Type)简称整型,在Pascal语言中用类型标识符integer表示 整数类型。整型的数据可以是正整数、负整数和零,其中,正整数和零可以省略“+”号。1整数类型的值域 任何计算机系统由于受机器字长的限制,它所能表示的整数只是数学中整数集合的一个 有穷的子集合。其中,最大整数为maxint,它的值与具体机器的字长有关。一般地,若机器 的字长为 W 时(假设用一位表示数符 ) ,由于整数在机器内采用二进制补码表示,因此, maxint=2w-11,其原因在

5、“计算机组成原理”课程中将有详细解答。整数类型的值域为 - maxint,maxint。2整数类型的数据允许进行的运算(1)算术运算若a,b为整型数,两者进行算术运算如表2-1所示。表 2-1 整型数据的算术运算运算符含义运算规则结果的数据类 型+加a+b,与数学相同integer减a-b,与数学相同integer*乘a*b,与数学相同integerdiv或Div整除求a div b的商的整数部分,若 a,b同号,其结果为正,否则为 负。integermod或Mod取余(模运 算)求a除b后所得的余数。见说明。integer附注:关于mod运算符(Operator),不同的Pascal语言版本

6、的mod运算是有差别的。标 准 Pascal 中规定, a mod b 的结果都是正整数,而且要求 b0;Turbo Pascal 语言中规定 a、b可以为正数或负数,其运算结果的符号与被除数a相同。(2)关系运算两个整型数据可以进行关系运算,其结果是一个布尔型的数据:true或者false。关系 运算共有六种: =(等于)、 (不等于)、 (大于)、 =(大于等于) 、 (小于)、 =(小于等 于) 。例如,8 9的结果为true; 3 9的结果为false。2.2.2 实数类型实数类型(Real Date Type)简称实型。在Pascal语言中用类型标识符real表示实数类 型。整型的数

7、据可以是正、负实数和实数零,其中,正实数和零可以省略“ +”号。实数在 机器内的表示形式总是用浮点数的表示方法来实现的。1实数类型的值域在数学中,实数是一个无穷的连续集合。但是, Pascal 语言中实数类型的数据只能是数 学中实数的一个有穷的子集合,这是因为受计算机系统字长的限制。不同的计算机系统,机 器的字长不同,表示实数的方式不完全相同(虽然都用浮点数方式表示),表示实数在精度上 受限制,实数类型数据的值域也就不尽相同,用数轴表示如图2-1所示。AECDFB卜上溢区0.0上溢区-10下溢区10n 4一 10 - n 2 10 - n 3图 2-2 实数类型的数据的值域 2实数类型的数据允

8、许进行的运算(1)算术运算若a,b至少有一个为实型数据,两者进行算术运算的结果类型如表2-2所示。表 2-2 实型数据的算术运算运算符含义运算规则结果的数据类型+加与数学相冋real减与数学相冋real*乘与数学相冋real/除与数学相冋real附注:若a,b均为整型数据,则a/b的结果类型也是实型数据。(2)关系运算两个实型数据,或一个为整型数据而另一个是实型数据,均可以进行关系运算,其结果 是一个布尔型的数据:true或者false。关系运算共有六种:=(等于)、(不等于)、(大于)、=(大于等于)、(小于)、=(小于等于) 3为什么把数区分为整数类型和实数类型? 虽然在数学意义上整数是实

9、数的一个子集,但是,在 Pascal 语言中还是将整数所属的 整型类型从实数所属的实型类型中独立出来,这是为什么呢?首先,将两者分离出来,在机器中分别采用不同的表示方法,使它们分别表现出不同的 特点,便于根据实际问题编写高质量的程序。整型数据采用定点方式表示,优点是精确而且 运算快速,缺点是数据的表示范围小;实型数据采用浮点方式表示,优点是其数据的表示范 围比整数类型的数据的表示范围大得多(这给计算带来了很大方便),缺点是不精确而且运算 速度较慢。其次,便于编译程序生成高效的目标代码;第三,它符合人们的日常思维习惯。2.2.3 布尔类型布尔类型(Boolean Date Type)又被称为逻辑

10、类型,在 Pascal语言中用类型标识符 boolean 表示布尔类型。1布尔类型的值域布尔类型的数据仅有两个:true (真)和false(假)。2布尔类型的数据允许进行的运算(1) 逻辑运算若 a,b 为布尔型数据,两者进行逻辑运算的结果类型如表2-3 所示。表2-3布尔型数据的逻辑运算aba and ba or bnot afalsefalsefalsefalsetruefalsetruefalsetruetruetruefalsefalsetruefalsetruetruetruetruefalse(2) 关系运算在Pascal语言中,布尔类型是有序类型,并且规定false true。

11、因此,两个布尔类 型数据可以进行关系运算,其结果是一个布尔型的数据:true或者false。关系运算一共有 六种: =(等于)、(不等于)、(大于)、=(大于等于)、(小于)、=(小于等于)。例如, truefalse 的结果为 true。2.2.4 字符类型 计算机系统所处理的绝大多数数据是以字符形式输入 /输出的。各种程序设计语言的编 译程序通常都能自动将以字符形式输入 /输出的数据与其它数据类型进行转换,但在许多情 况下,需要程序员在设计程序时,直接处理字符数据。字符数据类型是构成字符串类型的基 础。所谓字符串类型实际上是标准 Pascal 语言中的压缩的字符数组类型, Turbo Pa

12、scal 语 言中引入了专门的字符串数据类型。字符数据类型(Character Date Type)简称字符型,在Pascal语言中用类型标识符char 表示字符类型。在程序中,用单引号将字符类型数据的集合中的一个字符括起来以表示字符 类型的数据值,也称字符常数,如A,、,a。注意,用单引号括起来的字符序列被称为 字符串,也称字符串常数,如Ab、 abcz等。字符串不是字符型数据,它是字符型的 一种扩展数据类型,我们将在第六章介绍。1字符类型数据的值域2字符类型数据允许进行的运算关系运算在 Pascal 语言中,字符类型是有序类型(即该类型的数据是有顺序的)。 ASCII 码字符集 中字符的顺

13、序规定如下: 0-9 十个数字字符的 ASCII 码值依次增大; A-Z 二十六个大写英文字母的 ASCII 码值依次增大; a-z二十六个小写英文字母的ASCII码值依次增大; 在ASCII码字符集中数字、大写英文字母、小写英文字母的ASCII码值依次增大。 两个字符型数据可以进行关系运算,其结果是一个布尔型的值:true或者false。关系运算共有 6 种: =(等于)、 (不等于)、 (大于)、 =(大于等于 )、 (小于)、 =(小于等 于)。2.3 常量与变量 通过上面介绍我们知道, Pascal 语言的计算机程序中所处理的任何数据均有其类型。从 任何类型的数据在程序运行过程中表现出

14、的性态来看,有的数据在程序运行的过程中其值发 生了变化,我们称之为变量(Variable),有的数据在程序运行的过程中其值始终不发生变 化,这样的数据被称为常量(Cons tan t)。下面我们分别介绍变量和常量的概念。2.3.1 常量常量分成字面常量和非字面常量。常量本身有其数据类型。1字面常量字面常量(Literal Constant)又被称为字面值或直接量,它是某一类型的一个数据的具 体值的字面表示。(3)布尔类型的字面常量 布尔类型的字面常量仅有两个:true (真)和false (假)。(4)字符类型的字面常量 字符类型的字面常量用单引号将字符类型数据集合中的一个字符值括起来,以避免

15、与语言中 出现的字符混淆。例如, A, a, 0, & , o ,等等。2非字面常量非字面常量又被称为符号常量(Symbolic Cons tan t)。在程序中,我们可以定义某标识 符来代表某字面常量,这样定义之后就可以用该标识符来代表这个字面常量。此后,该标识 符即为符号常量。符号常量的引入,可以帮助记忆,便于使用,提高程序的可读性和可维护 性(Maintainability)。2.3.2 变量1变量说明在 Pascal 语言中,程序中所用到的(静态)变量必须遵循在变量说明部分中先说明(定 义),然后再使用的原则。下面先介绍(静态)变量说明语句(Variable Declaration Stat emen t)的语法和语义,然后作几点说明。(1)语法 变量说明的语法图如图2-8所示。图 2-8 变量说明

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号