(1)<程序>::=开始<文件头>|<函数>结束
(2)<文件头>::=<库函数>
(3)<函数>::=<库函数>|<用户自定义函数>|<函数主体>
(4)<库函数>::=<#include<stdio.h>>|<#define>....
(5)<用户自定义函数>::=< yizhi>|<>....
(6)<函数主体>::=<语句串><选择结构>
(7)<语句串>::=<循环语句>|<数组>|<指针>|<数据类型>|<数字>|<结构体>|<选择结构>|<变量>|<常量>|<运算符>|<符号>|<关键字>|<字符>
(8)<选择结构>::=<单分支结构>|<分支结构>|<多分支结构>|<嵌套结构>
(9)<循环语句>::=<for>|<switch>|<do while>|<while>
(10)<数组>::=<数值数组>|<字符数组>
(11)<数值数组>::=<一维数组>|<二维数组>
(12)<字符数组>::=<字符串>|<字符串数组>
(13)<指针>::=<函数指针>|<数组指针> | <字符串指针>| <指向指针的指针>
(14)<数据类型>::=<整型>|<实型> | <字符型>| <无返回型>
(15)<数字>::=<0,1,2,3,4,5,6,7,8,9...>
(16)<结构体>::=<结构体数组>| <结构体指针>| <链表>
(17)<变量>::=<整型|<实型>|<字符型>
(18)<常量>::=<整型|<实型>|<字符型>
(19)<运算符>::=<单目运算符>|<双目运算符>|<三目运算符>|<逗号运算符>
(20)单目运算符::=<逻辑非运算符【!】>|<自增自减运算符【++,--】>|<负号运算符【-】>|<类型转换运算符【(类型)】>|<指针运算符【*】>|<取地址运算符【&】>|<长度运算符
【sizeof】>
(21)双目运算符::=<算术运算符【+,-,*,/】>|<关系运算符【==,!=,>,<,>=,<=】>|<逻辑运算符【&&,||】>|<赋值运算符【=,+=,-=,*=,/=,%=】>|<位运算符【&,^,|,<<,>>】>
(22)逗号运算符::=<【,】>
(23)<三目运算符>::=<【?:】>
(24)<符号>::=<, . ; : ? % & [ ] { } ""...>
(25)<关键字>::=<begin,end,if,else,do,while,var,auto,break,char,case,int,struct,switch,return,float,static,union,unsigned...>
(26)<字符>::=<abc...xyz,ABC...XYZ>