
- C++ 基礎
- C++ 首頁
- C++ 概述
- C++ 環境設定
- C++ 基本語法
- C++ 註釋
- C++ Hello World
- C++ 省略名稱空間
- C++ 常量/字面量
- C++ 關鍵字
- C++ 識別符號
- C++ 資料型別
- C++ 數值資料型別
- C++ 字元資料型別
- C++ 布林資料型別
- C++ 變數型別
- C++ 變數作用域
- C++ 多個變數
- C++ 基本輸入/輸出
- C++ 修飾符型別
- C++ 儲存類
- C++ 運算子
- C++ 數字
- C++ 列舉
- C++ 引用
- C++ 日期和時間
- C++ 控制語句
- C++ 決策
- C++ if 語句
- C++ if else 語句
- C++ 巢狀 if 語句
- C++ switch 語句
- C++ 巢狀 switch 語句
- C++ 迴圈型別
- C++ while 迴圈
- C++ for 迴圈
- C++ do while 迴圈
- C++ foreach 迴圈
- C++ 巢狀迴圈
- C++ break 語句
- C++ continue 語句
- C++ goto 語句
- C++ 建構函式
- C++ 建構函式和解構函式
- C++ 複製建構函式
C++ 常量/字面量
常量是指程式不能更改的固定值,它們被稱為字面量。
常量可以是任何基本資料型別,可以分為整數字面量、浮點字面量、字元、字串和布林值。
同樣,常量就像普通的變數一樣,只是它們的值在定義後不能修改。
整數字面量
整數字面量可以是十進位制、八進位制或十六進位制常量。字首指定基數或基:十六進位制為0x或0X,八進位制為0,十進位制則沒有字首。
整數字面量還可以帶字尾,字尾是U和L的組合,分別表示無符號和長整型。字尾可以是大寫或小寫,也可以按任意順序排列。
以下是一些整數字面量的示例:
212 // Legal 215u // Legal 0xFeeL // Legal 078 // Illegal: 8 is not an octal digit 032UU // Illegal: cannot repeat a suffix
以下是各種型別整數字面量的其他示例:
85 // decimal 0213 // octal 0x4b // hexadecimal 30 // int 30u // unsigned int 30l // long 30ul // unsigned long
浮點字面量
浮點字面量包含整數部分、小數點、小數部分和指數部分。您可以使用十進位制形式或指數形式表示浮點字面量。
使用十進位制形式表示時,必須包含小數點、指數或兩者;使用指數形式表示時,必須包含整數部分、小數部分或兩者。帶符號的指數由e或E引入。
以下是一些浮點字面量的示例:
3.14159 // Legal 314159E-5L // Legal 510E // Illegal: incomplete exponent 210f // Illegal: no decimal or exponent .e55 // Illegal: missing integer or fraction
布林字面量
有兩個布林字面量,它們是標準 C++ 關鍵字的一部分:
值為true表示真。
值為false表示假。
你不應該認為 true 的值等於 1,false 的值等於 0。
字元字面量
字元字面量用單引號括起來。如果字面量以 L(僅大寫)開頭,則它是一個寬字元字面量(例如,L'x'),應儲存在wchar_t型別的變數中。否則,它是一個窄字元字面量(例如,'x'),可以儲存在簡單的char型別變數中。
字元字面量可以是普通字元(例如,'x')、轉義序列(例如,'\t')或通用字元(例如,'\u02C0')。
在 C++ 中,某些字元在反斜槓之前具有特殊含義,它們用於表示換行符(\n)或製表符(\t)等。這裡列出了一些這樣的轉義序列程式碼:
轉義序列 | 含義 |
---|---|
\\ | \ 字元 |
\' | ' 字元 |
\" | " 字元 |
\? | ? 字元 |
\a | 警告或鈴聲 |
\b | 退格 |
\f | 換頁 |
\n | 換行 |
\r | 回車 |
\t | 水平製表符 |
\v | 垂直製表符 |
\ooo | 一位到三位八進位制數 |
\xhh . . . | 一位或多位十六進位制數 |
示例
以下示例顯示了一些轉義序列字元:
#include <iostream> using namespace std; int main() { cout << "Hello\tWorld\n\n"; return 0; }
編譯並執行上述程式碼後,將產生以下結果:
Hello World
字串字面量
字串字面量用雙引號括起來。字串包含的字元類似於字元字面量:普通字元、轉義序列和通用字元。
您可以使用字串字面量將長行分成多行,並使用空格分隔它們。
以下是一些字串字面量的示例。這三種形式都是相同的字串。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
定義常量
在 C++ 中,有兩種簡單的方法可以定義常量:
使用#define預處理器。
使用const關鍵字。
#define 預處理器
以下是使用 #define 預處理器定義常量的形式:
#define identifier value
示例
以下示例詳細說明了它:
#include <iostream> using namespace std; #define LENGTH 10 #define WIDTH 5 #define NEWLINE '\n' int main() { int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
編譯並執行上述程式碼後,將產生以下結果:
50
const 關鍵字
您可以使用const字首宣告具有特定型別的常量,如下所示:
const type variable = value;
示例
以下示例詳細說明了它:
#include <iostream> using namespace std; int main() { const int LENGTH = 10; const int WIDTH = 5; const char NEWLINE = '\n'; int area; area = LENGTH * WIDTH; cout << area; cout << NEWLINE; return 0; }
編譯並執行上述程式碼後,將產生以下結果:
50
請注意,良好的程式設計習慣是將常量定義為大寫。