C语言中关于枚举类型

2024-05-03 16:47

1. C语言中关于枚举类型

1.enum 枚举的定义枚举类型定义的一般形式为:
enum 枚举名{ 枚举值表 };在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。例如:该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。2. 枚举变量的说明如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:
enum weekday{ sun,mou,tue,wed,thu,fri,sat };enum weekday a,b,c;或者为:
enum weekday{ sun,mou,tue,wed,thu,fri,sat }a,b,c;或者为:
enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;3、枚举类型变量的赋值和使用枚举类型在使用中有以下规定:a. 枚举值是常量,不是变量。不能在程序中用赋值语句再对它赋值。例如对枚举weekday的元素再作以下赋值:
sun=5;mon=2;sun=mon;都是错误的。b. 枚举元素本身由系统定义了一个表示序号的数值,从0开始顺序定义为0,1,2…。如在weekday中,sun值为0,mon值为1,…,sat值为6。
int main(){enum weekday{ sun,mon,tue,wed,thu,fri,sat } a,b,c;a=sun;b=mon;c=tue;printf("%d,%d,%d",a,b,c);return 0;}说明:只能把枚举值赋予枚举变量,不能把元素的数值直接赋予枚举变量。如:
a=sum;b=mon;是正确的。而:
a=0;b=1;是错误的。如一定要把数值赋予枚举变量,则必须用强制类型转换。如:a=(enum weekday)2;其意义是将顺序号为2的枚举元素赋予枚举变量a,相当于:a=tue;还应该说明的是枚举元素不是字符常量也不是字符串常量,使用时不要加单、双引号。
int main(){enum body{ a,b,c,d } month[31],j;int i;j=a;for(i=1;id) j=a;}for(i=1;i<=30;i++){switch(month[i]){case a:printf(" %2d %c\t",i,'a'); break;case b:printf(" %2d %c\t",i,'b'); break;case c:printf(" %2d %c\t",i,'c'); break;case d:printf(" %2d %c\t",i,'d'); break;default:break;}}printf("\n");return 0;}

C语言中关于枚举类型

2. C语言ENUM这个数组ABCD这个 C语言ENUM这个数组ABCD这个

枚举类型 em1=3
em2=1
em3没有指定值,为上一个值加一,于是 em3=em2+1=2
这样输出的就是a[3]  a[1] a[2]
也就是DBC

3. c语言,用枚举类型的

可以

#include "stdafx.h"
#include 

enum Enum_Struct
{
ENUM_NUM0,
ENUM_NUM1,
ENUM_NUM2,
ENUM_NUM3,
ENUM_NUM4
};

void Func(Enum_Struct *err)
{
if((*err) == ENUM_NUM3)
{
printf("%d\n",ENUM_NUM3);
};
}

void main()
{ 
Enum_Struct obj = ENUM_NUM3;

Func(&obj);
}

c语言,用枚举类型的

4. C语言枚举如何使用? 不要概念性的东西

#include "stdio.h"
void main()
{
	enum {Mon, Tue, Wed, Thr, Fri, Sat, Sun};
	printf("Mon = %d\n", Mon);
	printf("Tue = %d\n", Tue);
	printf("Wed = %d\n", Wed);
	printf("Thr = %d\n", Thr);
	printf("Fri = %d\n", Fri);
	printf("Sat = %d\n", Sat);
	printf("Sun = %d\n", Sun);

	printf("-----------\n");

	//枚举相当于是个常量集,相当于一下操作
    #define MON 0
	#define TUE 1
	#define WED 2
	#define THR 3
	#define FRI 4
	#define SAT 5
	#define SUN 6
	printf("MON = %d\n", MON);
	printf("TUE = %d\n", TUE);
	printf("WED = %d\n", WED);
	printf("THR = %d\n", THR);
	printf("FRI = %d\n", FRI);
	printf("SAT = %d\n", SAT);
	printf("SUN = %d\n", SUN);
}

5. c语言解释一下枚举类型

如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始, 顺
次赋给标识符0, 1, 2, ...。但当枚举中的某个成员赋值后, 其后的成员按依次
加1的规则确定其值。
例如下列枚举说明后, x1, x2, x3, x4的值分别为0, 1, 2, 3。
enum Num{x1, x2, x3, x4}x;
当定义改变成:
enum Num
{
x1,
x2=0,
x3=50,
x4
}x;
则x1=0, x2=0, x3=50, x4=51
注意:
1. 枚举中每个成员(标识符)结束符是",", 不是";", 最后一个成员可省略
","。
2. 初始化时可以赋负数, 以后的标识符仍依次加1。
3. 枚举变量只能取枚举说明结构中的某个标识符常量。
例如:
enum Num
{
x1=5,
x2,
x3,
x4
};
enum Num x=x3;
此时, 枚举变量x实际上是7。

c语言解释一下枚举类型

6. enum在c语言中怎么用 (枚举型)

(3) 第一个枚举成员的默认值为整型的0,后续枚举成员的值在前一个成员上加1。
(4) 可以人为设定枚举成员的值,从而自定义某个范围内的整数。
(5) 枚举型是预处理指令#define的替代。
(6) 类型定义以分号;结束。定义枚举类型
enum YOURENUMTYPE{ID1,//如果不额外指定则第一个标识等于整数0,后续依次加1ID2,
ID3=7,
IDn//最后一个标识符后面没有逗号
};//注意一定要加上这个分号定义枚举变量
enum YOURENUMTYPE varname;
给枚举变量赋值 varname = IDx;举个完整的例子enum FRUIT{APPLE,
PEAR,
ORANGE,
PEACH,
GRAPE,
BANANA};enmu FRUIT myfruit = PEACH;
1举个例子: 学生 类分大学生 高中 初中小学生
你就可以这么做
enum student{colleage,high,middle,junior}
//小明是个大学生
student xiaoming=colleage;//判断小刚是不是高中生

7. C语言枚举类型是什么意思


C语言枚举类型是什么意思

8. c语言,输入abcd,输出一行abcddcba

不要把两个字符串放在一条printf语句中输出,分成两个。先输出a,再输出倒置以后的a。
原因是:
1. 如果放在一起,函数fun改变了数组内存放的字符的顺序,输出的都会是倒置以后的字符串。
2.不能将fun(a),作为参数输出。因为函数fun的返回值并不是倒置以后的字符串,而仅仅是整数1。
所以将那条输出语句可以改换成以下三行代码即可:
printf(a);fun(a)printf("%s\n",a);