C/C++枚举探究

相关博文:C++新特性探究(十):enum class(struct)

枚举

  枚举类型定义了一组整型常量的集合,目的是提高程序的可读性。它的语法跟结构体的语法相同。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例1:enum DAY可以定义枚举变量,既可以取枚举过的命名值,也可赋予其他整形。C++中则不可以,只能取枚举过的命名值。
在这里插入图片描述
附例1代码:

//小问学编程
#include<stdio.h>

enum DAY
{
    
    
	MON=1,TUE,WED,THU,FRI,SAT,SUN
};

int main()
{
    
    
	printf("%d,%d,%d,%d,%d,%d,%d\n",MON,TUE,WED,THU,FRI,SAT,SUN);

	enum DAY day=MON;

	printf("day=%d\n",day);
	return 0;
}

  在使用过程中,枚举常量,应用更广泛,提高程序的可读性。常用于出错处理的枚举。

判断日期

例2:判断一年中第125天是工作日,还是休息日?假设一年365天,新年第一天是星期一。
在这里插入图片描述
附例2代码:

//小问学编程
#include<stdio.h>

enum DAY
{
    
    
	MON=1,TUE,WED,THU,FRI,SAT,SUN
};

int main()
{
    
    
    unsigned int today;
    printf("Pls input today Num:");
    scanf("%d",&today);

    today=today%7;
    enum DAY day=today;
    //enum常用于给canse语句提供一类方便的标签。
    switch(day)
    {
    
    
        case MON:
        case TUE:
        case WED:
        case THU:
        case FRI:
            printf("today is workday\n");
            break;
        case SAT:
        case SUN:
            printf("today is holiday\n");
            break;
    }
    return 0;
}

增加bool类型

  C语法中没有bool类型,可以通过enum类型来枚举。
在这里插入图片描述

C++ 真正的枚举

在这里插入图片描述
例:C++中枚举变量,只能用枚举值来赋值。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43297891/article/details/113604163