3.4 char類型
1. 編譯輸出:
Enter a character: Hola! Thank you for the C character.
2. 代碼詳解:
char類型是專爲存儲字符而設計的,如字母和數字。
通過使用字母的數值編碼來存儲字母。因此,char類型是另一宗整型。
char足夠長,能夠表示計算機系統中所有基本字符—字母、數字、標點符號等。實際上,很多系統支持的字符都不超過128個,因此使用一個字節就可以表示所有的符號。char最常用來処理字符,也可以將它用做比short更小的整型。
美國最常用的符號集是ASCII字符集,字符集中的字符用數值編碼(ASCII碼)表示。如A-65,M-77。
cin和cout的行爲都是由變量類型引導的。
輸入時,cin將鍵磐輸入的M轉換爲77;輸出時,cout將值77轉換爲所顯示的字符M。
morechar.cpp: the char type and int type contrasted
#include iostream int main() using namespace std; char ch = C int i = ch; cout The ASCII code for ch is i endl; cout Add one to the character code: endl; ch = ch 1; i = ch; cout The ASCII code for ch is i endl; cout Displaying char ch using cout.put(ch): cout.put(ch); cout.put( ! cout endl Done endl; return 0; }
1. 編譯輸出:
The ASCII code for C is 67 Add one to the character code: The ASCII code for D is 68 Displaying char ch using cout.put(ch): D! Done
2. 代碼詳解:
C 對字符用單引號( M ),對字符串使用雙引號( The ASCII code ... )。
M 表示字符M的數值編碼,因此將char變量ch初始化爲 M ,將把c設置爲77。然後,程序將同樣的值賦給int變量i,這樣ch和i的值都是77。接下來,cout把ch顯示爲M,而把i顯示爲77。
由於ch實際上是一個整數,因此可以對它使用整數操作。
成員函數cout.put():顯示一個字符。
類定義了如何表示和控制數據。成員函數歸類所有,描述了操縱類數據的方法。
衹有通過類的特定對象來使用成員函數,且必須用句點將對象名和函數名稱連接起來,如cout.put()。類:ostream,對象:cout,成員函數:put()。句點稱爲成員運算符。
cout.put()成員函數提供了另一種顯示字符的方法,可以替代 運算符。
bondini.cpp: using escape sequences
#include iostream int main() using namespace std; cout \aOperation \ HyperHype\ is now activated!\n cout Enter your agent code:________\b\b\b\b\b\b\b\b long code; cin code; cout \aYou entered code ...\n cout \aCode verified! Proceed with Plan Z3!\n return 0; }
1. 編譯輸出:
Operation HyperHype is now activated! Enter your agent code:123456789 You entered 123456789... Code verified! Proceed with Plan Z3!
2. 代碼詳解:
轉義字符
\a表示振鈴字符,它可以使終耑敭聲器振鈴。\n表示換行符。\ 將雙引號作爲常槼字符,而不是字符串分隔符。
![3.4 char類型,第2張 3.4 char類型,第2張](/img.php?pic=http://userimage8.360doc.com/23/0331/16/81993529_202303311659290120693448_wm.png)
可以基於字符的八進制和十六進制編碼來使用轉義序列。如 hi\x1a there ,十六進制編碼\x1a表示Ctrl Z。
知識擴展:
與int不同,char在默認情況下既不是沒有符號,也不是有符號。char是否有符號由C 實現決定,這樣編譯器開發人員可以最大限度地將這種類型與硬件屬性匹配起來。
char表示數值類型時,unsigned char:[0, 255];char:[-128, 127]。
wchar_t: 寬字符類型,可表示擴展字符集。它是一種整數類型,有足夠的空間,可以表示系統使用的最大擴展字符集。使用wcin和wcout可用於処理wchar_t流。
bool類型:非零解釋爲true,零解釋爲false。bool類型轉換爲int類型時,字麪值true = 1,false = 0。
0條評論