当前位置:首页 > 全部子站 > IT > 水平考试

2011年软件水平考试程序员之程序设计知识点26

来源:长理培训发布时间:2017-10-20 13:53:03

   7.3 枚举型和枚举型变量

  1.枚举型

  除数字、文字信息之外,还有专用名称信息,如反映电梯运行状态的有上(UP) ,下(DOWN) ,停(sTOP) ;又如表示星期几的名称等。为提高程序描述问题时的直观性,引入枚举型。程序用枚举方法列举一组标识符作为枚举型的值的集合。当一个变量具有这种枚举型时,它就能取枚举型的标识将值。定义枚举型的一般形式为

  enum 枚举型名 {枚举常量1,枚举常量2,……,枚举常量n};

  其中enum是枚举型的引导字,枚举型名是标识符,枚举常量也是用户指定的标识符,但它们被程序看作常量,习惯称它们为枚举常量。例如:

  enum weekday { SUN, MON, TUE, WED, THU, FRI, SAT};

  通常,每个枚举常量都是有意义名称符号,但对程序本身来说,这些枚举常量并不自动代表什么含义。例如,并不因为写成SAT就自动表示"星期六",不写SAT写成SATDAY或任何其它标识符也是可以的。对于编译系统来说,枚举型中的标识符只是一组互不相同的标识符而已,标识符本身的字面意义只是供阅读程序的人便于理解程序。

  为了便于处理枚举型,编译系统将每个枚举常量与一个整数相联系,即枚举常量在内部被视作一个整数,值的大小由它们在枚举型中出现的顺序确定,依次为0,l,2,…。如在上面的定义中,SUN值为0,MON值为1,……,SAT值为6。枚举型变量的值也可输出。例如:

  printf("%d n", SUN);

  将输出整数0。

  枚举常量的对应整数也可由程序直接指定。如

  enum weekday { SUN= 7, MON= l, TUE, WED, THU, FRI, SAT};

  指定SUN为7,MON为1,后面未指定对应整数的枚举常量所代表的整数,则是前一个枚举常量代表的整数加1。所以在上述定义中,TUE为2,……,SAT为6。

  因枚举常量代表一个整数,同一枚举型的变量、枚举常量或整数相互间都可以作关系比较。

  2.枚举型变量

  定义枚举型变量也有以下多种方法:

  (1)先定义枚举型,然后定义枚举型变量、枚举型数组、枚举型指针等。

  (2)定义枚举型同时定义枚举型变量、枚举型数组、枚举型指针等。

  (3)定义无名枚举型同时定义枚举型变量、枚举型数组、枚举型指针等。例如:

  enum weekday today, yesterday, tomorrow;

  enum { RED, YELLOW, BLUE } color;

  定义枚举型 enum weekday的变量 today,yesterday,tomorow;定义枚举型变量 color。例如:

  today=SUN; tomorrow = MON;

  yesterday =SAT ; color= YELLOW;

  使用枚举型,除能命名见名议意的标识符外,对标识符值的内部实现,程序员可以不必考虑。另外,一个变量具有枚举型,还能反映变量值的有限性。枚举型变量常用于循环的控制变量,枚举常量用于多路选择控制的情况。

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部