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),今 ...
随机推荐
- biztalk重新发布
前提:在vs2013中,项目属性:重新部署设置为true,重新启动主机实例:设置为true,或者在最后重新部署完以后手动重启主机实例 下面是具体的步骤: 1. 项目修改完重新生成.. 2. 转到biz ...
- Openstack的项目管理方案
openstack作为云的解决方案,必须对某个用户,项目具有资源限制,不能无限制使用资源. 配置 在/etc/nova/nova.conf中,有 quota_driver=nova.quota.DbQ ...
- 用xib自定义UITableViewCell
1.文件结构: 2. 先创建一个xib文件,删除原有的view,添加一个TableViewCell控件. 3.ModelTableViewController.m文件 #import "Mo ...
- property attribute: assign, strong, weak, unsafe_unretain and copy
assign:用于“纯量类型”(如CGFloat 或 NSInteger等): strong:用于“对象类型”,定义了一种“拥有关系”(owning relationship),为这种属性设置新值时, ...
- phpcms无法读取index.html的解决步骤
代码如下: phpcms\modules\content\classes\html.class.php 查找 复制代码 代码如下: /** * 更新首页 */ public function inde ...
- C语言中执行到预编译
在Linux中,执行命令:gcc -o linux.i linux.c -E
- Java菜鸟学习 Script 脚本语言(简介)
script 可以写在head里 也可以写在body里 还可以写在 /html后面 script 也是成对出现的 <script></script> 他有三种常见的对话框 1 ...
- Response.Clear()和Response.ClearContent()区别
Response.Clear()方法 Clear方法删除所有缓存中的HTML输出.但此方法只删除Response显示输入信息,不删除Response头信息. Response.ClearContent ...
- noi 8787 数的划分
题目链接:http://noi.openjudge.cn/ch0206/8787/ 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序). 简直跟分苹果一模一样. #include < ...
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...