語法書 / AA 競程語法書 下冊 / 第八單元 / 本單元重點回顧

本單元重點回顧

  1. 字元的本質是 ASCII 編號:電腦存字元=存編號。可顯示字元佔編號 32 \sim 126,控制字元負責動作(換行、Tab)。

  2. 三大區段,記相對關係'0''9''A''Z''a''z' 各自連續;數字 < 大寫 < 小寫;同字母大小寫差 32。編號本身不用背。

  3. 字元 ↔ 整數靠轉型與相減(int)c 查編號、(char)n 查字元;c - '0' 把數字字元變數值、'0' + d 變回來——讓編譯器查表,你記相對距離。

  4. integer promotion:字元參與運算前先變 int,結果不會自動變回字元——「算出來的字元」要輸出,先 (char)

  5. 兩種讀入cin >> c 跳過空白換行、cin.get(c) 一個都不放過。混用時小心殘留的換行。

  6. cctype 函式家族isdigitisalphaisupper……判斷回傳非零/零,別跟 1 比較;touppertolower 回傳 int

  7. C 字串=字元陣列+'\0' 結尾:長度由 '\0' 決定,跟陣列大小無關。陣列大小永遠比長度上限至少多 1

  8. cin >> s 讀單詞、cout << s 印到 '\0':讀入自動補結尾;整行讀入用 cin.getline

  9. (延伸)cstring 函式庫strlen 算長度(先存變數,別放迴圈條件——長字串會 TLE)、strcpy 複製、strcat 串接、strcmp 比較;目標陣列自己開夠大。

  10. (延伸)字典序:逐格比、第一個不同處定勝負、先結束者小。比較一律 strcmp0 比——== 比的是位址,== 1 是未保證的行為。