第六章枚举类型和子界类型
PASCAL中数据类型
枚举类型
子界类型
常见的错误
PASCAL中数据类型
数据类型
基本
类型
构造
类型
指针类型
标准
类型
用户自定
义类型
实数类型
整数类型
字符类型
布尔类型
枚举类型
字界类型
数组类型
集合类型
记录类型
文件类型
顺序
类型
无序类型
枚举类型
1、为什么需要枚举类型?
程序不应只是用于数值计算,还应处理非数值的数据。例如:月份、星期、学历等。
2、枚举方法:
事先考虑到某一变量可能取的所有的值,尽量用自然语言中含义清楚的单词来表示它的每一个值的方法,称为枚举方法。
“枚举”:意思就是把所需要的对象都一个一个的列举出来。
如:星期是一个只有7个元素的数据,因此我们可以定义一种数据类型Days代表星期,如果一个变量定义为Days类型,那么他的取值范围就是Sunday..Saturday,另外颜色Color也一样。
Type
Days=(Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday);
Color=(Red,Yellow,Blue,,White,Black);
3、枚举类型的定义
TYPE
<枚举类型标识符>=
(<标识符1>,<标识符2> ··· <标识符n >);
VAR
<枚举类型变量表> : <枚举类型标识符>;
例如:
TYPE
day=(Sunday,Monday,Tuesday,Wednesday,
Thursday,Friday,saturday);
VAR
today,tomorrow :day;
或者:
VAR
<枚举类型变量表> :
(<标识符1>,<标识符2> ··· <标识符n >);
例如:
VAR
today,tomorrow:(Sunday,Monday,Tuesday,
Wednesday,Thursday,Friday,saturday);
注意:
(1)枚举类型定义时,必须将该类型变量所允许的枚举值全部列在等号后括号中,并用逗号隔开。
(2)枚举元素只能是标识符,而不能是数值常量或字符常量。
(3)每个枚举值只能出现在一个枚举类型的定义中,并且只能在该定义中出现一次。
例如以下的定义是错误的:type daytype1=(monday,tuesday);daytype2=(monday,wednesday);
判断下列定义正确与否:
TYPE
t1=(‘a’,’b’,’c’,’d’);
t2=(1,2,3,4,5);
t3=(sun,mon,tue,wed,sun);
t4=(wed,thu,fri,sat);
4、枚举类型的运算
只能进行赋值运算和关系运算,不能进行算术运算和逻辑运算。
一、赋值运算
Today:=Tuesday;
Tomorrow:=today;
(1)同类型的枚举值赋值给同类型的变量。
如: today:=mon;
(2)枚举类型变量的值只能用赋值语句来获得。不能对枚举变量进行读写。
如:readln(today);
Writeln(tomorrow); 均是错误的
如:
if today=Tuesday then writeln(‘Tuesday’);
(1)枚举类型属于顺序类型,根据定义类型时各枚举元素的排列顺序确定它们的序号,依次为0,1…。比较时,序号小的枚举元素小于序号大的枚举元素。
如: Sunday<monday 结果是true。
(2)只能对同一类型的枚举数据比较,不能对不同类型的枚举数据比较。
二、关系运算(比较运算)
第六章 枚举 子界类型 来自淘豆网m.daumloan.com转载请标明出处.