枚举值是什么意思

 我来答
生活达人晴timing
2021-04-15 · TA获得超过64.9万个赞
知道大有可为答主
回答量:4.5万
采纳率:75%
帮助的人:1157万
展开全部
在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。
这两种类型经常重叠,是一个被命名的整型常数的集合,枚举在日常生活中很常见。

随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。
例如:性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。
在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。
如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。
也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。

枚举是我们自己定义的一个集合,比如说我们数学里面所学的集合 A={1、2、3},当我们要使用 A 这个集合的时候,
我们只能够使用集合 A 里面的 1、2、3 这三个元素,不是 A 里面的元素我们就不可以使用。

同样,枚举和这个集合是类似的,当我们定义了一个枚举类型的时候,我们声明它里面有几个元素,
在我们使用这个枚举的时候,我们只能够使用它有的元素,没有的元素我们是无法使用,系统就会报错。

枚举还有一个特点,就是可以代表数值,比如说第一个定义的元素对应的值为 0,每个枚举元素从 0 开始,逐一增加。
此时,这个数值也代表他们本身,相当于每一个元素有两个名字。

常使用的地方:我们要从另一个函数得到一个值,但是这个值只能够在一个范围内的,此时我们就可以,使用枚举来定义这个范围。
限制另外一个函数能够传递进来的值,只能够是枚举类型里面的元素。
土豆爱馒头
2012-03-20
知道答主
回答量:52
采纳率:0%
帮助的人:7.8万
展开全部
枚举是一种固定的类型,并且一个枚举对应着几个定义好的值,就称为枚举值。
例如:定义了week 这个枚举,既然是week (星期),它的值会有七个,星期一到星期天,而这七个每个都是称为枚举值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
juncong1354
2012-03-20 · TA获得超过3.9万个赞
知道大有可为答主
回答量:1.7万
采纳率:55%
帮助的人:2559万
展开全部
一、类型定义   类型定义的语法格式:   type   <标识符1>=<类型1>;   <标识符2>=<类型2>;   ……   <标识符n>=<类型n>;   二、枚举类型   通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序是一致的。枚举类型的形式:(标识符1,……,标识符n)   例如: type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)   枚举元素只能是标识符,而不能是数值常量或字符常量。例如以下的定义是错误的:   type daystype=('sun','mon','tue','wed','thu','fri','sat')   枚举元素是标识符,不要把作为枚举元素的标识符视作变量名,它不能被赋值。同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。例如以下的定义是错误的:   type daytype1=(monday,tuesday);   daytype2=(monday,wednesday);   可以将枚举类型的定义和变量的定义结合在一起。例如:var a:(monday,tuesday,sunday)   枚举类型属于顺序类型。根据定义类型时各枚举元素的排列顺序确定它们的序列,序列号从0开始   例如:已经定义daystype   ord(sunday)=0,succ(sunday)=monday,pred(friday)=thursday   但是枚举类型中的第一个元素没有前趋,最后一个元素没有后继。Turbo Pascal不允许直接读写枚举值,所以枚举值的输出常用case语句间接的输出。枚举值的输入,则要一一判断读入字符是否是枚举类型的标识符。若是才能赋给枚举变量,否则就会出错。   例如:枚举值的输出   case day of   sunday:write('sunday');   monday:write('monday');   tuesday:write('tuesday');   wednesday:write('wednesday');   thursday:write('thursday');   friday:write('friday');   saturday:write('saturday');   end;   三、子界类型   子界类型是由整型、字符型、枚举型、布尔型的两个常量指定该类型的值域区间。子界类型的形式:   常量..常量 两个常量必须是同一种顺序类型。例如:a..b,要求a<=b   例如:   type a=1..3;   b='a'..'d';   一个子界类型继承它的常量类型的运算符和标准函数,常量类型相容的不同子界类型可以混合运算,可以赋值。可以将子界类型的定义和变量的定义结合在一起。例如:var a:1..9   例 按月、日、年顺序读入一日期,输出该日期是这一年中的第几天。   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 100<>0)or(year mod 400 =0)   then dayth:=dayth+29   else dayth=:=dayth+28;   4,6,9,11:dayth:=dayth+30;   end;   dayth:=dayth+day;   writeln(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:date;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是顺序类型或都是集合类型时,不仅要求这两个类型是相容的,而且要求E的值不超出T所定义的值的范围;否则将产生类型溢出,而这种错误只能在你运行程序时进行检查,因此你必须要避免不发生这种错误。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangyun267
推荐于2017-09-02 · 知道合伙人历史行家
wangyun267
知道合伙人历史行家
采纳数:4290 获赞数:91645
毕业于南京工业学院,读过很多历史相关书籍。

向TA提问 私信TA
展开全部
一、类型定义
类型定义的语法格式:type<标识符1>=<类型1>;<标识符2>=<类型2>;……<标识符n>=<类型n>;
二、枚举类型
通过预定义列出所有值的标识符来定义一个有序集合,这些值的次序和枚举类型说明中的标识符的次序是一致的。枚举类型的形式:(标识符1,……,标识符n)
例如: type daystype=(sunday,monday,tuesday,wednesday,thursday,friday,saturday)
枚举元素只能是标识符,而不能是数值常量或字符常量。例如以下的定义是错误的:
type daystype=('sun','mon','tue','wed','thu','fri','sat')
枚举元素是标识符,不要把作为枚举元素的标识符视作变量名,它不能被赋值。同一个枚举元素不能出现在两个或两个以上的枚举类型定义中。例如以下的定义是错误的:
type daytype1=(monday,tuesday);
daytype2=(monday,wednesday);
可以将枚举类型的定义和变量的定义结合在一起。例如:var a:(monday,tuesday,sunday)
枚举类型属于顺序类型。根据定义类型时各枚举元素的排列顺序确定它们的序列,序列号从0开始
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式