<程序> -> <声明> | <程序> <函数>
<声明> -> #include<stdio.h>|#include<string.h>|............
<函数> -> <修饰符> <标识符> <形参> <复合语句>
<修饰符>-> void | char | int | double
<标识符>-> <D> |<标识符><D>| <标识符> <N>
<D> -> A | B | C | D | ….. | Z
<N> -> 1|2|3|4|…….|9
<形参> -> <数据类型> <标识符>
<数据类型>-> int | float | double | char
<复合语句>-> <语句>|<复合语句> <语句>
<语句> -> <条件语句>|<赋值语句>
<条件语句> -> <s1>|<s2>
<s1> -> if <b> <条件语句> else <条件语句>
<s2> -> if <b> <条件语句> | <复合语句>
<b> -> <逻辑表达式>
<逻辑表达式> -> <标识符> |<N> | <逻辑运算符> | <标识符> | <N>
<逻辑运算符> -> >|<|=|>=|<=|!
<赋值语句> -> <标识符> = <表达式>
<表达式> -> 表达式 + T | 表达式 – T | T
T -> F*F | T/F | F
F -> <表达式>| i