C语言 枚举

C语言 枚举

枚举:将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

枚举类型定义:

enum  枚举名
{
       枚举值表
};

在枚举值表中应列出所有可用值,也称为枚举元素。

枚举值是常量,不能在程序中用赋值语句再对它赋值。

举元素本身由系统定义了一个表示序号的数值从0开始顺序定义为0,1,2 …

案例

#include <stdio.h>
 
enum weekday
{
       sun = 2, mon, tue, wed, thu, fri, sat
} ;
 
enum bool
{
       flase, true
};
 
int main()
{
       enum weekday a, b, c;
       a = sun;
       b = mon;
       c = tue;
       printf("%d,%d,%d\n", a, b, c);
 
       enum bool flag;
       flag = true;
 
       if (flag == 1)
       {
              printf("flag为真\n");
       }
       return 0;
}
枚举 使用案例
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
enum Color
{
    red,blue,green,pink,yellow,black,white
};

int main(void)
{
    enum Color color;
    
    // 输入数字打印颜色
    int value;
    scanf("%d", &value);

    // 默认0开始
    switch (value)
    {
    case red:
        printf("红色\n");
        break;
    case blue:
        printf("蓝色\n");
        break;
    case green:
        printf("绿色\n");
        break;
    case pink:
        printf("粉色\n");
        break;
    case yellow:
        printf("黄色\n");
        break;
    case black:
        printf("黑色\n");
        break;
    case white:
        printf("白色\n");
        break;
    default:
        break;
    }

    return 0;
}
枚举 使用案例:2
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

// 创建文字游戏
enum TYPE
{
    run,attack,skill,dance=10,showUI,frozone=20,dizz,dath,moti=30
};

int main(void)
{
    enum Color color;

    int value;
    
    while (1)
    {
        scanf("%d", &value);
        switch (value)
        {
        case run:
            printf("英雄正在移动中..\n");
            break;
        case attack:
            printf("英雄正在攻击中..\n");
            break;
        case skill:
            printf("英雄正在释放技能..\n");
            break;
        case dance:
            printf("英雄正在跳舞中..\n");
            break;
        case showUI:
            printf("英雄正在显示狗牌..\n");
            break;
        case frozone:
            printf("英雄正在被冰冻中..\n");
            break;
        case dizz:
            printf("英雄正在眩晕中..\n");
            break;
        case dath:
            printf("英雄死亡..\n");
            return 0;
            break;
        case moti:
            printf("英雄等待释放命令..\n");
            break;
        default:
            break;
        }
    }

    return 0;
}
枚举 使用案例:3

 

 

posted @ 2020-02-29 10:32  kevin.Xiang  阅读(563)  评论(0编辑  收藏  举报