枚举(Enumeration)即列举数据。当某量仅由有限个数据值组成时,通常用枚举类型来表示。
枚举数据类型是由一组整型值描述的集合,使用关键字enum来声明和定义。
如:
enum week {Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday};
enum week var=Tuesday;
枚举类型在声明和定义变量时与结构体相类似,在声明的花括号内标识符都是整型常量。没有特别指定时,第1个枚举常量值为0,第2个枚举常量值为1,第3个枚举常量值为2,以后依次递增1。使用枚举类型的目的是为提高程序的可读性。
以出生年判定生肖的例子,来大概了解枚举类型;
代码展示:
#include<stdio.h>
enum dizhi {Zi,Chou,Yin,Mao,Chen,Si,Wu,Wei,Shen,You,Xu,Hai};
int main()
{
int year=0;
enum dizhi var=Zi;
printf("请输入出生年:");
scanf("%d",&year);
var=(year-4)%12;
switch(var)
{
case Zi:
puts("your shengxiao is:shu");
break;
case Chou:
puts("your shengxiao is:niu");
break;
case Yin:
puts("your shengxiao is:hu");
break;
case Mao:
puts("your shengxiao is:tu");
break;
case Chen:
puts("your shengxiao is:long");
break;
case Si:
puts("your shengxiao is:she");
break;
case Wu:
puts("your shengxiao is:ma");
break;
case Wei:
puts("your shengxiao is:yang");
break;
case Shen:
puts("your shengxiao is:hou");
break;
case You:
puts("your shengxiao is:ji");
break;
case Xu:
puts("your shengxiao is:gou");
break;
case Hai:
puts("your shengxiao is:zhu");
break;
default:
puts("your data is wrong");
break;
}
return 0;
}