C语言学习笔记——枚举

简介: C语言学习笔记——枚举

1.介绍

  1. 枚举是C语言中的一种构造数据类型,它可以让数据更简洁,更易读。对于只有几个有限的特定数据,可以使用枚举
  2. 枚举是一组常量的集合,包含一组有限的特定的数据
  3. 枚举语法定义格式为
enum 枚举名 {枚举元素1, 枚举元素2, ……)

2.代码示例

#include<stdio.h>
void main() {
  enum DAY
  {
    MON = 1, TUE = 2, WED = 3, THU = 4, FRI = 5, SAT = 6, SUN = 7
  };
  enum DAY day;
  day = WED;
  printf("%d", day);
}

9f0ac6978a2f4796ae2281f6e10e326d.png

3.枚举的遍历

#include<stdio.h>
int main() {
  enum DAY {//表示定义了一个枚举类型 DAY,可以参考 int DAY,其中 int 为整形
    MON = 1, TUE, WED, THU, FRI, SAT, SUN//如果没有赋值将会按照顺序依次赋值
  } day;//定义了一个变量day ,变量day的类型为枚举类型(enum DAY)
  //遍历枚举元素
  //day++会导致warnning,但是可以运行
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

7e6ad430f27f4d36aed57a3d6ee30d01.png

4.swith中使用枚举

#include<stdio.h>
void main() {
  enum CITY {
    HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN
  } city;
  printf("请输入你最喜欢的城市:");
  scanf_s("%d", &city);
  switch (city) {
  case HANGZHOU:
    printf("你最喜欢的城市是杭州");
    break;
  case SUZHOU:
    printf("你最喜欢的城市是苏州");
    break;
  case NANJING:
    printf("你最喜欢的城市是南京");
    break;
  case WUXI:
    printf("你最喜欢的城市是无锡");
    break;
  case XIAMEN:
    printf("你最喜欢的城市是厦门");
    break;
  default :
    printf("看来你不喜欢杭州、苏州、南京、无锡和厦门这些城市!");
  }
}

7d81680dd7c54e67b422e5445cf75e99.png

5.枚举的注意事项

  1. 第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1
#include<stdio.h>
int main() {
  enum DAY {
    MON, TUE, WED, THU, FRI, SAT, SUN//不赋值默认赋值为0
  } day;
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

8758738ca4384d169a70a1ac1d04a84b.png

2.在定义枚举类型时改变枚举元素的值

#include<stdio.h>
int main() {
  enum DAY {
    MON = 1, TUE, WED, THU = 7 , FRI, SAT, SUN//在定义枚举类型时改变枚举元素的值
  } day;                              //THU = 7 ,FRI = 8以此类推
  for (day = MON; day <= SUN; day++) {
    printf("枚举元素:%d\n", day);
  }
}

425cbd7778eb498db1fd93f00865c2cd.png

3.枚举变量的定义的形式 1-先定义枚举类型,再定义枚举变量

enum CITY {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN
};
enum CITY city;

4.枚举变量的定义的形式 2-定义枚举类型的同时定义枚举变量

enum CITY {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN} city;

5.枚举变量的定义的形式 3-省略枚举名称,直接定义枚举变量

enum {
HANGZHOU = 1, SUZHOU, NANJING, WUXI, XIAMEN} city;

这样定义,该枚举类型只能使用一次

6.可以将整数转换为对应的枚举值。不能直接将一个整数,赋给枚举变量,但是可以将整数,转成枚举类型,再赋给枚举变量

相关文章
|
2月前
|
存储 编译器 C语言
c语言回顾-联合和枚举
c语言回顾-联合和枚举
33 4
|
2月前
|
存储 C语言 C++
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
深入C语言,发现多样的数据之枚举和联合体
|
2月前
|
C语言
C语言学习笔记-知识点总结上
C语言学习笔记-知识点总结上
81 1
|
2月前
|
存储 安全 编译器
深入理解C语言中的枚举
深入理解C语言中的枚举
|
2月前
|
存储 编译器 C语言
【C语言】自定义类型:联合与枚举的简明概述
【C语言】自定义类型:联合与枚举的简明概述
|
4月前
|
存储 编译器 C语言
【C语言篇】自定义类型:联合体和枚举详细介绍
像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。
47 1
|
6月前
|
C语言
C语言学习笔记之初识字符串
C语言学习笔记之初识字符串
43 5
|
6月前
|
文件存储 C语言
|
6月前
|
存储 机器学习/深度学习 编译器
C语言代码学习笔记
<编程精粹:编写高质量C语言代码> 读书笔记
|
6月前
|
C语言
枚举(C语言)
枚举(C语言)