
- 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++ 檔案處理
- C++ 檔案和流
- C++ 從檔案中讀取
C++ 字元 (char) 資料型別
C++ 中的**字元 (char) 資料型別**代表字母數字值,可以是各種各樣的字元。這些字元可能包括字母,如 'a'、'b' 和 'c',數字,如 '1'、'2' 和 '3',符號,如 '#'、'$' 和 '&',以及更多。
**字元資料型別**佔用 1 位元組(即 8 位)的記憶體空間來儲存字元。在 C++ 中,關鍵字“**char**”用於宣告字元變數。
在本教程中,我們將進一步探討字元資料型別及其對應的變數。
使用字元 (char) 資料型別
以下是字元 (char) 資料型別的一些用途:-
- 當我們只需要儲存單個字元並且不需要 字串 的開銷時,使用**char** 資料型別。
- **char** 資料型別也可以以原始形式用作陣列,而無需使用字串字面量。
- 在 ASCII 形式中,**char** 資料型別可以用來表示數值,反之亦然。
char 資料型別的取值
C++ 中的字元 (char) 資料型別可以有多個值,這些值如下:-
- 大寫字母,如 A、B、Z 等。
- 小寫字母,如 a、b、z 等。
- 符號,如 $、%、& 等。
- 轉義序列,這將在本文後面討論。
建立字元 (char) 變數
我們可以使用“char”關鍵字後跟變數名來宣告字元變數。
語法
使用以下語法建立 char 型別變數:-
char variable_name = [value];
這裡,[value] 是可選的,可以在宣告時用於賦值。
示例
在下面的示例中,我們聲明瞭一個 char 變數,併為其賦值。
// C++ program to demonstrate // Character data type #include <iostream> using namespace std; int main(){ char ch; return 0; }
字元 (char) 資料型別的示例
以下示例顯示了不同字元資料型別的用法:-
// C++ program to demonstrate // Character data type #include <iostream> using namespace std; int main() { char ch,ch1,ch2; ch='a'; //this is an alphabet ch1='&'; //this is a symbol ch2='1'; //this is a number cout<<ch<<endl<<ch1<<endl<<ch2<<endl; return 0; }
輸出
a & 1
字元的 ASCII 值
ASCII 代表“美國資訊交換標準程式碼”。它是分配給不同字元和符號的第一組編碼值。現代計算機、HTML 和網際網路中使用的字元集都基於 ASCII。
ASCII 表描述了所有字元型別的數值,這些值可用於宣告字元,而無需顯式使用字元本身。它包含數字 0-9、A 到 Z 的大小寫英文字母以及一些特殊字元。
以下資料提供了 C++ 中所有可用字元的 ASCII 值的參考:-
ASCII Range of 'a' to 'z' = 97-122 ASCII Range of 'A' to 'Z' = 65-90 ASCII Range of '0' to '9' = 48-57
顯示 ASCII 宣告的示例
以下示例顯示了使用者如何使用 ASCII 值宣告字元變數,而無需顯式使用字元本身:-
#include <iostream> using namespace std; int main() { char ch,ch1,ch2; ch=65; //this is an alphabet ch1=45; //this is a symbol ch2=55; //this is a number cout<<ch<<endl<<ch1<<endl<<ch2<<endl; return 0; }
輸出
A - 7
字元變數的隱式轉換
可以使用 ASCII 參考將字元變數隱式轉換為其整數值,反之亦然。因此,當我們在 C++ 中宣告一個字元時,我們可以引用其 ASCII 值,而 ASCII 數值也可以用於訪問其字元值。這是透過資料型別的隱式轉換或型別轉換來完成的。
我們可以新增我們需要將給定變數轉換為的資料型別的關鍵字,編譯器會自動更改資料型別。例如,如果我們寫 char(97),它將載入 ASCII 數字 97 的字元值,即 'a'。對於將字元資料型別轉換為整數(ASCII)值,這同樣適用。
以下示例清楚地說明了這一點:-
示例
以下示例顯示了 char 到 int 以及 int 到 char 的隱式型別轉換:-
#include <iostream> using namespace std; int main() { char c = '$'; int a = 97; cout << "The Corresponding ASCII value of '$' : "; cout << int(c) << endl; cout << "The Corresponding character value of 97 : "; cout << char(a) << endl; return 0; }
輸出
The Corresponding ASCII value of '$' : 36 The Corresponding character value of 97 : a
C++ 中的轉義序列
以反斜槓 (“\”) 開頭的字元變數稱為轉義序列。它們決定了編譯器輸出視窗上的輸出序列。在這種情況下,反斜槓也稱為“跳脫字元”。
下表顯示了 C++ 中可用的不同型別的轉義序列:-
序號 | 轉義序列 | 字元 |
---|---|---|
1. | \n | 換行 |
2. | \\ | 反斜槓 |
3. | \t | 水平製表符 |
4. | \v | 垂直製表符 |
5. | \0 | 空字元 |
以下示例程式碼清楚地說明了轉義序列的用法:-
示例 1
#include <iostream> using namespace std; int main() { char a = 'H'; char b = 'E'; char c = 'Y'; char d = '\n'; //enter new line char e = '\t'; //tab to enter space cout << a << b << c << d << a << b << c << e << a << b << c; return 0; }
輸出
HEY HEYHEY HEY HEY
跳脫字元還可以用於將特殊字元插入字串中。以下示例清楚地說明了這一點:-
示例 2
#include <iostream> using namespace std; int main() { //string txt = "Hey, where are you "vikas" ? "; //this throws error string txt = "Hey, where are you \"vikas\"? "; cout<<txt<<endl; return 0; }
輸出
Hey, where are you "vikas"?