C语言-自定义类型2

枚举

enum 枚举类型 {枚举值列表};
枚举就是把每一种可能的取值一一列举出来。
比如我们做的单项选择题,列举出来四种可能的选项,让我们选择最可能的那一项。
月份有12个月,也可以一一列举。

enum Month     //月份
{
    
    
	Jan,
	Feb,
	Mar,
	Apr,
	May,
	Jun,
	Jul,
	Aug,
	Sep,
	Oct,
	Nov,
	Dec
};

枚举类型的定义

enum Day//星期
{
    
    
Mon,
Tues,
Wed,
Thur,
Fri,
Sat,
Sun
};

enum Day , enum Month 都是枚举类型
{}中的都是可能取值,也就是枚举常量。
这些可能取值都是有值的,默认第一个从0开始,一次递增1,也可以在开始定义的时候赋初始值。
例如:
默认
在这里插入图片描述
在这里插入图片描述
赋初始值
在这里插入图片描述在这里插入图片描述

枚举类型使用案例

调用枚举类型变量

enum Color
{
    
    
	red,green,blue
};
int main()
{
    
    
	enum Color a, b, c;          //创建枚举类型变量
	a = blue;
	b = red;                       //赋值
	c = green;
	printf("%d %d %d", a, b, c);
	return 0;
}

在这里插入图片描述

具体使用案例

#include <stdio.h>
enum weekday {
    
      mon=1, tue, wed, thu, fri, sat ,sun } day;      //初始化mon=1,创建变量day。
int  main()
{
    
    
	int n;
	printf("请输入1到7的数:");
	scanf("%d", &n);
	day = (enum weekday)n;       //类型转换
	switch (day)
	{
    
    
	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;
	case sun: printf("sunday\n"); break;
	default: printf("输入错误\n"); break;
	}
	return 0;
}

在这里插入图片描述
输入数字几即可打印星期几。

猜你喜欢

转载自blog.csdn.net/st200112266/article/details/127200707