標籤:賦值 switch 枚舉 turn tin style 關係 span c語言
<程式>→<外部聲明>|<程式><外部聲明>
<外部聲明>→<函數定義>|<聲明>
<函數定義>→<類型說明><聲明符><符合語句>
<類型說明>→<void>|<char>|<int>|<float>
<聲明符>→<指標直接聲明符>|<直接聲明符>
<指標>→<‘*‘>|< ‘*‘ 指標>
<直接聲明符>→<標識符>|<’[‘ ‘]’>|<[’ 常量運算式’]’>|<參數表>|<(‘ ‘)>|< 標識符列表>
<複合陳述式>→<‘{‘ ‘}‘>|<語句列表>|<聲明列表>
<聲明列表>→<聲明>|<聲明列表聲明>
<標識符列表>→<標識符>|<標識符列><標識符>
<常量運算式>→<條件運算式>
<參數表>→<參數聲明>|<參數列表><參數聲明>
<聲明>→<聲明>|<聲明列表聲明>
<初始化>→<賦值運算式>|<“{ }”“初始化列表”>|<“{ }”“初始化列表”>
<初始化列表>→<初始化>|<初始化列表‘><初始化>
<語句列表>→<語句>|<語句列表><語句>
<語句>→<複合陳述式>|<表達語句>|<選擇語句>|<迭代語句>|<跳躍陳述式>
<選擇語句>→<if>|<IF (“運算式”)ELSE語句的聲明>
<迭代語句>→< WHILE >|< FOR >|< FOR ><語句>
<跳躍陳述式>→< CONTINUE >|< BREAK >< RETURN >< RETURN ><語句>
<一元運算子>→ ‘&‘| ‘*‘| ‘+‘| ‘-‘| ‘~‘| ‘!‘
<儲存類說明符>→< TYPEDEF >|< EXTERN >|< STATIC >|< AUTO >|< REGISTER >
<結構或聯合說明符>→<結構或聯合說明符><結構體聲明列表>|<結構或聯合><結構體聲明列表>|<結構或聯合><標識符>
<結構或聯合>→< STRUCT >|< UNION >
<結構體聲明列表>→<結構體聲明>|<結構體聲明><結構體聲明列表>
<結構體聲明>→<說明符限定符列表><結構說明符>
<說明符限定符列表>→<類型說明符><說明符限定符列表>|<類型說明符>|<說明符限定符列表>|<類型限定符>
<結構說明符列表>→<結構說明符>|<結構說明符列表><結構說明符>
<結構說明符>→<說明符>|<常數運算式>|<常數運算式><說明符>
<枚舉說明符>→<列舉程式列表>|<枚舉標識符><列舉程式列表>|<枚舉標識符>
<枚舉標識符>→<枚舉>|<枚舉標識符><枚舉>
<枚舉>→<標識符>|<常數運算式><標識符>
<函數定義> —〉 <類型說明><函數名><參數列表><複合陳述式>
<函數名> —〉<標識符>
<參數列表〉 —〉<類型說明><變數名>
<複合陳述式> —〉<變數>|<語句>
<語句> —〉<運算式語句〉|<選擇語句>|<迴圈語句>|<跳躍語句>
<運算式語句> —〉 <賦值運算式>|<關聯運算式>|<邏輯運算式>
<賦值運算式> —〉 = | += | =+ | -= | =-
<關聯運算式> —> 〉| < | 〉=| <=
<邏輯運算式> —〉 + | - | * | /
<選擇語句> —〉 if else語句| switch語句
<迴圈語句> —〉 for語句|while語句|do while語句
<跳躍語句> —> return語句|break語句|continue語句
<變數> —> <類型>丨<變數名>丨<變數值>
<類型說明> —> int丨char丨double丨float丨long
<變數名> <==> S
S —> A|SB
A —> a|b|c|……y|z
B —> 0|1|2|3|4|5|6|7|8|9
<變數值> —> <字母>丨〈數字〉
<標識符> 〈==〉 S
S —> a|b|c|……y|z|S
<字母> —> a|b|c|……y|z
<數字> 〈==〉 S
A —> 1|2|3|4|5|6|7|8|9
S —> A|SA|SA0
簡易c語言文法