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都是錯誤的。
②只能把枚舉值賦予枚舉變量,不能把元素的數值直接賦予枚舉變量。