c語言文法

2022-05-28 19:12:07 字數 2842 閱讀 1905

《程式》 →《外部宣告》|《程式》《外部宣告》

《外部宣告》 →《函式定義》|《宣告》

《函式定義》 → 《型別說明符》《宣告符》《復合語句》

《型別說明符》 →|||

《宣告符》 →《指標直接宣告符》|《直接宣告符》

《指標》 →<'*'>|<' *' 指標》

《直接宣告符》→《識別符號》《直接宣告符 '['']'>《直接宣告符 '[' 常量表示式']'>|《識別符號 (引數列表)>|《識別符號 '(' ')'>|《直接宣告符 ',' 識別符號列表》

《識別符號列表》<: 識別符號》|《識別符號列表','識別符號》

《常數表示式》 →《條件表示式》

《引數列表》 →《引數宣告》|《引數列表 ',' 引數宣告》

《引數宣告》 →《宣告說明符》《識別符號》

《復合語句》 →<''>|<' '>|<' '>

《宣告列表》 →《宣告》|《宣告列表》《宣告》

《宣告》 →《初始化宣告符》|《初始化宣告符列表 ',' 初始化宣告符》

《初始化宣告符》 →《宣告符》|《宣告符 '=' 初始值設定項》

《初始值設定項》 →《賦值表示式》|<' '>|<' '>

《初始值設定項列表》 →《初始值設定項》|《初始值設定項列表 ',' 初始值設定項》

《語句列表》 →《宣告》|《語句列表》

《語句》 →|《復合語句》|《表示式語句》|《選擇語句》|《迭代語句》|《跳轉語句》

《表示式語句》 →<';'>|《表示式 ';'>

《選擇語句》<: if '(' 表示式')' 語句》|《迭代語句》 →《跳轉語句》|《繼續 ';'>|《打破;>《返回 ';'>|《返回表示式 ';'>

《表示式》<: 賦值表示式》|《表示式 ',' 賦值表示式》

《賦值表示式》 →《條件表示式》|《一元表示式》《賦值運算子》《賦值表示式》

《條件表示式 >→《邏輯或表示式》|《邏輯或表示式 '? '表達':' 條件表示式》

《邏輯或表示式 >→《邏輯和表達》|《邏輯或邏輯 or 運算表示式和表示式》

《邏輯和表達》: 《包容性或表示式》|《邏輯和具有包容性和 op 表示式》

《包容性或表達》 →《異或表示式》《包容性或表示式 ' |' 異或表示式》

《異或表示式》: 《與表示式》|《異或表示式 ' ^' 和表示式》

《和表示式》: 《相等表示式》|《和表示式 '&' 相等表示式》

《相等表示式》: 《關係表示式》|《相等表示式情商 op 關係表示式》|《相等表示式 ne op 關係表示式》

《關係表示式》: 《轉移表示式》|《關係表示式 ' <' 轉移表示式》|《關係表示式 ' >' 轉移表示式》|《關係表示式le op 轉變表示式》|《關係表示式 ge op 轉變表示式》

《轉變表示式》: 《加法表示式》|《轉變表示式 left op 加法表示式》|《轉變表示式 right op 加法表示式》

《加法表示式》: 《乘法表示式》|《加法表示式 '+' 乘法表示式》|《加法表示式 '-' 乘法表示式》

《乘法表示式》: 《表示式轉換》|《乘法表示式 ' *' 表示式轉換》|《乘法表示式 '/' 強制轉換表示式》|《乘法表示式 '%' 強制轉換表示式》

《強制轉換表示式》: 《一元表示式》|<'(' 鍵入名稱')' 強制轉換表示式》

《一元表示式》: 《字尾表示式》|

《字尾表示式》 →: 《主要表示式》|《字尾表示式 '[' 表達']'>|《字尾表示式 '(' ')'>|《字尾表示式 '(' 引數表示式列表')'>|《字尾表示式 '.'識別符號》|《字尾表示式 ptr op 識別符號》|《字尾表示式 inc op>|《字尾表示式 dec op>

《主要表示式》 →《識別符號》|《恆定》|《字串型》|<' (' 表示式 ')'>

《引數表示式列表》: 《賦值表示式》|《引數表示式列表 ',' 賦值表示式》

《一元運算子》: <'&'>|<'*'>|<'+'>|<'-'>|<'~'>|<'!'>

《賦值運算子》 → <'='>|《儲存類說明符》 → 《定義型別》|《外來的》|《靜態》|《自動》

《結構或聯合的說明符》: 《結構或聯合識別符號' '>|《結構或聯合 ' '>|《結構或聯合的識別符號》

《結構或聯合》:< 結構》|《聯合》

《結構宣告列表》: 《結構宣告》|《結構宣告列表結構宣告》

《結構宣告》: 《說明符限定符列表結構宣告符列表 ';'>

《說明符限定符列表》 →《型別說明符說明符限定符列表中》|《型別說明符》|《型別限定符說明符限定符列表中》|《型別限定符》

《結構宣告符列表 >→《結構宣告符》|《結構宣告符列表 ',' 結構宣告符》

《結構宣告符》 →: 《宣告符》|<':' 常量表示式|宣告符 ':' 常量表示式》

→《列舉 ' '>|→《列舉數》|《列舉數列表 ',' 列舉器》

《列舉數 >→《識別符號》|《識別符號 '=' 常量表示式》

《型別限定符》 →《常量》|《變數》

《型別限定符列表》 →《型別限定符》|《型別限定符列表型別限定符》

《引數型別列表》 →《引數列表》|《引數列表 ',' 省略號》

《引數列表》 →<: 引數宣告》|《引數列表 ',' 引數宣告》

《型別名稱 >→《說明符限定符列表中》|《說明符限定符列表抽象宣告符》

《抽象的宣告符》 →《指標》|《直接的抽象宣告符》|《指標直接抽象宣告符》

《直接的抽象宣告符 >→ <' (' 抽象宣告符 ')'>|<'[' ']'>|<'[' 常量表示式']'>|《直接抽象宣告符 '['']'> |《直接抽象宣告符 '[' 常量表示式']'>|<'(' ')'>|<' (' 引數型別列表 ')'> |《直接的抽象宣告符 '(' ')'>|《直接抽象宣告符 '(' 引數型別列表')'>

《標記的語句 >→《識別符號 ':' 宣告》|

C語言文法

翻譯單位 函式的定義 類的定義 儲存類說明符 自動 儲存說明符auto register static extern說明的四種儲存型別,四種儲存類別說明符有兩種儲存期 自動儲存期和靜態儲存期 register static extern typedef void 型別說明符 char short i...

c語言文法

程式 宣告 函式 宣告 標頭檔案 巨集定義 宣告 函式宣告 標頭檔案 include stdio.h 標頭檔案 include stdlio.h 巨集定義 include stdlio.h 函式宣告 include stdlio.h 巨集定義 define 字串 字串 define 字串 字串 巨集...

C語言文法

c語言文法 源程式 外部宣告 子程式 外部宣告 外部宣告 函式定義 函式宣告 函式定義 型別識別符號 復合句 識別符號型別 無型別 字元型 整型 浮點型 整型 長整型 短整型 無符號整型 宣告 指標直接宣告 直接宣告 指標 指標 直接宣告 識別符號 直接宣告 直接宣告 常量表示式 識別符號 引數列表...