当前位置: 首页 > news >正文

23、枚举

1、枚举

        罗列一些标识符,当做整型数据使用。为了代码的易读性

1.1、枚举定义        

        enum 枚举名{大写标识符,大写标识符....};

        枚举类型名:enum 枚举名

        

        

        枚举里面如果不给标识符赋值,默认从0开始,依次增1

        如果里面的标识符有赋值就当做赋的整型数值使用,后面没有赋值的项就在他的基础上+1

   

        例子:

                定义枚举,列举星期一到星期日的简写。

                enum week{MON,TUES,WENDS,THIR,FRI,SAT,SUN}; // 0 1 2 3 4 5 6

                枚举类型名:enum week

                改写:                        

                        enum week{MON=1,TUES,WENDS,THIR,FRI,SAT,SUN}; // 1 2 3 4 5 6 7

                        printf("%d\n",sizeof(enum week)); // 4 整型

1.2、枚举变量

        枚举类型 变量名;

        enum week n;

        

       例子:

                使用枚举,输入今天是星期几,打印对应的星期中文。

        分析:                

#include<stdio.h> 
enum week{MON=1,TUES,WENDS,THIR,FRI,SAT,SUN};定义一个枚举变量
提示请输入今天是星期几:
scanf("%d",&变量名);switch(数据)
{case MON:					printf("星期一");break;case TUES:printf("星期二");break;case WENDS:printf("星期三");break;case THIR:printf("星期四");break;case FRI:printf("星期五");break;case SAT:printf("星期六");break;					case SUN:printf("星期日");break;
}

        代码:                

#include<stdio.h> 
enum week{MON=1,TUES,WENDS,THIR,FRI,SAT,SUN};int main()
{enum week n;printf("请输入星期数字:");scanf("%d",&n);switch(n){case MON:					printf("星期一");break;case TUES:printf("星期二");break;case WENDS:printf("星期三");break;case THIR:printf("星期四");break;case FRI:printf("星期五");break;case SAT:printf("星期六");break;					case SUN:printf("星期日");break;}	return 0;
} 

2、枚举应用

        需求:使用枚举定义布尔类型数据,布尔类型只有3个值,true和false.

                使用布尔类型做判断数据是偶数还是奇数的应用。

        代码:                

#include<stdio.h> typedef enum 
{false,true
}bool; bool isOu(int n)
{if(n % 2 == 0){return true;}else{return false;}
}int main()
{int a;printf("请输入一个数据:");scanf("%d",&a);bool res = isOu(a);if(res == true){printf("偶数");}else{printf("奇数");	}return 0;
} 

http://www.lryc.cn/news/499142.html

相关文章:

  • Java基本概念
  • C++学习——如何析构派生类
  • SpringCloud与Dubbo的区别
  • C# 设计模式--建造者模式 (Builder Pattern)
  • leetcode 23. 合并 K 个升序链表
  • 【Redis】深入解析Redis缓存机制:全面掌握缓存更新、穿透、雪崩与击穿的终极指南
  • SQL语法——DQL查询
  • 云计算.运维.面试题
  • 基于vue和vite的计算器
  • 《OpenCV:视觉世界的魔法钥匙》
  • 部署kafka并通过python操作
  • 【JAVA】Java高级:数据库监控与调优:SQL调优与执行计划的分析
  • 【单片机开发】MCU三种启动方式(Boot选择)[主Flash/系统存储器(BootLoader)/嵌入式SRAM]
  • 跨库移植 SQL
  • (软件测试文档大全)测试计划,测试报告,测试方案,压力测试报告,性能测试,等保测评,安全扫描测试,日常运维检查测试,功能测试等全下载
  • Vue前端开发-路由跳转及带参数跳转
  • 服务器上安装 Node.js
  • 在阿里云/Linux环境搭建Gitblit服务
  • MicroBlaze软核开发(二):GPIO
  • threejs相机辅助对象cameraHelper
  • Luma 视频生成 API 对接说明
  • 服务器数据恢复—EVA存储硬盘磁头和盘片损坏离线的数据恢复案例
  • 【Python】深入探索Python类型检查:掌握 `typing` 模块的高级用法
  • Android学习15--charger
  • 顶会新宠!KAN-LSTM完美融合新方案
  • JS中对象的浅拷贝,深拷贝和引用
  • 思普企业运营平台 idsCheck Sql注入漏洞复现
  • FSWIND脉动风-风载时程生成器软件下载、安装及注册
  • spring通过RequestContextHolder获取HttpServletRequest对象
  • STM32编码器接口及编码器测速模板代码