標籤:乘法 邏輯 聲明 數列 賦值運算 初始化 函數定義 強制轉換 字串
<來源程式> → <外部聲明> | <來源程式> <外部聲明>
<外部聲明> → <函數定義> | <定義>
<函數定義> → <類型標識符> <聲明部分語句>
<標識符類型> → <無類型> | <字元> | <整型> | <浮點型>
<聲明> → <指標直接聲明> | <直接聲明>
<直接聲明> → <標識符> | <直接聲明[ ]> | <直接聲明[常量運算式]> | <標識符(參數列表)> | <標識符()> | <直接聲明 , 標識符列表>
<標識符列表> → <標識符> | <標識符列表 ,標識符>
<常數運算式> → <條件運算式>
<參數列表> → <參數聲明> | <參數列表 ,參數聲明>
<參數聲明> → <說明符聲明><標識符>
<複合陳述式> → <{ }> | <{ 語句列表 }> | <{ <聲明列表> <語句列表> }>
<聲明列表> → <聲明> | <聲明列表> <聲明>
<聲明> → <初始化聲明> | <初始化聲明列表 ,初始化聲明>
<初始化聲明> → <聲明> | <聲明=初始化程式>
<初始化程式> → <運算式> | <{初始化程式列表}> | <{初始化程式列表 , }>
<初始化程式列表> → <初始化程式> | <初始化程式列表 , 初始化程式>
<語句列表> → <語句> | <語句列表> <語句>
<語句> → <語句>| <複合陳述式> | <運算式語句> | <選擇語句> | <迴圈語句> |<跳躍陳述式>
<運算式語句> → <運算式;>
<選擇語句> → < IF(運算式)語句> | < IF(運算式)語句 > < ELSE 語句>
<迴圈語句> → < WHILE(運算式)語句> | < FOR(運算式語句運算式語句)語句> | < FOR(運算式語句運算式語句運算式)語句>
<運算式> → <賦值運算式> | <運算式, 賦值運算式>
<賦值運算式> → <條件運算式> | <一元運算式> <賦值操作符> <賦值運算式>
<條件運算式> → <邏輯‘或’運算式> | <邏輯‘或’運算式?> <運算式→> <條件運算式>
<邏輯‘或’運算式> → <邏輯‘與’運算式> | <邏輯‘或’運算式> <‘或’運算> <邏輯‘與’運算式>
<邏輯‘與’運算式> → <邏輯‘或’運算式> | <邏輯‘與’運算式> <‘與’運算> <邏輯‘或’運算式>
<或運算運算式> → <異或運算式> | <或運算運算式‘|’ 異或運算式>
<加法運算式> → <乘法運算式> | <加法運算式 + 乘法運算式> | <加法運算式 - 乘法運算式>
<乘法運算式> → <強制轉換運算式> | <乘法運算式 * 強制轉換運算式> | <乘法運算式 / 強制轉換運算式> | <乘法運算式 % 強制轉換運算式>
<基本運算式> → <標識符> | <常量> | <字串> | <(運算式)>
<一元運算子> → <&> | <*> | <+> |<-> | <~> | <!>
< 賦值運算子> → <=> | <乘法賦值> | <除法賦值> | <求餘賦值> | <加法賦值> | <減法賦值> | <左賦值> | <右賦值> | <與賦值> | <異或賦值> | <或賦值>
C語言文法