C++一些基本數據結構:字面常量、符號常量、枚舉常量


1、常量:C++包括兩種常量,字面常量和符號常量.

字面常量:指的是直接輸入到程序中的值,比如:in myAge=26; myAge是一個int類型變量,而26是一個字面常量。

符號常量:指的是用名稱表示的常量,就像變量一樣表示,但是一旦初始化,其值就不能改變.

主要指的是:①const定義的常量:const unsigned short int studentPerClass=15;這里的studentPerClass就是一個符號常量

                 ②使用#include定義的常量:#define studentPerClass 15 這里的studentPerClass也是一個符號變量

2、枚舉常量:

枚舉常量可以創建一個新類型,然后定義新的類型變量,將這些變量的取值定義為一組可能值。

定義方法:  enum COLOR {RED,BLUE,GREEN,WHITE,YELLOW};

該語句執行后有兩個變化:a、COLOR成為枚舉的名稱,成為一種新類型

                                  b、如果沒有特殊說明,默認枚舉中標示符的內容為從0開始遞增的整形常數,即RED=0,BLUE=1,GREEN=2,WHITE=3,YELLOW=4

當然也可以自己定義枚舉常量的值:

                  enum COLOR {RED=100,BLUE=200,GREEN=300,WHITE=400,YELLOW=500};

例題:

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
    enum Days {monday,tuesday,wednesday,thursday,friday,saturday,sundy};
    Days d1;
    d1=monday;
//d1=0;,這樣賦值是錯誤的,只能把枚舉值賦予枚舉變量,不能把元素的數值直接賦予枚舉變量。
//如一定要把數值賦予枚舉變量,則必須用強制類型轉換,比如這里:d1=(enum Days)0;其意義是將順序號為0的枚舉元素賦予枚舉變量a,相當於: a=monday; cout
<<d1<<endl; system("PAUSE"); return 0; }

運行程序,最后打印的結果是“0”,而不是“monday”

關於枚舉的幾點說明:

①枚舉值是常量,不是變量。不能在程序中用賦值語句再對它賦值。例如程序中再對枚舉Days的元素再作以下賦值: monday=1; tuesday=10都是錯誤的。

②只能把枚舉值賦予枚舉變量,不能把元素的數值直接賦予枚舉變量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM