最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

枚舉類型的定義和應用總結(jié)

 更新時間:2013年10月16日 09:13:18   作者:  
如果一種變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉類型”是將變量的值一一列舉出來,變量的值只能在列舉出來的值的范圍內(nèi)

定義:
如果一種變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉類型”是將變量的值一一列舉出來,變量的值只能在列舉出來的值的范圍內(nèi)。

聲明:
聲明枚舉類型用enum開頭,例如:

復制代碼 代碼如下:

enum weekday{sun,mon,tue,wed,thu,fri,sat};

上面聲明了一個枚舉類型weekday,花括號中的sun,mon,。。。。sat等稱為枚舉元素或枚舉常量。

這些枚舉常量,不會因為我們寫了sun就自動代表著“星期天”,它只是一個符號,究竟用來代表什么含義,完全卻決于程序員自己對它們的處理。


表示這個類型的變量的值只能是以上7個值之一,他們是用戶自己定義的標識符。

在聲明了枚舉類型之后,就可以用它開定義變量。如

復制代碼 代碼如下:

weekday workday,week_end;

這樣,workday和week_end被定義為枚舉類型weekday的變量。

說明:
(1)對枚舉元素按照常量處理,故稱為枚舉常量。它們不是變量,不能對他們賦值。

(2)枚舉元素作為常量,它們是有值的,C++編譯按定義時的順序?qū)λ鼈冑x值為0,1,2,3,......

復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun,mon,tue,wed,thu,fri,sat};
 weekday one;
 one=sun;
 cout<<one;
 cout<<endl;
}



我們也卡一在聲明枚舉類型時,另行指定枚舉元素的值,如
復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
 weekday one,two;
 one=sun;
 two=wed;
 cout<<one<<endl;
 cout<<two<<endl;
 cout<<endl;
}


指定sun為7,mon為1,以后按順序加1,sat為6。

(3)枚舉值可以用來做比較。

枚舉值的比較規(guī)則是按其在聲明枚舉類型時的順序號比較。如果定義時未人為指定,則第一個枚舉元素的值認作0.

復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat};
 weekday one,two;
 one=sun;
 two=wed;
        cout<<(sun>wed?sun:wed);
 cout<<endl;
}



(4)一個整數(shù)不能直接賦給一個枚舉變量,應先進行強制類型轉(zhuǎn)換才能賦值。
復制代碼 代碼如下:

#include<iostream>
using namespace std;
int main(){
 enum weekday{sun,mon,tue,wed,thu,fri,sat};
 weekday one;
 one=weekday(7);
 cout<<one;
 cout<<endl;
}



以上的語句是將序號為2的枚舉元素賦給one。相當于
復制代碼 代碼如下:

 one=sun;

一個例子:
口袋中有紅、黃、藍、白、黑5種顏色的球若干。每次從口袋中任意取出3個球,問得到3中不同顏色的球的可能取法,輸出每種排列的情況。

分析:球的顏色只有5種,每一個球的顏色只能是這5種之一,因此可以用枚舉類型變量來處理。

復制代碼 代碼如下:

/*******
設(shè)某一次取出的顏色為i,j,k。顯然,i,j,k都是以上5中顏色之一,根據(jù)題意,
要求i,j,k三者互不相同??梢杂酶F舉法,對每一種可能分別進行測試,看那一組符合條件
*****/
#include<iostream>
using namespace std;
int main(){
   enum color{red,yellow,blue,white,black};
   color pri;
   int i,j,k,n=0,loop;
   for(i=red;i<=black;i++){
    for(j=red;j<=black;j++)
     if(i!=j){
      for(k=red;k<=black;k++){
       if(k!=i&&k!=j){
        n++;//使n累加,統(tǒng)計可能的抽取情況
        cout<<n<<"\t";
        for(loop=0;loop<3;loop++){//通過循環(huán),輸出該次i,j,k所對應的顏色
         switch(loop){
          case 0:pri=color(i);break;
          case 1:pri=color(j);break;
          case 2:pri=color(k);break;
         }
         switch(pri){
          case red:   cout<<"red\t";break;
          case yellow:cout<<"yellow\t";break;
          case blue:  cout<<"blue\t";break;
          case white: cout<<"white\t";break;
          case black: cout<<"black\t";break;
         }
        }
        cout<<endl;
       }
      }
    }
   }
   cout<<"total:"<<n<<endl;
}

