简化版c语言文法
(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>