<程序>→<外部声明>|<程序><外部声明>
<外部声明>→<函数定义>|<声明>
<函数定义>→<数据类型><声明符><复合语句>
<数据类型>→void|char|int|float
<声明符>→<指针><直接声明符>|<直接声明符>
<指针>→'*'|'*'<指针>
<直接声明符>→<标识符>|<直接声明符>'['']'|<直接声明符>'['<普通表达式>']'|<标识符>'('<参数列表>')'>|<标识符>'('')'|<直接声明符>','<标识符列表>
<标识符列表>→<标识符>|<标识符列表>','<标识符>
<一般表达式>→<条件表达式>
<参数列表>→<参数声明>|<参数列表>','<参数声明>
<参数声明>→<声明类型><标识符>
<复合语句>→'{''}'|'{'<语句列表>'}'|'{'<声明列表><语句列表>'}'
<声明列表>→<声明>|<声明列表><声明>
<声明>→<初始化声明符>|<初始化声明符列表>','<初始化声明符>
<初始化声明符>→<声明符>|<声明符>'='<初始化>
<初始化>→<赋值表达式>|'{'<初始化列表>'}'|'{'<初始化列表>',''}'
<初始化列表>→<初始化>|<初始化列表>','<初始化>
<语句列表>→<语句>|<语句列表><语句>
<语句>→<复合语句>|<表达式语句>|<选择语句>|<循环语句>|<跳转语句>
<表达式语句>→';'|<表达式>';'
<选择语句>→if'('<表达式>')'<语句>|if'('<表达式>')'<语句>else<语句>
<循环语句>→while'('<表达式>')'<语句>|for'('<表达式语句><表达式语句>')'<语句>|for'('<表达式语句><表达式语句><表达式>')'<语句>
<跳转语句>→continue';'|break';'|return';'|return<表达式>';'
<表达式>→<赋值表达式>|<表达式>','<赋值表达式>
<赋值表达式>→<条件表达式>|<一元表达式><赋值运算符><赋值表达式>
<条件表达式>→<逻辑或表达式>|<逻辑或表达式>'?'<表达式>':'<条件表达式>
<逻辑或表达式>→<逻辑与表达式>|<逻辑或表达式><或运算><逻辑与表达式>
<逻辑与表达式>→<或表达式>|<逻辑与表达式><与运算><或表达式>
<或表达式>→<异或表达式>|<或表达式>'|'<异或表达式>
<异或表达式>→<与表达式>|<异或表达式>'^'<与表达式>
<与表达式>→<等式>|<与表达式>'&'<等式>

1014 C语言文法定义的更多相关文章

  1. 1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)

    阅读并理解提供给大家的C语言文法文件. 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图 ...

  2. 1014 C语言文法定义与C程序的推导过程

    <程序> -> <外部声明> | <程序> <外部声明> <外部声明> -> <函数定义> | <声明> ...

  3. 1106 1014 C语言文法定义与C程序的推导过程 冒泡程序语法树

  4. 1029 C语言文法定义与C程序的推导过程

    1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,写出用上述文法产生这段C程序的推导过程. program → exte ...

  5. 1014 我的C语言文法定义与C程序推导过程

    程序> -> <外部声明> | <程序> <外部声明> <外部声明> -> <函数定义> | <声明> < ...

  6. 1014 C语言文法

    <程序> -> <外部声明> | <程序> <外部声明> <外部声明> -> <函数定义> | <声明> ...

  7. C语言文法定义及C程序的推导过程

    program à external_declaration | program external_declaration <程序> ->  <外部声明> |  < ...

  8. C语言文法定义与C程序的推导过程

    program à external_declaration | program external_declaration <程序> ->  <外部声明> |  < ...

  9. 1029c语言文法定义与c程序的推导过程

    program → external_declaration | program external_declaration <源程序>→ <外部声明> | <源程序> ...

随机推荐

  1. 针对铁定浏览器的css选择符

    /***** Selector Hacks ******/ /* IE6 and below */ * html #uno { color: red } /* IE7 */ *:first-child ...

  2. angularJs中缓存数据,免去重复发起请求的几种写法

    带缓存处理的两种写法 过程:点击button触发load()方法,请求数据成后显示到页面中.如果已经请求过则从缓存中读取. 在线浏览 写法1: function demo(){ if (demo.ca ...

  3. 解决 spring-test 出现 Failed to load ApplicationContext 的异常

    在使用spring-test的时候,在启动@Test的方法时,spring-test会去加载spring的配置文件,这个时候如果配置文件没有在 @ContextConfiguration 中写全,就会 ...

  4. directive指令二 require:'^ngModel'

    本章主要是讲指令与ngModel的交互. 在angular有一个内置指令叫ngModel,它是angular用来处理表单的最重要的指令.在源码中,页面上的model值的格式化.解析.验证都是由ngMo ...

  5. 一行 Python 代码能干嘛?

    Python 有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中 Python 也超越了 Java 成为了第一,挺替 Python 开 ...

  6. Flutter - 弹出底部菜单Show Modal Bottom Sheet

    在很多安卓App上,有很多底部弹出的菜单,这个在Flutter上同样可以实现. 先看一下效果 嗯,就是这样子的,当用户点击菜单区域以外的时候,菜单会自动关闭. 下面就看一下Dart语言实现 float ...

  7. window.location.hash 页面跳转,精确定位,实例展示:

    window.location.hash 页面跳转,精确定位,实例展示: (1).index.phtml,页面用于传参 <script id="bb_list_template&quo ...

  8. TensorFlow Python3.7环境下的源码编译(二)安装配置

    源代码树的根目录中包含了一个名为 configure 的 bash 脚本. $ ./configure 接下来,配置系统会给出各种询问,以确认编译时的配置参数.   一.重要参数解释 Please s ...

  9. WebStorm微信小程序单位rpx出现空格问题

    Windows先下载sed 配置Tools->File Watchers->+ 添加下图配置 //windows系统 -i s/"\ rpx"/rpx/g $FileP ...

  10. Spark聚合操作:combineByKey()

    Spark中对键值对RDD(pairRDD)基于键的聚合函数中,都是通过combineByKey()实现的. 它可以让用户返回与输入数据类型不同的返回值(可以自己配置返回的参数,返回的类型) 首先理解 ...