C语言-华电4^-kj4.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言-华电4^-kj4

第四章用户自定义数据类型 华北电力大学 引言 前三章介绍了四种标准数据类型,包括了值的范围和运算集合。 四种标准数据类型并不能很好的解决数据处理中遇到的一些问题。 Pascal允许用户自定义数据类型,扩大了计算机的数据处理范围和能力。 本章介绍用户自定义的两种简单的数据类型:枚举类型和子界类型。 4.1枚举类型 加入共子程序重要完成对Sunday、Monday、Tuesaday等星期的记载,用前面学的类型很难对这些标识符进行记载。 用枚举类型比较容易实现上述问题。 回忆Pascal中说明部分的组成。 星期标识符用枚举类型表示 TYPE day=(Sunday,Monday,Tuesday,Wednesday, Thursday,Friday,Saturday); VAR payday:day; 与标准数据类型在声明变量的时候是一致的,只不过变量的类型是用户提前定义的。 对枚举类型定义的说明 枚举类型以TYPE作为开始,对枚举类型进行说明,它放在常量说明和变量说明之间,比如上面的说明中定义了名字为day的枚举类型。 每个枚举类型所允许的枚举值,必须全部列在等号后面。 所有的枚举值列在括号中,各个枚举值之间用逗号分开。 枚举值只能为标识符。注意标识符的组成:由字符和数字组成,并且以字符为首。比如前面的例子。 定义了枚举类型之后就可以声明枚举类型的变量了。如上例。 枚举类型说明的一般格式 TYPE 枚举类型标识符=(标识符1, 标识符2 … 标识符n); VAR 枚举类型变量:枚举类型标识符; 注意 每个枚举值只能出现在一个枚举类型定义中,而且只能出现一次。 下面定义的枚举类型是错误的: TYPE t1=(’A’,’B’,’C’,’D’); t2=(1,2,3,4); t3=(Sunday,Monday,Tuesday,Wednesday,Sunday); t4=(Wednesday,Thursday,Friday,Saturday); 练习 试定义枚举类型,类型标识符为Month,枚举值为12个月各月的名称。并定义变量CurMonth。 除了上面的说明方式之外,还有一种说明方式,即不预先定义枚举类型标识符,而直接在变量说明中给出它的枚举类型。 比如: VAR payday:(Sunday,Monday,Tuesday,Wednesday, Thursday,Friday,Saturday); 两种定义的方法是等效的。 说明 一种类型实际上包括该种类型的取值范围和相应的操作。前面介绍的类型说明,实际上说明了枚举类型的取值范围,即只能取列出的枚举值之中的值。比如:payday只能取:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday. 枚举类型的操作 在变写程序的时候,可以将枚举值直接赋给枚举变量,或将同类型的枚举变量赋给另一个枚举变量。 TYPE day=(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); month=(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); VAR payday, firstday, today, tomorrow:day; yearend, curmonth:month; BEGIN … yearend:=Dec; firstday:=Monday; payday:=Friday; today:=payday; … END. 不正确的例子 payday:=5; payday:=Jan; 上面的两个例子都是错误的,因为5和Jan都不是day类型的合法枚举值。 每个枚举值都有一个序号与其对应。爱枚举类型说明的括号中列出的第一个值具有序号0,第二个值具有序号1,第n个值具有序n-1。比如: day=(Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); 中,Sunday的序号是0,而Monday的序号是1……Saturday的序号是7。 枚举类型的运算 (1)函数运算 可以用于枚举类型的函数有:ORD,PRED,SUCC。

文档评论(0)

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

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

1亿VIP精品文档

相关文档