C语言文法的理解
<程序> -> <外部声明> | <程序> <外部声明>
<外部声明> -> <函数定义> | <声明>
<函数定义> -> <说明符类型> <声明> <复合语句>
<说明符类型> -> <空类> | <字符型> | <浮点型>
<声明> -> <指针> <直接说明符> | <直接说明符>
<指针> -> <*> | <*指针>
<直接说明符> -> <标识符> | <直接说明符 '[' ']'> | <直接标识符'[' 恒表达式 ']'> | <标识符'(' 参数名单 ')'> | <标识符'(' ')'> | <直接说明符 ';' 识别名单>
<识别名单> -> <标识符> | <识别名单 ';' 标识符>
<恒表达式> -> <恒表达式>
<参数名单> -> <参数声明> | <参数名单 ';' 参数声明>
<参数声明> -> <声明标识符> | <标识符>
<复合语句> -> <'{' '}'> | <'{'语句名单'}'> | <'{'识别名单 语句名单'}'>
<识别名单> -> <识别符> | <识别名单 识别符>
<识别符> -> <初始化标识符> | <初始化标识符 ';' 初始化标识符>
<初始化标识符> -> <标识符> | <标识符 '=' 初始化器>
<初始化器> -> <任务表达式> | <'{' 初始化列表 '}'> | <'{' 初始化列表 '}'>
<初始化列表> -> <初始化器> |<初始化列表 ';' 初始化器>
<语句表> -> <语句> | <语句表 语句>
<语句> -> <复合语句> | <语句表达式> | <选择语句> | <迭代语句> | <跳转语句>
<语句表达式> -> <表达式>
<选择语句> -> < : IF'(' 表达式 ')' 语句> |<IF '(' 表达式 ')' 语句 ELSE 语句>
<迭代语句> -> <WHILE '(' 表达式 ')' 语句> | <FOR'(' 表达语句 表达语句 ')' 语句> | <FOR'(' 表达语句 表达语句 ')' 语句>
<跳转语句> -> <CONTINUE> | <BREAK> | <RETURN> | <RETURN 表达式>
<表达式> -> <:复制表达式> | <表达式 ';' 复制表达式>
<赋值表达式> -> <条件表达式> | <一元赋值 运算符表达式 赋值表达式>
<条件表达式> -> <逻辑或表达式> | <>
C语言文法的理解的更多相关文章
- 1029-c语言文法的理解
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 1029-对c语言文法的理解
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 1029c语言文法2理解
program → external_declaration | program external_declaration <程序>→ <外部声明>|<程序>< ...
- 1029C语言文法的理解
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 1029对c语言文法的理解
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- 1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)
阅读并理解提供给大家的C语言文法文件. 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图 ...
- 1029 C语言文法定义与C程序的推导过程
1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,写出用上述文法产生这段C程序的推导过程. program → exte ...
- C语言文法
C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明 → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...
- Java语言的个人理解
Java语言的个人理解(比价深层次吧) 大四的生活确实十分的奢靡,不锻炼,不读书,几乎就是当一天和尚撞一天钟的生活,太颓废了,还好自己不是这个样子,不过身体确实差了很多,昨天跑了一圈内环(4KM),今 ...
随机推荐
- Android -- 是时候来了解一波EventBus了
1,最早在项目中使用EventBus是在去年的时候,但自己一直没抽出时间来记录记录一下,今天就来简单的使用一下,先看一下EventBus的定义是什么 EventBus:是一个发布 / 订阅的事件总线. ...
- 0511 backlog
SCRUM 这次的作业就是确定SCRUM的计划,确定sprint backlog的一个冲刺周期,而这个周期是两个星期.争取在两周内发布1.0版本. 本次作业以网站构建为主: ID NAME ...
- window.event对象详尽解析
event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生的过程中才有效. event的某些属性只对特定的事件有意义.比如,fromEleme ...
- RF内置库-----内置库的学习过程总结
前段时间充忙的学习RF,系统学习完之后就开始动手做各种接口的测试,虽然各类的接口测试基本能跑通了,但是重复造车的问题存在太明显.RF本身内置库就已经比较丰富,比如不需要import直接就加载到内存的B ...
- Spring MVC 学习资料
引述要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”.以下几项Java知识和Spring框架息息相关,不可不学(我将通过一个系列分别介绍这些Jav ...
- JS逗号运算符的用法详解
逗号运算符的用法详解 注意: 一.由于目前正在功读JavaScript技术,所以这里拿JavaScript为例.你可以自己在PHP中试试. 二.JavaScript语法比较复杂,因此拿JavaScri ...
- Proteus 8 画原理图仿真 1602 LCD显示字符
以下是源程序: #include <reg52.h> #include<intrins.h> /** * P2 上接的是 D1 ~ D7 */ sbit RS = P3 ^ ; ...
- 06-BCD计数器设计与应用——小梅哥FPGA设计思想与验证方法视频教程配套文档
芯航线--普利斯队长精心奉献 实验目的:1.掌握BCD码的原理.分类以及优缺点 2.设计一个多位的8421码计数器并进行验证 3.学会基本的错误定位以及修改能力 ...
- Knights of the Round Table-POJ2942(双连通分量+交叉染色)
Knights of the Round Table Description Being a knight is a very attractive career: searching for the ...
- OS X 下iso刻录U盘
1. 查看盘 $diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER : GUID_partition_scheme *320.1 GB disk ...