常數
常數是在等號(=)右邊,指派變數的值。
語法
類型 變數 = 常數;
常數在程式執行時是固定不變,不可以再變更。
常數的資料型態,分為以下:
- 整數常數
- 浮點數常數
- 字元常數
- 字串常數
- enum列舉
整數
十進位 二進位 八進位 十六進位
二進位0b開頭。
八進位0開頭。
十六進位0x或0X開頭。
十進位前面沒有任何東西。
1
2
3
4
5
6
7
8
9
10
11
12
// 10進位
int i10 = 5678;
cout << "i1 = " << i10 << endl;
// 2進位
int i2 = 0b0001;
cout << "i2 = " << i2 << endl;
// 8進位
int i8 = 010;
cout << "i8 = " << i8 << endl;
// 16進位
int i16 = 0x10;
cout << "i16 = " << i16 << endl;
i1 = 5678
i2 = 1
i8 = 8
i16 = 16
unsigned無符號常數
字尾加上u或U,就是unsigned。
1
2
unsigned int ui1 = 4294967295u;
cout << "ui1 = " << ui1 << endl;
ui1 = 4294967295
如果字尾沒加上u,視為整數常數,進行自動轉型成unsigned int。
1
unsigned int ui1 = 4294967295;
long常數
字尾加上l或L,就是長整數。
1
long iL1 = 10L;
long long常數
字尾加上ll或LL。
1
long long iLL1 = 10LL;
unsigned long常數
字尾加上ul或UL。
1
unsigned long iUL1 = 10UL;
表格
整數常數 | 字尾 | 整數型態 |
123 | 沒有 | 整數 |
123u | u或U | 無符號unsigned int |
123l | l或L | 長整數long |
123ll | ll或LL | long long |
123ul | ul或UL | 無符號長整數unsigned long |
123ull | ull或ULL | unsigned long long |
字元常數
字元常數以''符號包住字元。
1
char c = 'A';
跳脫字元也是字元常數
1
char c = '\t';
字串常數
1
2
char str[] = "Hello World!";
cout << str << endl;
Hello World!
字串斷行
若字串太長,可使用\
來斷行,執行結果跟上面的程式碼一樣。
1
2
3
char str[] = "Hello \
World!";
cout << str << endl;
Hello World!
constant
在main()主程式以前,設定constant類型、常數名與值,後面(尾部)有分號;
。
語法
constant 類型 常數名 = 值;
int main() {
return 0;
}
1
2
3
4
5
const double PI = 3.14159;
int main() {
cout << PI << endl;
return 0;
}
無法修改constant
以下程式碼會編譯錯誤,常數不可再被修改。
1
2
3
4
5
6
const double PI = 3.14159;
int main() {
PI = 2.55;
cout << PI << endl;
return 0;
}
無法重覆宣告constant
以下程式碼會編譯錯誤,常數不可重覆宣告。
1
2
3
4
5
6
const double PI = 3.14159;
const double PI = 1.666;
int main() {
cout << PI << endl;
return 0;
}