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

c語言枚舉應用

發布時間: 2022-07-18 22:54:26

『壹』 c語言枚舉類型怎麼用

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

比如:
WeekTypedef day=Monday;

『貳』 C語言中枚舉的主要作用是什麼

這個就是為了提供程序的可讀性的,代表的其實就是數字,比如一周有7天,
enum Day
{
Monday,
Tues
……
}
當然,你也可以用1,2,3,5這樣的數字來直接表示,但是可讀性就很差了,別人讀你的代碼就讀不懂了。

『叄』 C語言中的枚舉函數有什麼用呢

如果一個變數只有幾種可能的值,就可以定義為枚舉類型。枚舉 就是將變數的值一一列舉出來,變數的值只限於列舉出來值的范圍。聲名枚舉類型用enum開頭。如enum number{1,2,3};就讓number的值只能是1、2或3,其他是錯誤的。望採納。

『肆』 enum在c語言中怎麼用

11.10 枚舉類型
在實際問題中,有些變數的取值被限定在一個有限的范圍內。例如,一個星期內只有七天,一年只有十二個月,一個班每周有六門課程等等。如果把這些量說明為整型,字元型或其它類型顯然是不妥當的。為此,C語言提供了一種稱為「枚舉」的類型。在「枚舉」類型的定義中列舉出所有可能的取值,被說明為該「枚舉」類型的變數取值不能超過定義的范圍。應該說明的是,枚舉類型是一種基本數據類型,而不是一種構造類型,因為它不能再分解為任何基本類型。
11.10.1 枚舉類型的定義和枚舉變數的說明
1. 枚舉的定義枚舉類型定義的一般形式為:
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;
11.10.2 枚舉類型變數的賦值和使用
枚舉類型在使用中有以下規定:
1. 枚舉值是常量,不是變數。不能在程序中用賦值語句再對它賦值。
例如對枚舉weekday的元素再作以下賦值:
sun=5;
mon=2;
sun=mon;
都是錯誤的。
2. 枚舉元素本身由系統定義了一個表示序號的數值,從0開始順序定義為0,1,2…。如在weekday中,sun值為0,mon值為1,…,sat值為6。
【例11.10】
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);
}

說明:
只能把枚舉值賦予枚舉變數,不能把元素的數值直接賦予枚舉變數。如:
a=sum;
b=mon;
是正確的。而:
a=0;
b=1;
是錯誤的。如一定要把數值賦予枚舉變數,則必須用強制類型轉換。
如:
a=(enum weekday)2;
其意義是將順序號為2的枚舉元素賦予枚舉變數a,相當於:
a=tue;
還應該說明的是枚舉元素不是字元常量也不是字元串常量,使用時不要加單、雙引號。
【例11.11】
main(){
enum body
{ a,b,c,d } month[31],j;
int i;
j=a;
for(i=1;i<=30;i++){
month[i]=j;
j++;
if (j>d) 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");
}

『伍』 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;//判斷小剛是不是高中生

『陸』 enum在c語言中怎麼用

C語言的枚舉類型實質就是整型變數,只不過通過枚舉類型將一類有關聯的標識組合起來,增加程序的可讀性和可維護性

(1) 枚舉型是一個集合,集合中的元素(枚舉成員)是一些命名的整型常量,元素之間用逗號,隔開。
(2) DAY是一個標識符,可以看成這個集合的名字,是一個可選項,即是可有可無的項。
(3) 第一個枚舉成員的默認值為整型的0,後續枚舉成員的值在前一個成員上加1。
(4) 可以人為設定枚舉成員的值,從而自定義某個范圍內的整數。
(5) 枚舉型是預處理指令#define的替代。
(6) 類型定義以分號;結束。

定義枚舉類型
enum YOURENUMTYPE
{
ID1,//如果不額外指定則第一個標識等於整數0,後續依次加1
ID2,
ID3=7,
....
IDn//最後一個標識符後面沒有逗號
};//注意一定要加上這個分號

定義枚舉變數
enum YOURENUMTYPE varname;
給枚舉變數賦值 varname = IDx;

舉個完整的例子
enum FRUIT
{
APPLE,
PEAR,
ORANGE,
PEACH,
GRAPE,
BANANA
};

enmu FRUIT myfruit = PEACH;

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

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

『捌』 C語言中枚舉是怎用的

很簡單的代碼呀,沒涉及到C語言的枚舉,至於具體含義就是程序的演算法了,得仔細認真分析。
可按照如下方法去解:
1、將代碼整理對齊;
2、給各句注釋;
3、對著注釋連貫理解;
如果有分我給你的慢慢分析吧。

『玖』 C語言中的枚舉法

fortran的值為102.
basic,assembly,ada,cobol,fortran分別是什麼意思,不重要。c語言枚舉型,系統只把它們作為用戶自定義變數處理。沒有特殊含義。
在定義枚舉型變數ada的時候給它賦值100,那麼cobol就是101,fortran102。

『拾』 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);
}