
- C程式設計教程
- C - 首頁
- C語言基礎
- C - 概述
- C - 特性
- C - 歷史
- C - 環境設定
- C - 程式結構
- C - Hello World
- C - 編譯過程
- C - 註釋
- C - 令牌
- C - 關鍵字
- C - 識別符號
- C - 使用者輸入
- C - 基本語法
- C - 資料型別
- C - 變數
- C - 整數提升
- C - 型別轉換
- C - 型別強制轉換
- C - 布林值
- C語言中的常量和字面量
- C - 常量
- C - 字面量
- C - 轉義序列
- C - 格式說明符
- C語言中的運算子
- C - 運算子
- C - 算術運算子
- C - 關係運算符
- C - 邏輯運算子
- C - 位運算子
- C - 賦值運算子
- C - 一元運算子
- C - 自增和自減運算子
- C - 三元運算子
- C - sizeof運算子
- C - 運算子優先順序
- C - 其他運算子
- C語言中的決策
- C - 決策
- C - if語句
- C - if...else語句
- C - 巢狀if語句
- C - switch語句
- C - 巢狀switch語句
- C語言中的迴圈
- C - 迴圈
- C - while迴圈
- C - for迴圈
- C - do...while迴圈
- C - 巢狀迴圈
- C - 無限迴圈
- C - break語句
- C - continue語句
- C - goto語句
- C語言中的函式
- C - 函式
- C - 主函式
- C - 按值呼叫函式
- C - 按引用呼叫函式
- C - 巢狀函式
- C - 可變引數函式
- C - 使用者自定義函式
- C - 回撥函式
- C - return語句
- C - 遞迴
- C語言中的作用域規則
- C - 作用域規則
- C - 靜態變數
- C - 全域性變數
- C語言中的陣列
- C - 陣列
- C - 陣列的特性
- C - 多維陣列
- C - 將陣列傳遞給函式
- C - 從函式返回陣列
- C - 變長陣列
- C語言中的指標
- C - 指標
- C - 指標和陣列
- C - 指標的應用
- C - 指標運算
- C - 指標陣列
- C - 指向指標的指標
- C - 將指標傳遞給函式
- C - 從函式返回指標
- C - 函式指標
- C - 指向陣列的指標
- C - 指向結構體的指標
- C - 指標鏈
- C - 指標與陣列
- C - 字元指標和函式
- C - NULL指標
- C - void指標
- C - 懸空指標
- C - 解引用指標
- C - 近、遠和巨大指標
- C - 指標陣列的初始化
- C - 指標與多維陣列
- C語言中的字串
- C - 字串
- C - 字串陣列
- C - 特殊字元
- C語言中的結構體和聯合體
- C - 結構體
- C - 結構體和函式
- C - 結構體陣列
- C - 自引用結構體
- C - 查詢表
- C - 點(.)運算子
- C - 列舉(enum)
- C - 結構體填充和打包
- C - 巢狀結構體
- C - 匿名結構體和聯合體
- C - 聯合體
- C - 位域
- C - typedef
- C語言中的檔案處理
- C - 輸入與輸出
- C - 檔案I/O(檔案處理)
- C預處理器
- C - 預處理器
- C - 編譯指示
- C - 預處理器運算子
- C - 宏
- C - 標頭檔案
- C語言中的記憶體管理
- C - 記憶體管理
- C - 記憶體地址
- C - 儲存類別
- 其他主題
- C - 錯誤處理
- C - 可變引數
- C - 命令執行
- C - 數學函式
- C - static關鍵字
- C - 隨機數生成
- C - 命令列引數
- C程式設計資源
- C - 問答
- C - 快速指南
- C - 備忘單
- C - 有用資源
- C - 討論
C語言中的令牌
令牌指的是計算機語言(例如C語言)原始碼中最小的單元。這個術語借用自語言學理論。就像某種語言(例如英語)中的特定文字包含單詞(字母、數字和標點符號的集合)一樣,編譯器將C程式分解成令牌,然後繼續進行編譯過程的後續階段。
編譯過程的第一階段是詞法分析器。詞法分析器將原始碼分割成單個令牌,識別令牌型別,並將令牌逐個傳遞給編譯器的下一階段。
解析器是編譯的下一階段。它能夠理解語言的語法,識別語法錯誤並將無錯誤的程式翻譯成機器語言。
C原始碼也包含不同型別的令牌。C語言中的令牌型別如下:
- 字元集
- 關鍵字令牌
- 字面量令牌
- 識別符號令牌
- 運算子令牌
- 特殊符號令牌
讓我們討論每種令牌型別。
C字元集
C語言識別一個字元集,其中包含英語字母——大寫字母和小寫字母(A到Z,以及a到z)、數字0到9,以及某些其他具有特殊含義的符號。在C語言中,某些字元組合也具有特殊含義。例如,\n被稱為換行符。這種組合稱為轉義序列。
以下是C語言的字元集:
- 大寫字母:A到Z
- 小寫字母:a到z
- 數字:0到9
- 特殊字元:! " # $ % & ' ( ) * + - . : , ; ` ~ = < > { } [ ] ^ _ \ /
在一對雙引號"和"之間的任何這些字元序列用於表示字串字面量。數字用於表示數字字面量。方括號用於定義陣列。花括號用於標記程式碼塊。反斜槓是跳脫字元。其他字元定義為運算子。
C關鍵字
在C語言中,預定義的字母序列稱為關鍵字。與人類語言相比,程式語言的關鍵字較少。最初,C語言有32個關鍵字,後來在後續的C標準修訂中又增加了一些。所有關鍵字都小寫。每個關鍵字都有其用法規則(在程式設計中稱為語法)。
C編譯器檢查關鍵字是否已根據語法使用,並將原始碼翻譯成目的碼。
C字面量
在計算機程式設計術語中,字面量指的是要直接賦值給變數的值的文字表示,直接硬編碼在原始碼中。
數字字面量包含數字、小數點符號和/或指數字符E或e。
字串字面量是由任何字元序列構成,放在一對雙引號中。字元字面量是單引號內的單個字元。
陣列也可以透過在方括號之間放置以逗號分隔的字面量序列來表示字面量形式。
在C語言中,轉義序列也是一種字面量。兩個或多個字元,第一個字元是反斜槓\字元,放在單引號內構成一個轉義序列。每個轉義序列都有其預定義的含義。
C識別符號
與關鍵字相反,識別符號是程式中使用者定義的元素。您需要透過為它們指定適當的名稱來定義各種程式元素。例如,變數、常量、標籤、使用者定義型別、函式等。
C語言規定了形成識別符號的某些規則。其中一個重要的限制是,保留關鍵字不能用作識別符號。例如,for是C語言中的關鍵字,因此它不能用作識別符號,即變數、函式等的名稱。
C運算子
C是一種計算語言。因此,C程式由執行算術和比較運算的表示式組成。C語言字元集中的特殊符號大多定義為運算子。例如,眾所周知的符號+、−、*和/是C語言中的算術運算子。同樣,<和>用作比較運算子。
C特殊符號
除了定義為運算子的符號之外,其他符號還包括逗號、分號和冒號等標點符號。在C語言中,您會發現它們在不同上下文中使用方式不同。
類似地,圓括號(和)用於算術表示式以及函式定義中。花括號用於標記函式的範圍,條件語句和迴圈語句中的程式碼塊等。