设为首页 加入收藏

TOP

2.1.1 基本数据类型(2)
2013-11-12 22:26:54 来源: 作者: 【 】 浏览:112
Tags:2.1.1 基本 数据 类型

2.1.1  基本数据类型(2)

5. 枚举类型(enum)

枚举类型是指把可能的值一一列举出来,变量的值只可以在列举出来的值的范围内取。

在声明枚举类型时,需要把常量的值一一列举出来,形式如下所示:

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

例如,一个铅笔盒中有一支笔,在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么就可以定义一个枚举类型来表示。
 

  1. enum box{pencil,pen};   //这里定义了一个枚举类型的变量叫box,这个枚举变量内含有两个元素也  
  2.  称枚举元素,这里是pencil和pen,分别表示铅笔和钢笔。 

这里要说一下,如果想定义两个具有同样特性枚举类型的变量,那么可以用如下的两种方式进行定义。
 

  1. enum box{pencil,pen};  
  2. enum box box2; //或者简写成box box2; 

还有一种就是在声明的同时定义。
 

  1. enum{pencil,pen}box,box2; //在声明的同时进行定义! 

对枚举变量中的枚举元素系统是按照常量来处理的,故叫枚举常量,其不能进行普通的算术赋值,(pencil=1;)这样的写法是错误的,但是可以在声明的时候进行赋值操作。

  1. enum box{pencil=1,pen=2}; 

这里要特别注意的一点是,如果不进行元素赋值操作,那么元素将会被系统自动从0开始自动递增的进行赋值操作,说到自动赋值,如果只定义了第一个,那么系统将对下一个元素进行前一个元素的值加1操作,如下所示:

  1. enum box{pencil=3,pen};//这里pen就是4,系统将自动进行pen=4的定义赋值操作! 

下面通过两个完整的例子进行学习。

例2-1  枚举程序举例。

  1. #include<iostream.h> 
  2. void main(void)  
  3. {    
  4. enum egg{a,b,c};  
  5. enum egg test;//在这里,可以简写成egg test;  
  6. test=c; /*对枚举变量test进行赋予元素操作*/  
  7. if(test==c)  
  8. {    
  9.         cout<<"枚举变量判断:test枚举对应的枚举元素是c"<<endl;  
  10. }  
  11. if(test==2)  
  12. {    
  13.         cout<<"枚举变量判断:test枚举元素的值是2"<<endl;  
  14. }  
  15. cout<<a<<"|"<<b<<"|"<<test<<endl;  
  16. test=(enum egg)0; //强制类型转换  
  17. cout<<"枚举变量test值改变为:"<<test<<endl;  
  18. }  

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.1.1 基本数据类型(1) 下一篇2.1.1 基本数据类型(3)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: