变量和常量 程序员通过变量显式地定义和命名数据对象。 个简单的变量是有名字的简单数据对象,通过赋值修 改变量值 常量是具有名字的数据对象,其值在其生命期内永久不 变。一个文字(或文字常量)是一个常量,其名是其值 的书写表示,如21表示值为21的整数常量 程序员定义的常量——其名字由程序员指定。 常量的绑定由编译器完成 如C语言中,# define max20 语句MAX=4是非法的
•变量和常量 程序员通过变量显式地定义和命名数据对象。 一个简单的变量是有名字的简单数据对象,通过赋值修 改变量值。 常量是具有名字的数据对象,其值在其生命期内永久不 变。一个文字(或文字常量)是一个常量,其名是其值 的书写表示,如21表示值为21的整数常量。 程序员定义的常量——其名字由程序员指定。 常量的绑定由编译器完成。 如C语言中,#define MAX 20 语句MAX=4是非法的
永久性 Persistence 现今大多数程序仍是采用批处理模式,即 、将程序装入内存 2、适当的外部数据被准备给程序所用 3、将相关输入数据读入程序中变量,变量被操作, 然后结果数据被写回外部数据格式。 4、程序终止。 程序中变量的生命期由程序的执行时间所确定。然而, 数据的生命期经常超出程序的单次执行,这种数据称 为永久的,在程序的多次执行间存在。 具有永久特性的语言对书写基于事务的系统更为高效。 文件系统可以解决永久性问题
•永久性Persistence 现今大多数程序仍是采用批处理模式,即 1、将程序装入内存 2、适当的外部数据被准备给程序所用。 3、将相关输入数据读入程序中变量,变量被操作, 然后结果数据被写回外部数据格式。 4、程序终止。 程序中变量的生命期由程序的执行时间所确定。然而, 数据的生命期经常超出程序的单次执行,这种数据称 为永久的,在程序的多次执行间存在。 具有永久特性的语言对书写基于事务的系统更为高效。 文件系统可以解决永久性问题
数据类型 个数据类型是一类数据对象加上创建及操作它们的一组 操作。 每个语言有一个基本数据类型集合,是语言固有的 有的语言还提供了设施允许程序员定义新数据类型。 有的新语言还允许类型本身被语言操作(高阶能力)。 数据类型的规约包括 1、区分该类型的数据对象的属性 2、该类型数据对象可具有的值 3、定义该类型数据对象可能处理的操作
数据类型 •一个数据类型是一类数据对象加上创建及操作它们的一组 操作。 •每个语言有一个基本数据类型集合,是语言固有的。 有的语言还提供了设施允许程序员定义新数据类型。 有的新语言还允许类型本身被语言操作(高阶能力)。 •数据类型的规约包括: 1、区分该类型的数据对象的属性 2、该类型数据对象可具有的值 3、定义该类型数据对象可能处理的操作
例如:数组数据类型的规约 属性:维数、每维的下标范围、元素的数据类型等。 值:形成数值元素有效值的数的集合 操作:选择个体数组元素、创建数组、改变数组形状, 访问下标上下界、完成数组间的算术操作等。 数据类型的实现包括: 存储表示:用于在计算机存储器中表示数据对象 2、数据类型操作被以特殊的算法或过程表示的方式, 这些算法和过程操纵数据对象的存储表示。 数据类型的规约大致可对应虚拟机中该类型定义部分的规 约。而数据类型的实现定义了那些虚拟机部分基于更基本 的低层结构的仿真,低层结构可以直接是硬件,也可以是 有操作系统或微代码定义的软、硬件组合
•例如:数组数据类型的规约 属性:维数、每维的下标范围、元素的数据类型等。 值:形成数值元素有效值的数的集合。 操作:选择个体数组元素、创建数组、改变数组形状, 访问下标上下界、完成数组间的算术操作等。 •数据类型的实现包括: 1、存储表示:用于在计算机存储器中表示数据对象。 2、数据类型操作被以特殊的算法或过程表示的方式, 这些算法和过程操纵数据对象的存储表示。 •数据类型的规约大致可对应虚拟机中该类型定义部分的规 约。而数据类型的实现定义了那些虚拟机部分基于更基本 的低层结构的仿真,低层结构可以直接是硬件,也可以是 有操作系统或微代码定义的软、硬件组合
从语法表示来看,规约和实现大部分独立于特定的语法形 式 属性:表示为声明或类型定义 值:表示为文字或定义的常量 操作:可由特殊的符号、固有过程或函数、或隐含地通 过其他语言元素的特殊组合来调用。 特定的语法表示并没什么不同,但程序语法中提供的信息 被用于确定各种属性的绑定时间,从而允许翻译器建立高 效的存储表示或完成类型检查
•从语法表示来看,规约和实现大部分独立于特定的语法形 式。 属性:表示为声明或类型定义 值:表示为文字或定义的常量 操作:可由特殊的符号、固有过程或函数、或隐含地通 过其他语言元素的特殊组合来调用。 •特定的语法表示并没什么不同,但程序语法中提供的信息 被用于确定各种属性的绑定时间,从而允许翻译器建立高 效的存储表示或完成类型检查