枚举的一些基本知识点

 

一、 基本概念

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

二、枚举类型的使用

1、定义枚举类型

//枚举颜色
enum color{red=1, oreange=2, yellow=3, green=4, ching=5, blue=6, purple=7};

//枚举一个星期的每一天
enum week
{
    Su, Mo, Tu, We, Th, Fr, Sa
};

//枚举每一个月
enum month
{
    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、定义枚举类型的变量

enum week a, b, c;
a = Su;
b = Mo;
c = Tu;
 
enum month d, e, f;
d = January;
e = February;
f = March;

3、调用枚举类型变量

每周的日期和每月份的输出也是这样:

enum week a, b, c;
a = Su;
b = Mo;
c = Tu;
printf("%d %d %d\n", a, b, c);
enum month d, 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>
void main() 

    enum weekday {sun,mon,tue,wed,thu,fri,sat} day; 
    int k; 
    printf("请输入0到6的数:"); 
    scanf("%d",&k);
    day=(enum weekday)k; 

    switch(day) 
    { 
        case sun: printf("sunday\n");break; 
        case mon: printf("monday\n");break; 
        case tue: printf("tuesday\n");break; 
        case wed: printf("wednesday\n");break; 
        case thu: printf("thursday\n");break; 
        case fri: printf("friday\n");break; 
        case sat: printf("satday\n");break; 
        default: printf("input error\n");break; 
    } 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值