c++枚举(c++枚举类型)
本篇文章给大家谈谈c++枚举,以及c++枚举类型对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、C语言中的枚举类型
- 2、c语言中的枚举型什么意思
- 3、c语言enum是什么意思
- 4、C语言枚举类型怎么用?
- 5、c语言枚举用法
C语言中的枚举类型
如果一个变量只有几种可能的值,则可以定义为 枚举类型 。所谓“枚举”是指将变量的值一一伏悉缺列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用 enum 开头。例如:
声明了一个枚举类型enum weekday,则可以用此类型来定义变量。例如:
也可以直接定义枚举变量,例如:
其中sun、mon、…、sat称为 枚举元素 或 枚举常量 。
说明:
1、在C编译中,对枚举元素按常量处理,故称为 枚举常量 。它们不是变量,不能进行赋值。例如 sun = 7; mon = 1; 是错误的。
2、枚举元素作为常量,是有值的。C语言编译按定义时的顺序使它们的值为0、1、2……也可以在定义时,指定枚举元素的值,例如:
3、枚举值可以用来作判断比较。例如:
4、一个证书不能直接赋值给一个枚举变量。例如 workday=1; 是错误的。缺辩它们属于不陆消同的类型。应该先进性强制类型转换,然后才能赋值。例如:
相当于将序号为2的枚举元素赋值给workday,相当于
c语言中的枚举型什么意思
枚举型是四种基本数据类型之一。常量、字符型、布尔型可以用来表达数,字符,真假的描述。
枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
枚举可以根据厅袭Integer、Long、Short或Byte中的任意扮烂兄一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使历虚代码更加清晰,因为它可以描述特定的值。
扩展资料
注意事项:
1、赋值运算 COLOR:=RED ;注意类型一致不能出界;
2、关系运算 IF
3、输入 枚举变量的值只能用赋值语句获得,不要用READ语句;
4、输出 不能直接用WRITE语句直接输出枚举元素,系统会认为它是一个
5、未定义的变量名;必须赋给一个枚举变量,然后输出给变量的值;
参考资料来源:百度百科-枚举
c语言enum是什么意思
enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。
C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。
例如,一个星期内只有七天,一年只有十二个月,一知枣个班每周有六门课程等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。
扩展资料
c语言enum的定义
publicenumPersonnel{
小明,小红,小蓝;
}
//扩展一下
publicenumPersonnel{
小明("男",21,86),
小红("女",22,55),
小蓝("男",23,73);
privateStringsex;
privateintage;
privateintresult;
}
//在扩展一下重写小红的isPass方法重写下toString并带上构造getset不贴了
publicenumPersonnel{
小明搭租拆("男",21,86),
小型雀红("女",22,55){
@Override
publicbooleanisPass(){
returnfalse;
}
},
小蓝("男",23,73);
privateStringsex;
privateintage;
privateintresult;
/*构造*/
privatePersonnel(Stringsex,intage,intresult){
this.sex=sex;
this.age=age;
this.result=result;
}
@Override
publicStringtoString(){
returnthis.name()+"性别:"+this.getSex()+"年龄:"+this.getAge()+"成绩为:"+this.getResult();
}
}
参考资料来源:百度百科—ENUM
[img]C语言枚举类型怎么用?
typedef只是给枚举类型起个别名,在图中代码根本没用处。
你图中的代码,是直接使用了枚举成员,枚举成员就是常量,直接使用常量没问题。
枚举型是集合,集合中的元素(枚举成员)是一些命名的整型常量,相当于多个#define语句(只不过枚举成则帆员对应的数值兄盯则可自增)
这个成员常量不同于结构成员变羡棚量名,是唯一的,你可以试试再定义一个枚举类型比如:
typedef enum
{
Monday=0,
Tuesday
}WeekTypedef2;
这样会报错,因为你之前定义的枚举类型中已经有同名成员了。换个名字就可以了,比如:
typedef enum
{
Monday2=0,
Tuesday2
}WeekTypedef2;
c语言枚举用法
一、对枚举型的变量赋值。
实例将枚举类型的赋值与基本数据类型的赋值进行了对比:
方法1:先声明变量,再对变量赋值
#includestdio.h
/* 定义枚举类型 */
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };
void main()
{
/* 使用基本数据类型声明变量,然后对变量赋值 */
int x, y, z;
x = 10;
y = 20;
z = 30;
/* 使用枚举类型声明变量,再对枚举型变量赋值 */
enum DAY yesterday, today, tomorrow;
yesterday = MON;
today = TUE;
tomorrow = WED;
耐谈散 printf("%d %d %d \n", yesterday, today, tomorrow);
}
方法2:声明变量的同时赋初值
#include stdio.h
/* 定义枚举类型 */
enum DAY { MON=1, TUE, WED, THU, FRI, 昌氏SAT, SUN };
void main()
{
/* 使用基本数据类型声明变量同时对变量赋初值 */
int x=10, y=20, z=30;
/* 使用枚举类型声明变量同时对枚举型变量赋初值 */
enum DAY yesterday = MON,
today = TUE,
tomorrow = WED;
printf("%d %d %d \n", yesterday, today, tomorrow);
}
方法3:定义类型的同时声明变量,然后对变量赋值。
#include stdio.h
/* 定义枚举类型,同时声明该类型的三个变量,它们都为全局变量 */
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN } yesterday, 侍唤today, tomorrow;
/* 定义三个具有基本数据类型的变量,它们都为全局变量 */
int x, y, z;
void main()
{
/* 对基本数据类型的变量赋值 */
x = 10; y = 20; z = 30;
/* 对枚举型的变量赋值 */
yesterday = MON;
today = TUE;
tomorrow = WED;
printf("%d %d %d \n", x, y, z); //输出:10 20 30
printf("%d %d %d \n", yesterday, today, tomorrow); //输出:1 2 3
}
方法4:类型定义,变量声明,赋初值同时进行。
#include stdio.h
/* 定义枚举类型,同时声明该类型的三个变量,并赋初值。它们都为全局变量 */
enum DAY
{
MON=1,
TUE,
WED,
THU,
FRI,
SAT,
SUN
}
yesterday = MON, today = TUE, tomorrow = WED;
/* 定义三个具有基本数据类型的变量,并赋初值。它们都为全局变量 */
int x = 10, y = 20, z = 30;
void main()
{
printf("%d %d %d \n", x, y, z); //输出:10 20 30
printf("%d %d %d \n", yesterday, today, tomorrow); //输出:1 2 3
}
2、对枚举型的变量赋整数值时,需要进行类型转换。
#include stdio.h
enum DAY { MON=1, TUE, WED, THU, FRI, SAT, SUN };
void main()
{
enum DAY yesterday, today, tomorrow;
yesterday = TUE;
today = (enum DAY) (yesterday + 1); //类型转换
tomorrow = (enum DAY) 30; //类型转换
//tomorrow = 3; //错误
printf("%d %d %d \n", yesterday, today, tomorrow); //输出:2 3 30
}
3、使用枚举型变量
#includestdio.h
enum
{
BELL = '\a',
BACKSPACE = '\b',
HTAB = '\t',
RETURN = '\r',
NEWLINE = '\n',
VTAB = '\v',
SPACE = ' '
};
enum BOOLEAN { FALSE = 0, TRUE } match_flag;
void main()
{
int index = 0;
int count_of_letter = 0;
int count_of_space = 0;
char str[] = "I'm Ely efod";
match_flag = FALSE;
for(; str[index] != '\0'; index++)
if( SPACE != str[index] )
count_of_letter++;
else
{
match_flag = (enum BOOLEAN) 1;
count_of_space++;
}
printf("%s %d times %c", match_flag ? "match" : "not match", count_of_space, NEWLINE);
printf("count of letters: %d %c%c", count_of_letter, NEWLINE, RETURN);
}
关于c++枚举和c++枚举类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。