c语言文法

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

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

<函数定义>→<函数定义>|<定义>

<函数定义>→<类型标识符><声明部分语句>

<类型标识符>→<无类型>|<字符型>|<整型>|<浮点型>

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

<指针>→<’*’>|<’*’指针>

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

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

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

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

<参数声明>→<说明符声明><标识符>

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

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

<声明>→<初始化声明>|<初始化声明列表><初始化声明>

<初始化声明>→<声明>|<声明>’=’初始化程序

<初始化程序>→<赋值表达式>|<’{‘初始化列表’}’>|<’{‘初始化列表’}’>

<初始化列表>→<初始化程序>|<初始化列表><初始化程序>

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

<语句>→ <复合语句>|<表达式语句>|<条件语句>|<循环语句>|<跳转语句>

<表达式>→<’;’>|<表达式’;’>

<表达式>:<赋值表达式>|<表达式><赋值表达式>

<赋值表达式>→<条件表达式>|<一元表达式赋值运算符><赋值表达式>

<条件表达式>→<逻辑或表达式>|<逻辑或表达式><表达式><条件表达式>

<逻辑或表达式>→<逻辑与表达式>|<逻辑或表达式><运算逻辑表达式>

<逻辑与表达式>:<表达式>|<逻辑表达式><运算表达式>|<表达式>

<或运算表达式>→<异或表达式>|<或运算表达式>|<异或表达式>

<有标号语句>→<标识符>:<语句> | case<常量表达式>:<语句> |  default:<语句>

原文地址:https://www.cnblogs.com/SCJX/p/6030804.html