c++枚举(c++枚举类型)

本篇文章给大家谈谈c++枚举,以及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++枚举类型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表