當前位置:首頁 » 編程語言 » c語言枚舉類型
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言枚舉類型

發布時間: 2022-01-20 12:31:18

『壹』 c語言中 ,枚舉類型enum 的枚舉值,可以是什麼類型的值 一定是 int型嗎

枚舉聲明可以顯式地聲明 byte、sbyte、short、ushort、int、uint、long 或 ulong 類型作為對應的基礎類型。沒有顯式地聲明基礎類型的枚舉聲明意味著所對應的基礎類型是 int

『貳』 C語言枚舉類型怎麼用

枚舉類型定義時,定義的是可以枚舉的常量,常量符號的值在定義枚舉時已經初始化完成。
有沒有枚舉變數都不影響已經存在的可枚舉常量,
定義枚舉變數將來也是要賦值某一枚舉常量的。

比如:
WeekTypedef day=Monday;

『叄』 c語言枚舉用法

一、對枚舉型的變數賦值。

實例將枚舉類型的賦值與基本數據類型的賦值進行了對比:


方法1:先聲明變數,再對變數賦值

#include<stdio.h>
/*定義枚舉類型*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
/*使用基本數據類型聲明變數,然後對變數賦值*/
intx,y,z;
x=10;
y=20;
z=30;
/*使用枚舉類型聲明變數,再對枚舉型變數賦值*/
enumDAYyesterday,today,tomorrow;
yesterday=MON;
today=TUE;
tomorrow=WED;
printf("%d%d%d ",yesterday,today,tomorrow);
}


方法2:聲明變數的同時賦初值


#include<stdio.h>
/*定義枚舉類型*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
/*使用基本數據類型聲明變數同時對變數賦初值*/
intx=10,y=20,z=30;
/*使用枚舉類型聲明變數同時對枚舉型變數賦初值*/
enumDAYyesterday=MON,
today=TUE,
tomorrow=WED;
printf("%d%d%d ",yesterday,today,tomorrow);
}

方法3:定義類型的同時聲明變數,然後對變數賦值。

#include<stdio.h>
/*定義枚舉類型,同時聲明該類型的三個變數,它們都為全局變數*/
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN}yesterday,today,tomorrow;
/*定義三個具有基本數據類型的變數,它們都為全局變數*/
intx,y,z;
voidmain()
{
/*對基本數據類型的變數賦值*/
x=10;y=20;z=30;
/*對枚舉型的變數賦值*/
yesterday=MON;
today=TUE;
tomorrow=WED;
printf("%d%d%d ",x,y,z);//輸出:102030
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:123
}

方法4:類型定義,變數聲明,賦初值同時進行。

#include<stdio.h>
/*定義枚舉類型,同時聲明該類型的三個變數,並賦初值。它們都為全局變數*/
enumDAY
{
MON=1,
TUE,
WED,
THU,
FRI,
SAT,
SUN
}
yesterday=MON,today=TUE,tomorrow=WED;
/*定義三個具有基本數據類型的變數,並賦初值。它們都為全局變數*/
intx=10,y=20,z=30;
voidmain()
{
printf("%d%d%d ",x,y,z);//輸出:102030
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:123
}

2、對枚舉型的變數賦整數值時,需要進行類型轉換。

#include<stdio.h>
enumDAY{MON=1,TUE,WED,THU,FRI,SAT,SUN};
voidmain()
{
enumDAYyesterday,today,tomorrow;
yesterday=TUE;
today=(enumDAY)(yesterday+1);//類型轉換
tomorrow=(enumDAY)30;//類型轉換
//tomorrow=3;//錯誤
printf("%d%d%d ",yesterday,today,tomorrow);//輸出:2330
}

3、使用枚舉型變數

#include<stdio.h>
enum
{
BELL='a',
BACKSPACE='',
HTAB=' ',
RETURN=' ',
NEWLINE=' ',
VTAB='v',
SPACE=''
};
enumBOOLEAN{FALSE=0,TRUE}match_flag;
voidmain()
{
intindex=0;
intcount_of_letter=0;
intcount_of_space=0;
charstr[]="I'mElyefod";
match_flag=FALSE;
for(;str[index]!='';index++)
if(SPACE!=str[index])
count_of_letter++;
else
{
match_flag=(enumBOOLEAN)1;
count_of_space++;
}
printf("%s%dtimes%c",match_flag?"match":"notmatch",count_of_space,NEWLINE);
printf("countofletters:%d%c%c",count_of_letter,NEWLINE,RETURN);
}

『肆』 C語言中的枚舉類型有什麼用么

枚舉類型就相當於助記符,幫助程序員記憶的。
比如現在要畫一張地圖,用到紅黃藍綠四種顏色。為了存儲方便,我們規定0=紅,1=黃,2=藍,3=綠。但是當編程到某一階段時,程序員可能忘記了哪個數字具體對應哪種顏色,或者忘記了到底有多少個數字,這時他就要去查表,這樣會耽誤時間。此時就可以定義一個枚舉類型enum color{Red,Yellow,Blue,Green},這樣系統就會自動將0、1、2、3和這個枚舉類型中的每個元素一一對應起來,程序員只需要記住"Red"、"Green"等單詞即可,而且不會出現「4」之類的定義之外的數字。
但枚舉類型使用起來也有很多限制,它是一種單獨的數據類型,因此不能簡單像數組那樣操作,而且經常要用到類型轉換,操作起來反而不方便。實際編程中很少使用。

『伍』 c語言中枚舉

你好!!!
枚舉類型就是一種共同佔有一段內存的數據類型,其成員的類型默認是int類型
即J,H,G只佔一個int類型的空間大小;都是int 在c++中int佔4個位元組,

『陸』 c語言枚舉類型

答案是5沒錯啊。
賦值mon=3

後續依次加一。
於是tue=4
wed=5

賦值workday=wed也就是5. 輸出自然是5.

『柒』 c語言的枚舉類型

enum類型定義,沒有設定第一個標簽的值,則默認為0,此後每個標簽的值都是上一個的值+1。
自然,my=0
your顯示賦值了,your=4
his沒顯示賦值,his=you+1=4+1=5
her顯示賦值了,her=his+10=5+10=15

0 4 5 15

『捌』 c語言中的枚舉型什麼意思

給出正確代碼,自己做對比。#include<stdio.h>#define
m
100void
arrout(int
*,int);int
arrin(int
*);void
main()
//------->此處主函數類型為void{
int
s[m],k;
k=arrin(s);
arrout(s,k);}int
arrin(int
*a){
int
i,x;
i=0;
scanf("%d",&x);
while(x>0)
{
*(a+i)=x;
i++;
scanf("%d",&x);
}
return
i;}void
arrout(int
*a,int
n){
int
i;
for(i=0;i<n;i++)
{
printf(((i+1)%5==0)?
"%4d\n"
:
"%4d",*(a+i));
//----->三目運算格式錯誤,中間是冒號,少了個括弧自己對比
printf("\n");
}}