
C 速查手冊
1.1 標記
編譯器 (compiler) 利用標記 (token) 解析程式 (program) 的功能, C 語言中的標記有關鍵字 (keyweod) 、識別字 (identifier) 、常數 (constant) 、字串 (string) 、運算子 (operator) 等五類
關鍵字
關鍵字為具有語法功能的保留字,C 語言的關鍵字共有 34 個,如以下列表
| auto | else | long | switch |
| break | enum | register | typedef |
| case | extern | restrict | union |
| char | float | return | unsigned |
| const | for | short | void |
| continue | goto | signed | volatile |
| default | if | sizeof | while |
| do | inline | static | |
| double | int | struct |
請參考 C 速查手冊 - 關鍵字有更詳細的敘述。
識別字
識別字為寫程式時依需求自行定義的名稱,包括變數、陣列、結構、聯合、列舉常數等,皆為使用自行定義的識別字。
C 語言定義識別字可用的符號有底線、大小寫英文字母、數字,如下
| _ | ||||||||||||
| a | b | c | d | e | f | g | h | i | j | k | l | m |
| n | o | p | q | r | s | t | u | v | w | x | y | z |
| A | B | C | D | E | F | G | H | I | J | K | L | M |
| N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
其中,數字不能用作識別字的開頭。
請參考 C 速查手冊 - 識別字有更詳細的敘述。
常數
C 語言的常數可分為整數、字元、浮點數及列舉常數,凡是一連串數字組合皆為整數常數,如
1234
98
223
4
帶有小數點的數字皆為浮點數常數,如
74.52
.36
0.03
2.
字元常數為單引號圍住的 ASCII 符號,如
'5'
'k'
'\n'
'!'
列舉常數為較特別的常數,由識別名稱代替逐項遞增的整數,如
enum weeks {SUN, MON, TUE, WED, THU, FRI, SAT};
enum mood {BAD, GOOD};
enum grade {E, D, C, B, A};
enum months {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC};
請參考 C 速查手冊 - 常數有更詳細的敘述。
字串
字串是用雙引號圍起來的連續字元,也就是 ASCII 符號,如
"Hello, world!"
"Good-bye...\n"
"y"
"%5f%3d\n"
請參考 C 速查手冊 - 字串有更詳細的敘述。
運算子
C 語言提供多樣、功能完整的運算子,依運算子結合後運算的優先次序,如下列表
| 運算子 | 結合規則 |
|---|---|
| () [] -> . | 左到右 |
| ! ~ ++ -- + - * & (type) sizeof | 右到左 |
| * / % | 左到右 |
| + - | 左到右 |
| << >> | 左到右 |
| < <= > >= | 左到右 |
| == != | 左到右 |
| & | 左到右 |
| ^ | 左到右 |
| | | 左到右 |
| && | 左到右 |
| || | 左到右 |
| ?: | 右到左 |
| = += -= /= %= &= | 右到左 |
| ^= |= <<= >>= | 右到左 |
| , | 左到右 |
請參考 C 速查手冊 - 運算子有更詳細的敘述。
