- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据类型 ?一、枚举类型 在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。 枚举类型变量 定义了枚举类型,就可以把某些变量说明成该类型。 var holiday,workday:day; incolor:colors; 也可以把变量的说明与类型的定义合并在一起,如:var holiday,workday:(sun,mon,tue,wed,thu,fri,sat); incolor:(red,yellow,blue,white,black,green); 枚举类型的性质 ⒈枚举类型属于顺序类型 根据定义类型时各枚举元素的排列顺序确定它们的序号,第一个枚举元素的序号为0。 ⒉对枚举类型只能进行赋值运算和关系运算 枚举类型不能进行算术运算和逻辑运算。 在枚举元素比较时,实际上是对其序号的比较。 赋值或比较时,应注意类型一致。 ⒊枚举变量的值只能用赋值语句来获得不能用read(或readln)读一个枚举型的值。 不能用write(或writeln)输出一个枚举型的值。 如write(red)是非法的,会发生编译错误。 二、子界类型 子界类型数据的运算规则 ⒈凡可使用基类型的运算规则同样适用该类型的子界类型。 ⒉对基类型的运算规则同样适用于该类型的子界类型。 ⒊基类型相同的不同子界类型数据可以进行混合运算。 ex8_2按年月日的顺序输入一日期,输出该日期是这一年中的的第几天 Program ex8_2; Var month,I:1..12; day:1:31; year,dayth;integer; Begin Read(year,month,day); dayth:=0; For I:=1 to month-1 do Case I of 1,3,5,7,8,10,12:dayth:=dayth+31; 4,6,9,11:dayth:=dayth+30; 2:if (year mod 4=0)and(year mod1000)or(year mod 400=0) then dayth:=dayth+29 else dayth:=dayth+28; End; dayth:=dayth+day; Write(dayth); End. 三 赋值相容 1.类型相容性 类型相容是对参加同一运算的两个对象的类型要求。设有两个变量,如果满足下列条件之一,就说这两个变量的类型相容。 (1)两个变量的类型相同 a.两个变量被同一类型说明。 例如:var a,b:1..30; b.两个变量的类型是同一类型标识符。 例如:var a:1..30;?? b:1..30; c.两个变量的类型是不同的类型标识符,但在类型定义中已经说明两个标识符相同。 例如:type date=1..100; range=date; var m:data; n:range; (2)一个变量的类型是另一个变量的子界。 (3)两个变量的类型都是同一基类型的子界。 (4)两个变量的类型是基类型相容的集合类型。 (5)两个变量的类型是成分相同的串类型。 2.赋值相容性 赋值相容是对赋值操作的两个对象的类型要求。设赋值语句“:=”左边的变量类型为T,右边表达式的类型为E,若类型T和类型E满足下列条件之一,则称他们是赋值相容的。 (1)T和E是相同的类型,而且类型不是文件类型,也不是具有文件类成分的构造类型。 (2)T是实型,而E是整型或整型的子界。 (3)T和E是类型相容的顺序类型,并且E的值不超出T所定义的值的范围 (4)T和E是类型相容的集合类型,并且E的值不超出T所定义的值的范围 (5)T和E是类型相容的串类型。 当T和E是顺序类
文档评论(0)