本單元語法速查表
| 語法 | 用途 | 範例 |
|---|---|---|
(int)c |
字元 → ASCII 編號 | (int)'A' 得 65 |
(char)n |
編號 → 字元 | (char)65 得 'A' |
c - '0' |
數字字元 → 數值 | '7' - '0' 得 7 |
'0' + d |
數值 → 數字字元 | '0' + 3 得 '3'(型態是 int,輸出前轉 char) |
c - 'A' |
大寫字母 → 位置(0 起算) | 'C' - 'A' 得 2 |
c + 'a' - 'A' |
大寫 → 小寫 | 'Q' + 'a' - 'A' 得 'q' |
cin >> c |
讀一個非空白字元 | 自動跳過空白換行 |
cin.get(c) |
讀下一個字元(含空白換行) | while (cin.get(c)) 原樣讀入全文 |
isdigit(c)、isalpha(c) 等 |
字元分類 | #include <cctype>;回傳非零/零 |
toupper(c)、tolower(c) |
大小寫轉換 | 回傳 int,輸出前轉 char |
char s[105]; cin >> s; |
讀一個字串(單詞) | 大小 ≥ 長度上限 + 1 |
cin.getline(s, 105) |
讀一整行(含空白) | 讀到換行為止 |
strlen(s) |
(延伸)字串長度 | #include <cstring>;先存變數再用 |
strcpy(t, s)、strcat(t, s) |
(延伸)複製/串接 | 目標陣列要夠大 |
strcmp(s, t) |
(延伸)字典序比較 | 跟 0 比:< 0、== 0、> 0 |
memset(s, c, n) |
(延伸)前 n 位元組填 c | 字元陣列專用;int 陣列只能填 0/−1 |
char g[105][106]; cin >> g[i]; |
二維網格逐列讀入 | 第二維多開一格給 '\0' |