相關(guān)文章

  • C語言大小端模式、判斷大小端、大小端轉(zhuǎn)換方法詳解

    C語言大小端模式、判斷大小端、大小端轉(zhuǎn)換方法詳解

    這篇文章主要介紹了C語言大小端模式、判斷大小端、大小端轉(zhuǎn)換的相關(guān)資料,大端和小端是數(shù)據(jù)在內(nèi)存中的存儲方式,大端模式下高字節(jié)存于低地址,小端模式則相反,大小端問題由數(shù)據(jù)類型多字節(jié)存儲引起,不同選擇形成不同存儲模式,需要的朋友可以參考下
    2024-10-10
  • C++解決業(yè)務(wù)辦理時間問題示例解析

    C++解決業(yè)務(wù)辦理時間問題示例解析

    這篇文章主要為大家介紹了C++解決業(yè)務(wù)辦理時間問題示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • C語言版實現(xiàn)鏈隊列

    C語言版實現(xiàn)鏈隊列

    這篇文章主要為大家詳細介紹了C語言版實現(xiàn)鏈隊列,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • C語言零基礎(chǔ)入門(2)

    C語言零基礎(chǔ)入門(2)

    這篇文章主要為大家詳細介紹了C語言零基礎(chǔ)入門的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言中文件處理全攻略詳解

    C語言中文件處理全攻略詳解

    這篇文章主要為大家詳細介紹了C語言中文件處理的相關(guān)知識,包括創(chuàng)建、寫入、追加操作解析,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2024-01-01
  • C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹詳解

    C語言數(shù)據(jù)結(jié)構(gòu)之二叉樹詳解

    二叉樹(Binary tree)是樹形結(jié)構(gòu)的一個重要類型。許多實際問題抽象出來的數(shù)據(jù)結(jié)構(gòu)往往是二叉樹形式。本文將通過示例詳細講解一下二叉樹,需要的可以參考一下
    2022-03-03
  • 深入了解一下C語言中的柔性數(shù)組

    深入了解一下C語言中的柔性數(shù)組

    柔性數(shù)組是在C99中定義的,即結(jié)構(gòu)體的最后一個元素允許是未知大小的數(shù)組,這就叫柔性數(shù)組。這篇文章將通過簡單的示例為大家介紹一下柔性數(shù)組的使用,感興趣的可以了解一下
    2023-02-02
  • Linux中利用c語言刪除某個目錄下的文件

    Linux中利用c語言刪除某個目錄下的文件

    這篇文章主要給大家介紹了Linux中利用c語言刪除某個目錄下文件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • C/C++實現(xiàn)投骰子游戲

    C/C++實現(xiàn)投骰子游戲

    這篇文章主要為大家詳細介紹了C/C++實現(xiàn)投骰子游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 詳解C語言初階基礎(chǔ)

    詳解C語言初階基礎(chǔ)

    這篇文章主要介紹了C語言中的初階基礎(chǔ),介紹了其相關(guān)概念,具有一定參考價值。需要的朋友可以了解下,希望能夠給你帶來幫助
    2021-11-11

最新評論

宜昌市| 涪陵区| 土默特左旗| 民和| 乐至县| 苍溪县| 高淳县| 札达县| 兴文县| 大厂| 荣成市| 惠州市| 漯河市| 乐清市| 汶上县| 大安市| 河池市| 康保县| 缙云县| 内乡县| 临沂市| 安溪县| 英吉沙县| 休宁县| 沁源县| 全州县| 宿迁市| 新民市| 安塞县| 贵德县| 盐池县| 阿拉尔市| 淅川县| 平谷区| 修文县| 长治县| 湟中县| 衡南县| 合作市| 保靖县| 桃园县|