C语言——枚举类型

简介: 枚举类型

文章目录

一、 基本概念

枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。枚举类型是C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。定义枚举类型:enum 枚举类型 {枚举值列表};

二、枚举类型的使用

1、定义枚举类型

//枚举颜色

enumcolor{red=1, oreange=2, yellow=3, green=4, ching=5, blue=6, purple=7};

//枚举一个星期的每一天

enumweek

{

   Su, Mo, Tu, We, Th, Fr, Sa

};

//枚举每一个月

enummonth

{

   January, February, March, April, May, June, July, August, September, October, November, December

};

这样枚举出来的都是一推变量,引用时:

printf("%-3d %-3d %-3d %-3d %-3d %-3d %-3d", red, oreange, yellow, green, ching, blue, purple);

也就是直接使用,会直接输出对应的值。

2、定义枚举类型的变量

enumweeka, b, c;

a=Su;

b=Mo;

c=Tu;

 

enummonthd, e, f;

d=January;

e=February;

f=March;

3、调用枚举类型变量每周的日期和每月份的输出也是这样:

enumweeka, b, c;

a=Su;

b=Mo;

c=Tu;

printf("%d %d %d\n", a, b, c);

enummonthd, e, f;

d=January;

e=February;

f=March;

printf("%d %d %d\n", d, e, f);

4、如果在定义枚举类型时指定元素的值,也可以改变枚举元素的值例如:enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;这时,sun 为 7,mon 为 1,以后元素顺次加 1,所以 sat 就是 6 了。

5、枚举值可以用来作判断例如:if (day==month) {…}if (day>month) {…}枚举值的比较规则是:按其在说明时的顺序号比较,如果说明时没有人为指定,则第一个枚举元素的值认作 0。

6、一个整数不能直接赋给一个枚举变量,必须强制进行类型转换才能赋值

三、枚举案例

#include <stdio.h>

voidmain()

{

   enumweekday {sun,mon,tue,wed,thu,fri,sat} day;

   intk;

   printf("请输入0到6的数:");

   scanf("%d",&k);

   day=(enumweekday)k;

   switch(day)

   {

       casesun: printf("sunday\n");break;

       casemon: printf("monday\n");break;

       casetue: printf("tuesday\n");break;

       casewed: printf("wednesday\n");break;

       casethu: printf("thursday\n");break;

       casefri: printf("friday\n");break;

       casesat: printf("satday\n");break;

       default: printf("input error\n");break;

   }

}

输入0-6中的一个数字,能够输出对应的星期。

目录
相关文章
|
6月前
|
程序员 C语言
c语言中枚举类型
c语言中枚举类型
42 1
|
C语言
9.6 【C语言】使用枚举类型
9.6 【C语言】使用枚举类型
58 0
|
6月前
|
算法 安全 程序员
C语言的枚举类型
C语言的枚举类型
62 0
|
6月前
|
存储 安全 编译器
C语言中的枚举类型与整数常量:差异与处理
C语言中的枚举类型与整数常量:差异与处理
114 2
|
6月前
|
编译器 C语言 C++
c语言->自定义类型联合体和枚举类型
c语言->自定义类型联合体和枚举类型
|
11月前
|
存储 算法 大数据
C语言结构体、联合与枚举类型
C语言结构体、联合与枚举类型
|
C语言
C语言枚举类型enum(全面详细直观)
C语言枚举类型enum(全面详细直观)
665 0
C语言枚举类型enum(全面详细直观)
|
C语言
C语言学习之枚举类型
C语言学习之枚举类型
174 0
C语言学习之枚举类型
|
C语言
C语言及程序设计进阶例程-29 枚举类型及其应用
贺老师教学链接 C语言及程序设计进阶 本课讲解 He先生方案一:用整型表示品牌、颜色 #include &lt;stdio.h&gt; int main( ) { int brand,color; //brand=0,1,2分别表示Lavida、Tiggo和Skoda //color=0,1,2分别表示红黑白 for(color=0; c
1078 0