C语言枚举类型详解

C语言枚举类型详解文章目录基本定义枚举的遍历枚举在 switch 中的使用枚举类型使用注意事项和细节基本定义举个例子 比如 一星期有 7 天 请定义数据表示星期一到星期天 传统方法使用 define 来完成 defineMON1 defineTUE2 defineWED3 defineTHU4 defineFRI5 defineSAT6 defineSUN7 使用枚举 include stdio h voidmain enumDAY stdio h

基本定义

在这里插入图片描述
举个例子,比如:一星期有 7 天, 请定义数据表示星期一到星期天.

传统方法

使用#define 来完成 #define MON 1 #define TUE 2 #define WED 3 #define THU 4 #define FRI 5 #define SAT 6 #define SUN 7 

使用枚举

#include  
     void main() { 
    enum DAY { 
    MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7 }; // 这里DAY 就是枚举类型, 包含了7个枚举元素  enum DAY day; // enum DAY 是枚举类型, day 就是枚举变量  day = WED; //给枚举变量 day 赋值,值就是某个枚举元素 printf("%d",day);// 3 , 每个枚举元素对应一个值 getchar(); } 

枚举的遍历

C 语言中,枚举类型是被当做 int 或者 unsigned int 类型来处理的, 枚 举类型必须连续是可以实现有条件的遍历。以下实例使用 for 来遍历枚举的元素。

#include  
     enum DAY { 
    MON=1, TUE, WED, THU, FRI, SAT, SUN //如果没有给赋值,就会按照顺序赋值 } day; // 表示 定义了一个枚举类型 enum Day ,同时定义了一个变量 day(类型是 enum DAY) int main() { 
    // 遍历枚举元素, 枚举的每个元素都对应数值 //day++ 会给出警告,但是可以运行 for (day = MON; day <= SUN; day++) { 
    //SUN = 7 printf("枚举元素:%d \n", day); // 1, 2, 3, 4,5,6,7 } //day = FRI; //printf("%d", day); // 10 getchar(); return 0; } 

在这里插入图片描述

枚举在switch中的使用

#include  
     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 SPRING: printf("你喜欢的季节是春天"); break; case SUMMER: printf("你喜欢的季节是夏天"); break; case AUTUMN: printf("你喜欢的季节是秋天"); break; case WINTER: printf("你喜欢的季节是冬天"); break; default: printf("你没有选择你喜欢的季节"); } getchar(); getchar(); } 

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/228662.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午6:29
下一篇 2026年3月16日 下午6:30


相关推荐

  • OpenClaw龙虾爆火,围绕Agent入口的“卡位战”已经打响

    OpenClaw龙虾爆火,围绕Agent入口的“卡位战”已经打响

    2026年3月14日
    2
  • 大规模特征构建实践总结

    大规模特征构建实践总结

    2021年6月16日
    115
  • USB大容量存储设备_usb网卡变成大容量存储设备

    USB大容量存储设备_usb网卡变成大容量存储设备[USB开发]USB大容量存储设备的开发cxl84发表于2008-3-1723:24:00USB是目前在打印机,数字存储设备,输入/输出设备,数码像机,MP3播放器等其他周边设备中得到广泛应用的连接方式。USB设备具有使用方便,速度快,连接灵活,即插即用,总线供电等优点。基于USB接口的大容量存储设备(USBMassStorage)应运而生,目前市场上的这类设备主要有:USB移

    2026年4月17日
    5
  • 各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图

    各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图大家在CAD室内平面图中经常看到门吧,那么大家知道怎么用CAD画门的平面图呢?想了解的同学可以参照以下CAD画平面图的教程,自己尝试去画门的平面图!用CAD画平面图的门的方法1、如下图所显示,输入要画矩形的方框,输入rec。2、单击要如下图中点,在进行拉动。3、如果下图没有显示中点的话,可以右击对象捕捉,选择全部选择。4、如下图可以看得以画出一个小矩形框出来。5、可以看到了如下图用矩形画出的门框来…

    2022年5月25日
    68
  • 计算机职称考试网络模块试题,最新职称计算机考试模块综合试题及答案(1)

    计算机职称考试网络模块试题,最新职称计算机考试模块综合试题及答案(1)敲击字母键C、直接敲击字母键D、按下SHIFT键的同时,敲击字母键8、在MSwindowsXP中,功能键F1的作用是:(B)。A、全选B、提供“帮助”C、粘贴D、撤销9、对于经常光顾的网站,用户可以采用(BCD)方法,以便快速打开网页。A、在IE浏览器中,设置指定该网站的快捷键B、将该网页设置为IE的浏览主页C、在IE浏览器中,创建指定该网站的快捷方式D、将该网页的地址添加到收藏夹中1…

    2022年6月1日
    29
  • RangeValidator 控件介绍「建议收藏」

    RangeValidator 控件介绍「建议收藏」RangeValidator控件介绍 使用RangeValidator控件可以验证用户输入是否在指定范围之内。将RangeValidator控件的ControlToValidate属性设置为要验证的SelectionList或TextBox的ID。使用MinimumValue和MaximumValue属性指定范围的最小值和最大值。如果验证

    2022年7月12日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号