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),今 ...
随机推荐
- python核心编程学习记录之序列(字符串元组列表)
可以在元组中放入可变类型如列表,然后修改列表来修改元组
- 前端开发面试题JS
1.介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol(创建后独一无二且不可变的数据类型 ) 2. ...
- java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
在更新项目之后,做了一定的改动后发现竟然报错了,刚才还好好的. java.sql.SQLException: Access denied for user 'root'@'localhost' (us ...
- ajax 代码
function ajax(){ var aj=null; if(window.ActiveXObject){ aj = new ActiveXObject("Microsoft.XMLHT ...
- python基础(内置函数+文件操作+lambda)
一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...
- Thinkphp单字母快捷键
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找. 1.U() URL组装 支持不同UR ...
- Pet Shop4.0
http://blog.csdn.net/RainyLin/article/details/1769947
- 升级PHP
wget http://down.wdlinux.cn/in/php_up53.shsh php_up53.sh
- Python数据分析之numpy学习
Python模块中的numpy,这是一个处理数组的强大模块,而该模块也是其他数据分析模块(如pandas和scipy)的核心. 接下面将从这5个方面来介绍numpy模块的内容: 1)数组的创建 2)有 ...
- Vector成员为指针时要注意的问题
vector的复制是浅复制,所以复制一个包含动态内存的变量的对象的话就会出问题. 解决办法:自己写类的复制构造函数,为新对象的指针开辟新的内存空间. 但当vector离开作用域之后,只会把其成员所占的 ...