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

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

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

<说明符类型>  ->  <空类> | <字符型> |  <浮点型>

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

<指针> -> <*> | <*指针>

<直接说明符>  -> <标识符>  |  <直接说明符  '['  ']'>   |  <直接标识符'[' 恒表达式 ']'>  |  <标识符'(' 参数名单 ')'>  |  <标识符'('  ')'>  |  <直接说明符 ';' 识别名单>

<识别名单> -> <标识符> |  <识别名单 ';' 标识符>

<恒表达式> -> <恒表达式>

<参数名单> -> <参数声明> | <参数名单 ';' 参数声明>

<参数声明> -> <声明标识符> | <标识符>

<复合语句> -> <'{' '}'> | <'{'语句名单'}'> | <'{'识别名单 语句名单'}'>

<识别名单> -> <识别符> | <识别名单  识别符>

<识别符> -> <初始化标识符> | <初始化标识符  ';'  初始化标识符>

<初始化标识符> -> <标识符> | <标识符 '=' 初始化器>

<初始化器> -> <任务表达式>  | <'{' 初始化列表  '}'> | <'{'  初始化列表 '}'>

<初始化列表> -> <初始化器> |<初始化列表 ';' 初始化器>

<语句表> -> <语句> | <语句表  语句>

<语句> -> <复合语句> | <语句表达式> | <选择语句> | <迭代语句> | <跳转语句>

<语句表达式> -> <表达式>

<选择语句> -> < : IF'(' 表达式 ')' 语句> |<IF '(' 表达式 ')' 语句 ELSE 语句>

<迭代语句> -> <WHILE '(' 表达式 ')' 语句> | <FOR'(' 表达语句  表达语句 ')' 语句> | <FOR'(' 表达语句 表达语句 ')' 语句>

<跳转语句> -> <CONTINUE> | <BREAK> | <RETURN> | <RETURN 表达式>

<表达式> -> <:复制表达式> | <表达式 ';' 复制表达式>

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

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

C语言文法的理解的更多相关文章

  1. 1029-c语言文法的理解

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

  2. 1029-对c语言文法的理解

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

  3. 1029c语言文法2理解

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

  4. 1029C语言文法的理解

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

  5. 1029对c语言文法的理解

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

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

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

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

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

  8. C语言文法

    C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明   → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...

  9. Java语言的个人理解

    Java语言的个人理解(比价深层次吧) 大四的生活确实十分的奢靡,不锻炼,不读书,几乎就是当一天和尚撞一天钟的生活,太颓废了,还好自己不是这个样子,不过身体确实差了很多,昨天跑了一圈内环(4KM),今 ...

随机推荐

  1. C++之路进阶——bzoj2879(美食节)

    2879: [Noi2012]美食节 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1304  Solved: 702[Submit][Status] ...

  2. 智能家居常用WiFi模块

    WiFi模块 WiFi模块就是整个系统的控制中心,控制很简单,就是输出一个开关信号控制继电器,而这个模块的核心是WiFi的连接,手机连接WiFi时需要扫描,输入密码,而这类本身没有屏幕和键盘的硬件设备 ...

  3. Wamp 设置 www 目录

    打开httpd.conf,搜索wwwroot 和 directory 直接改为新目录即可. 对于wamp3是无效的,可以这样解决: “You need to change these values a ...

  4. Safari中的new Date()格式化坑

    今天在测试的时候发现,在Chrome中的如下代码: new Date("2014-03-09"); 在Safari中报错invalid date.经过查阅资料找到类似的问答: st ...

  5. 机器学习实战-K-nearest neighbors 算法的优缺点

    K临近算法是基于实例的学习,使用算法的时候我们必须要有接近分类结果的实例训练样本数据. 优点:精度高,对异常值不敏感 缺点: 时间复杂度和空间复杂度比较大.(如果训练样本数据集比较大,需要大量的空间来 ...

  6. Ajax实现原理详解

    Ajax:Asynchronous javascript and xml,实现了客户端与服务器进行数据交流过程.使用技术的好处是:不用页面刷新,并且在等待页面传输数据的同时可以进行其他操作. 这就是异 ...

  7. Knights of the Round Table-POJ2942(双连通分量+交叉染色)

    Knights of the Round Table Description Being a knight is a very attractive career: searching for the ...

  8. Unity碰撞器触发关系测试

    本文刚体有关的内容不再赘述,主要测试碰撞器和触发器的消息关系. 刚体在这篇有测试:U3D刚体测试1-刚体非刚体物体非Kinematic等之间的碰撞关系 碰撞器测试结果: 1.A对象为Collider, ...

  9. [CCF] ISBN号码检测

    CCF ISBN号码检测 题目概述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  10. (转)mysql中InnoDB表为什么要建议用自增列做主键

    InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关 ...