C语言的枚举

基本介绍

  • 枚举是C语言中的一种构造数据类型,它可以让数据更简单,更易读,只有几个有限的特定数据,可以使用枚举。
  • 枚举(enum)
  • 枚举是一组常量的集合,包含一组有限的特定的数据
  • 枚举语法定义格式为

enum  枚举名  {枚举元素1,枚举元素2}

枚举类型使用注意事项和细节

  • 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1.
  • 枚举变量的形式:

        ①先定义枚举类型,再定义枚举变量

enum DAY {
    MON = 1, TUE = 2, WED = 9,THU, FRI, SAT, SUN
};// 这里DAY 就是枚举类型, 包含了7个枚举元素 

enum DAY day;// enum DAY  是枚举类型, day 就是枚举变量 

        ②定义枚举类型的同时定义枚举变量 

enum DAY {
	MON = 1, TUE, WED, THU, FRI, SAT, SUN  //如果没有给赋值,就会按照顺序赋值
}day;// 表示 定义了一个枚举类型 enum Day ,同时定义了一个变量 day(类型是 enum DAY)

        ③省略枚举名称,直接定义枚举变量

enum {
	MON = 1, TUE, WED, THU, FRI, SAT, SUN  //如果没有给赋值,就会按照顺序赋值
}day;//这样使用枚举,该枚举类型只能使用一次
  • 可以将整数转换为对应的枚举值
enum SEASONS {SPRING = 1,SUMMER,AUTUMN,WINTER};
enum SEASONS season;
int n = 4;
season = (enum SEASONS)n;
printf("season = %d", season);//season = 4
getchar();

枚举练习

//枚举类型是被当做int或者unsigned int 类型来处理的

enum DAY {
	MON = 1, TUE = 2, WED = 9,THU, FRI, SAT, SUN
};// 这里DAY 就是枚举类型, 包含了7个枚举元素 

enum DAY day;// enum DAY  是枚举类型, day 就是枚举变量 

day = THU; //给枚举变量  day 赋值,值就是某个枚举元素

printf("%d", day);// 10 , 每个枚举元素对应一个值

getchar();
enum DAY {
	MON = 1, TUE, WED, THU, FRI, SAT, SUN  //如果没有给赋值,就会按照顺序赋值
}day;// 表示 定义了一个枚举类型 enum Day ,同时定义了一个变量 day(类型是 enum DAY)

// 遍历枚举元素, 枚举的每个元素都对应数值
//day++ 会给出警告,但是可以运行
for (day = MON; day <= SUN; day++) {
	printf("当前枚举变量的值:%d\n", day);
}

day = FRI;
printf("%d", day); 

getchar();
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

void  main() { 
    enum SEASONS {SPRING=1, SUMMER, AUTUMN, WINTER}; //定义枚举类型  enum SEASONS   
    enum SEASONS season;//定义了一个枚举类型变量 season(类型 enum SEASONS )
    printf("请输入你喜欢的季节: (1. spring, 2. summer, 3. autumn 4 winter): ");
    scanf("%d", &season);
    switch (season) {
    case 1:
        printf("你喜欢的季节是春天");
        break;
    case SUMMER:
        printf("你喜欢的季节是夏天");
        break;
    case AUTUMN:
        printf("你喜欢的季节是秋天");
        break;
    case WINTER:
        printf("你喜欢的季节是冬天");
        break;
    default:
        printf("你没有选择你喜欢的季节");
    }
    getchar();
    getchar();
  
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值