枚举型及子界型.pptVIP

  • 1
  • 0
  • 约1.42千字
  • 约 9页
  • 2017-06-07 发布于湖北
  • 举报
枚举型和子界型 类型定义   类型定义的语法格式:   type   标识符1=类型1;   标识符1=类型1;   ……   标识符n=类型n; 枚举类型 通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序识一致的。枚举类型的形式:(标识符1,……,标识符n) 例如:type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)    注意 枚举元素是标识符,不要把作为枚举元素的标识符视作变量名,它不能被赋值。同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。 枚举类型属于顺序类型。根据定义类型时各枚举元素的排列顺序确定它们的序列,序列号从0开始。 但是枚举类型中的第一个元素没有前趋,最后一个元素没有后继。 子界类型 子界类型是由整型、字符型、枚举型、布尔型的两个常量指定该类型的值域区间。子界类型的形式:           常量..常量 (type a=1..3;)  两个常量必须是同一种顺序类型。 类型相容和赋值相容 1.类型相容性   类型相容是对参加同一运算的两个对象的类型要求。设有两个变量,如果满足下列条件之一,就说这两个变量的类型相容。   (1)两个变量的类型相同   (2)一个变量的类型是另一个变量的子界。   (3)两个变量的类型都是同一基类型的子界。   (4)两个变量的类型是基类型相容的集合类型。   (5)两个变量的类型是成分相同的串类型。    .赋值相容性   赋值相容是对赋值操作的两个对象的类型要求。设赋值语句“:=”左边的变量类型为T,右边表达式的类型为E,若类型T和类型E满足下列条件之一,则称他们是赋值相容的。   (1)T和E是相同的类型,而且类型不是文件类型,也不是具有文件类成分的构造类型。   (2)T是实型,而E是整型或整型的子界。   (3)T和E是类型相容的顺序类型,并且E的值不超出T所定义的值的范围   (4)T和E是类型相容的集合类型,并且E的值不超出T所定义的值的范围   (5)T和E是类型相容的串类型 练习 按月、日、年顺序读入一日期,输出该日期是这一年中的第几天。 program date;   var year:0..2010;     month,i:1..12;     day:1..31;     dayth:integer;  begin   read(month,day,year);   dyath:=0;   for i:=1 to month-1 do    case i of     1,3,5,7,8,10,12:dayth:=dayth+31;     2:if ((year mod 4=0)and(year mod 1000)or(year mod 400 =0) 以下程序段共执行几次? N:=1; repeat m:=n*n; n:=n+2 until m2*n; * *  then dayth:=dayth+29      else dayth=:=dayth+28;     4,6,9,11:dayth:=dayth+30;    end;   dayth:=dayth+day;   writeln(dayth)  end.

文档评论(0)

1亿VIP精品文档

相关文档