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

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

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

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

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

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

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

<标识符列表>→<:标识符>|<标识符列表><','><标识符>

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

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

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

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

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

<声明>→<初始化声明>|<初始化声明列表><‘,’><初始化声明>

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

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

<初始化程序列表>→<初始化程序>|<初始化程序列表><‘,’><初始化程序>

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

<语句>→<复合语句>|<表达式语句>|<选择语句>|<循环语句>|<跳跃语句>

<表达式语句>→<';'>|<表达式><';'>

<选择语句>→<:><if><'('><表达式><')'><语句>|<if><'('><表达式><')'><语句><else><语句>

<循环语句>→<while><'('><表达式><')'><语句>|<for><'('><表达式语句><表达式语句><')'><语句>|<for><'('><表达式语句><表达式语句><表达式><')'><语句>

<跳跃语句>→ CONTINUE< ';'>| BREAK <';'>| RETURN <';'>| RETURN <表达式> <';'>

<表达式>→<:><赋值表达式>|<表达式><','><赋值表达式>

<赋值表达式>→<条件表达式>|<一元表达式><赋值操作符><赋值表达式>

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

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

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

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

< 异或表达式>:<与表达式> | < 异或表达式><‘^‘><与表达式>

< 与表达式>:<相等表达式> |< 与表达式><‘&‘><相等表达式>

< 相等表达式>:<关系表达式> |< 相等表达式等于运算关系表达式> | <相等表达式不等于运算关系表达式>

< 关系表达式>:<移位表达式> | <关系表达式><‘<‘><移位表达式 >|< 关系表达式><‘>‘><移位表达式>  |<  关系表达式小于等于运算移位表达式> |< 关系表达式大于等于运算移位表达式>

< 移位表达式>:<加法表达式> | <移位表达式左运算加法表达式>  |< 移位表达式右运算加法表达式>

< 加法表达式:<乘法表达式> |< 加法表达式><‘+‘><乘法表达式> |< 加法表达式><‘-‘><乘法表达式>

< 乘法表达式>:<强制转换表达式> | <乘法表达式><‘*‘><强制转换表达式> | <乘法表达式><‘/‘><强制转换表达式 >| <乘法表达式><‘%‘><强制转换表达式>

<  强制转换表达式>:<一元表达式>  |<  ‘(‘>< 类型名称 ><‘)‘><强制转换表达式>

<一元表达式>:<后缀表达式> | <INC运算一元表达式> |< DEC运算一元表达式> |< 一元运算符将表达式> | < 结构体变量的一元表达式 >| < 结构体变量的><‘(‘>< 类型名称>< ‘)‘>

<后缀表达式>:<基本表达式> | <后缀表达式><‘[‘><表达式><‘]‘>  |< 后缀表达式><‘(‘ ><‘)'> | <后缀表达式>< ‘(‘><参数表达式列表><‘)‘ >  | <后缀表达式><‘.‘>< 标识符 >| <后缀表达式指针运算标识符>    |< 后缀表达式INC运算>  |< 后缀表达式DEC运算>

<基本表达式>→<标识符>  |<常量 >| <字符串常量> | < ‘(‘><表达式><‘)‘>

<参数表达式列表>:< 赋值表达式 >| <参数表达式列表><‘,‘><赋值表达式>

<一元运算符>:< ‘&‘>  | < ‘*‘>  | < ‘+‘>  | < ‘-‘>  | < ‘~‘>  |<  ‘!‘>

<赋值运算符>→<‘=‘>  |< 乘法分配> | <DIV分配> |< MOD分配> | <加法分配>  | < SUB分配>  |< 左分配 >| <右分配与分配>|< 异或分配 >|<或分配>

<存储类说明符>→<定义类型> |< 外部变量> |< 静态  >|< 自动>  | <寄存器>

