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 速查手冊 - 運算子有更詳細的敘述。