<程序>→<外部声明>|<程序><外部声明>

<外部声明>→<函数定义>|<声明>

<函数定义>→<类型说明><声明符><符合语句>

<类型说明>→<void>|<char>|<int>|<float>

<声明符>→<指针直接声明符>|<直接声明符>

<指针>→<'*'>|< '*' 指针>

<直接声明符>→<标识符>|<’[‘ ‘]’>|<[’ 常量表达式’]’>|<参数表>|<('  ')>|< 标识符列表>

<复合语句>→<'{' '}'>|<语句列表>|<声明列表>

<声明列表>→<声明>|<声明列表声明>

<标识符列表>→<标识符>|<标识符列><标识符>

<常量表达式>→<条件表达式>

<参数表>→<参数声明>|<参数列表><参数声明>

<声明>→<声明>|<声明列表声明>

<初始化>→<赋值表达式>|<“{ }”“初始化列表”>|<“{ }”“初始化列表”>

<初始化列表>→<初始化>|<初始化列表'><初始化>

<语句列表>→<语句>|<语句列表><语句>

<语句>→<复合语句>|<表达语句>|<选择语句>|<迭代语句>|<跳转语句>

<选择语句>→<if>|<IF (“表达式”)ELSE语句的声明>

<迭代语句>→< WHILE >|< FOR >|< FOR ><语句>

<跳转语句>→< CONTINUE >|< BREAK >< RETURN >< RETURN ><语句>

<一元运算符>→ '&'| '*'| '+'| '-'| '~'| '!'

<函数定义> —〉 <类型说明><函数名><参数列表><复合语句>

<函数名> —〉<标识符>

<参数列表〉 —〉<类型说明><变量名>

<复合语句> —〉<变量>|<语句>

<语句> —〉<表达式语句〉|<选择语句>|<循环语句>|<跳跃语句>

<表达式语句> —〉 <赋值表达式>|<关系表达式>|<逻辑表达式>

<赋值表达式> —〉 = | += | =+ | -= | =-

<关系表达式> —> 〉| < | 〉=| <=

<逻辑表达式> —〉 + | - | * | /

<选择语句> —〉 if else语句| switch语句

<循环语句> —〉 for语句|while语句|do while语句