enum枚举总结
2012-12-28 17:06
183 查看
枚举详解
1.
什么是枚举enum
如果一个变量只有几个可能的值,则可以定义为枚举类型。所谓枚举就是将变量的值一一列出来,变量的值只限于列出来的范围内。
枚举同共用体类似,里面包含若干个元素,这些元素是在编译中是按常量来处理的,故称为枚举常量。它们不是变量,是常量,因此不能对枚举里面的元素赋值,这是枚举同共用体,以及结构体最大的区别,其次,枚举里面的元素默认值是0,1,2,3等整形常数。
2.
如何使用枚举enum
(1)枚举的声明
Enum color{red,black,blue};//这里枚举里面共有三个元素,他们的值分别是0,1,2
Enum color col;
Col=red;
根据定义,我们是不能对枚举里的元素进行赋值的,这是最重要的一点,切记。
而枚举变量赋值只能是枚举元素中的一种
(2) 输出
Printf(“%d”,red);
注意不能使用printf(“%d”,col);
3.
枚举的作用
枚举其实和一个一维的整型数组并没有什么区别。但是枚举元素可以定义令人一目了然的标示符,而且变量值限制在定义时规定的几个枚举元素范围内,如果赋予它其他值就会报错,便于检查
4.实例应用
有五个颜色的球,从中选出三种不同颜色的球,有多少种选法:
// Enum_study.cpp : Defines the entry point for the console application.
//
#include
"stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;
int n=0;
printf("%d",red);
for(i=red;i<=black;i++)
{
for(j=red;j<=black;j++)
if(i!=j)
for(k=red;k<=black;k++)
{
if(j!=k&&k!=i)
{
n++;
for(int loop=1;loop<3;loop++)
{
switch(loop)
{
case 1: pri=i;break;
case 2:pri=j;break;
case 3:pri=k;break;
}
switch(pri)
{
case red: printf("%10s","red");break;
case yellow: printf("%10s","yellow");break;
case blue: printf("%10s","blue");break;
case white: printf("%10s","white");break;
case black: printf("%10s","black");break;
}
}
printf("\n");
}
}
}
printf("总计有%d中方法!",n);
system("pause");
return 0;
}
1.
什么是枚举enum
如果一个变量只有几个可能的值,则可以定义为枚举类型。所谓枚举就是将变量的值一一列出来,变量的值只限于列出来的范围内。
枚举同共用体类似,里面包含若干个元素,这些元素是在编译中是按常量来处理的,故称为枚举常量。它们不是变量,是常量,因此不能对枚举里面的元素赋值,这是枚举同共用体,以及结构体最大的区别,其次,枚举里面的元素默认值是0,1,2,3等整形常数。
2.
如何使用枚举enum
(1)枚举的声明
Enum color{red,black,blue};//这里枚举里面共有三个元素,他们的值分别是0,1,2
Enum color col;
Col=red;
根据定义,我们是不能对枚举里的元素进行赋值的,这是最重要的一点,切记。
而枚举变量赋值只能是枚举元素中的一种
(2) 输出
Printf(“%d”,red);
注意不能使用printf(“%d”,col);
3.
枚举的作用
枚举其实和一个一维的整型数组并没有什么区别。但是枚举元素可以定义令人一目了然的标示符,而且变量值限制在定义时规定的几个枚举元素范围内,如果赋予它其他值就会报错,便于检查
4.实例应用
有五个颜色的球,从中选出三种不同颜色的球,有多少种选法:
// Enum_study.cpp : Defines the entry point for the console application.
//
#include
"stdafx.h"
#include<iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
enum color{red,yellow,blue,white,black};
enum color i,j,k,pri;
int n=0;
printf("%d",red);
for(i=red;i<=black;i++)
{
for(j=red;j<=black;j++)
if(i!=j)
for(k=red;k<=black;k++)
{
if(j!=k&&k!=i)
{
n++;
for(int loop=1;loop<3;loop++)
{
switch(loop)
{
case 1: pri=i;break;
case 2:pri=j;break;
case 3:pri=k;break;
}
switch(pri)
{
case red: printf("%10s","red");break;
case yellow: printf("%10s","yellow");break;
case blue: printf("%10s","blue");break;
case white: printf("%10s","white");break;
case black: printf("%10s","black");break;
}
}
printf("\n");
}
}
}
printf("总计有%d中方法!",n);
system("pause");
return 0;
}
相关文章推荐
- java enum(枚举)使用详解 + 总结
- Java中的Enum枚举类型总结
- 结构体(struct)、联合体(union)、枚举(enum) 三种结构的区别及各个结构细节的总结
- java enum(枚举)使用详解 + 总结
- 经典java enum(枚举)使用详解与总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- 枚举(enum)用法总结
- C# 枚举(Enum ) 应用总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- 结构体(Struct)联合体(Union)枚举(enum)总结
- java enum(枚举)使用详解 + 总结
- java enum(枚举)使用详解 + 总结
- 2.枚举(Enum)使用总结
- [.Net码农].net 枚举(Enum)使用总结
- java enum(枚举)使用详解 + 总结