网站大量收购独家精品文档,联系QQ:2885784924

第六讲 枚举类型和子界类型.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第六讲 枚举类型和子界类型 数据是程序设计的一个重要内容,其重要特征-数据类 型,确定了数据的取值范围以及所能参与的运算。 Pascal数据类型 简单类型 构造类型 指针类型 标准类型 自定义类型 整型 实型 字符型 布尔(逻辑)型 枚举型 子界型 数组型 记录型 集合型 文件型 一、 枚举类型 1.枚举类型的定义 用计算机来解决客观世界的问题时,需要用计算机程序的量来描述客观世界的问题。但有些问题很难用标准类型来描述,如一个星期的七天、一年的十二个月、颜色的类别等。 为了说明这些非数值量的特征,Pascal语言提供了枚举类型,用枚举方法将该种类型的所有取值用标示符一一列出。如用“Monday”代表“星期一”,用“Tuesday”代表“星期二”,这种处理方式既简单又直观。用枚举的方法所定义的数据类型就称为枚举类型。 枚举类型属于用户自定义类型,因此在程序的说明部分必须对类型进行定义,只有经过定以后,这种类型才能被使用。类型说明的关键字是type,类型标示符由用户自己决定,原则是以字母开头,后面跟以字母或数字,但注意不要使用Pascal保留字或标准标示符。如以“daytype”表示有关日期的数据类型名,可定义如下: type daytype=(sun,mon,tue,wed,thu,fri,sat); 可见,枚举类型定义的一般格式为: type 枚举类型标示符=(标示符1,标示符2 ,…标示符n ); 其中,枚举类型标示符给出了用户定义的枚举类型的名字,括号中的标示符1 ,标示符2 , …标示符n 称为枚举元素,它们构成了这种枚举类型的取值范围(又称“值域”),需要注意的是枚举类型标示符后跟的是等号。 定义了枚举类型后,就可以在变量说明部分定义相应的枚举类型的变量了。如: type daytype=(sun,mon,tue,wed,thu,fri,sat); colortype=(red,yellow,blue,white); var d1,d2:daytype; c:colortype; 在类型说明部分,定义了两个枚举类型;daytype和colortype。daytype的值域为sun、mon、tue、wed、thu、fri、sat共七个;colortype的值域为red、yellow、blue、white共四个。在变量说明部分,定义了变量d1、d2为枚举类型daytype,它们的取值只限于类型daytype的值域,还定义了变量c为枚举类型colortype,它的取值只限于类型colortype的值域。 以上类型定义和变量说明可合并在变量说明部分,即 var d1,d2:(sun,mon,tue,wed,thu,fri,sat); c:(red,yellow,blue,white); 2.枚举类型数据的特点及应用 (1)枚举元素只能是标示符,不能是数值常量、字符常量等其他任何数据类型。下列的定义是错误的: type monthtype=(1,2,3,4,5,6,7,8,9,10,11,12); colortype=(’red’,’yellow’,’blue’); 还需注意的是,枚举元素是标示符,但不能当作变量名对其进行赋值。 (2)同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。如下列的定义是错误的: type color1=(red,yellow,blue,white); color2=(black,blue,green); 因为枚举元素blue既属与枚举类型color1,又属于枚举类型color2。 枚举类型定义中通过列出所有值的标示符来定义一个有序集合,这些值的次序和枚举类型说明中的标示符的次序是一致的,且序号从0开始。变量说明如下: var d1,d2:(sun,mon,tue,wed,thu,fri,sat); 其中枚举值sun的序号为0,枚举值mon的序号为1,依此类推,枚举值sat的序号为6。同时,枚举值是可以有大小来区别的,关系式suntue的值是true,tuefri的值是false。 用序号函数可以求出枚举值的序号: ord(sun)=0 ord(mon)=1 ord(fri)=5 用succ和pred函数可以求出枚举值的后继和前趋: succ(sun)=mon succ(wed)=thu pred(wed)=tue 当然,枚举类型中的

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档