<结构或联合说明符>:<结构或联合标识符><‘{‘><结构体声明列表><‘}‘>  |< 结构或联合><‘{'><结构体声明列表><‘}‘ > |< 结构或联合标识符>

<结构或联合>:<结构体> |< 联合>

<结构体声明列表>:<结构体声明> |< 结构体列表声明结构体声明>

<结构体声明>:<说明符限定符列表结构说明符><‘;‘>

<说明符说明符限定符列表> →<类型说明符说明符限定符列表> |< 类型说明符>  |< 类型限定符说明符限定符列表 >| <类型限定符>

<结构说明符列表>→<结构体声明> |< 结构说明符列表><‘,‘><结构体声明>

<结构体声明>→<:><声明 >| < ‘:‘><常量表达式> |< 声明><‘:‘><常量表达式>

<枚举声明>→<枚举><‘{‘><枚举器列表><‘}‘>  | <枚举标识符><‘{‘><枚举器列表><‘}‘>  | <枚举标识符>

<枚举器列表>→<枚举器> | <枚举器列表><‘,‘>

<枚举器枚举器>→<标识符 >|< 标识符><‘=‘><常量表达式>

<类型限定符>→<常量 >|< 易失的>

<类型限定符列表>→<类型限定符> | <类型限定符列表><  类型限定符>

<参数类型列表>→<参数列表> | <参数列表><‘,‘><省略符号>

<参数列表>→<:><声明参数> |< 参数列表><‘,‘><声明参数>

<抽象说明符>→<指针> | <直接抽象说明符> | <指针直接抽象说明符>

<直接抽象说明符>→ <‘(‘> <抽象说明符 ><‘)‘ > |<  ‘[‘ ><‘]‘  >| < ‘[‘>< 常量表达式><‘]‘>| <直接抽象说明符><‘[‘>< ‘]‘>  | <直接抽象说明符><‘[‘>< 常量表达式>< ‘]‘>  | < ‘(‘>< ‘)‘>  | < ‘(‘><参数类型列表><‘)‘>  |<  直接抽象说明符><‘(‘>< ‘)‘>  | <直接抽象说明符><‘(‘><参数类型列表><‘)‘>

<有标号语句>→<标识符><‘:><‘语句> |  <CASE常量表达式><‘:‘><语句 > | < DEFAULT><‘:‘><语句>

最新文章

  1. node.js+socket.io配置详解
  2. Linux问题处理: stdio.h: No such file or directory linux
  3. Qt容器类——1. QList类、QLinkedList类和QVector类
  4. vc6.0如何显示行号以及出现版本不兼容问题
  5. fedora 添加其他操作系统到 GRUB 2 菜单
  6. C++笔试题(部分)
  7. 正确编写Designated Initializer的几个原则
  8. Cassandra1.2文档学习(19)—— CQL索引
  9. POJ 3020 Antenna Placement 解题报告
  10. 【迪杰斯特拉双关键字最短路】【HDU3790】【最短路径问题】
  11. DataTable去除重复行
  12. ASP.NET MVC 项目分离
  13. android com.handmark.pulltorefresh 使用技巧
  14. Tuple
  15. List------Linked 链表
  16. 201521123087 《Java程序设计》第9周学习总结
  17. Android学习第九天
  18. Hbase的作用
  19. android 去掉activity的切换动画
  20. Fraction to Recurring Decimal(STRING-TYPE CONVERTION)

热门文章

  1. Visual Studio 2010 Express for Windows Phone 永久免费序列号
  2. 20145209刘一阳《JAVA程序设计》第八周课堂测试
  3. Redis学习之路(二)之Redis入门基础
  4. Form,选择并转移导航菜单
  5. 树莓派3b无驱动打印
  6. Loadrunner 性能指标
  7. springboot 前后端分离开发 从零到整(四、更改密码操作)
  8. PHP核心技术——反射
  9. Netty源码分析第5章(ByteBuf)----&gt;第8节: subPage级别的内存分配
  10. Nginx内置的嵌入变量