简单C语言文法
<程序>→<外部声明>|<程序><外部声明>
<外部声明>→<函数定义>|<声明>
<函数定义>→<类型说明><声明符><符合语句>
<类型说明>→<void>|<char>|<int>|<float>
<声明符>→<指针直接声明符>|<直接声明符>
<指针>→<'*'>|< '*' 指针>
<直接声明符>→<标识符>|<’[‘ ‘]’>|<[’ 常量表达式’]’>|<参数表>|<(' ')>|< 标识符列表>
<复合语句>→<'{' '}'>|<语句列表>|<声明列表>
<声明列表>→<声明>|<声明列表声明>
<标识符列表>→<标识符>|<标识符列><标识符>
<常量表达式>→<条件表达式>
<参数表>→<参数声明>|<参数列表><参数声明>
<声明>→<声明>|<声明列表声明>
<初始化>→<赋值表达式>|<“{ }”“初始化列表”>|<“{ }”“初始化列表”>
<初始化列表>→<初始化>|<初始化列表'><初始化>
<语句列表>→<语句>|<语句列表><语句>
<语句>→<复合语句>|<表达语句>|<选择语句>|<迭代语句>|<跳转语句>
<选择语句>→<if>|<IF (“表达式”)ELSE语句的声明>
<迭代语句>→< WHILE >|< FOR >|< FOR ><语句>
<跳转语句>→< CONTINUE >|< BREAK >< RETURN >< RETURN ><语句>
<一元运算符>→ '&'| '*'| '+'| '-'| '~'| '!'
<函数定义> —〉 <类型说明><函数名><参数列表><复合语句>
<函数名> —〉<标识符>
<参数列表〉 —〉<类型说明><变量名>
<复合语句> —〉<变量>|<语句>
<语句> —〉<表达式语句〉|<选择语句>|<循环语句>|<跳跃语句>
<表达式语句> —〉 <赋值表达式>|<关系表达式>|<逻辑表达式>
<赋值表达式> —〉 = | += | =+ | -= | =-
<关系表达式> —> 〉| < | 〉=| <=
<逻辑表达式> —〉 + | - | * | /
<选择语句> —〉 if else语句| switch语句
<循环语句> —〉 for语句|while语句|do while语句
简单C语言文法的更多相关文章
- C语言文法
C语言文法 源程序 → 外部声明 | 子程序(外部声明) 外部声明 → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ ...
- linux内核学习之一 简单c语言反汇编
(我是第一次发技术博客的菜鸟,恳请大家指导!!) 一 由简单c程序生成汇编代码 首先给出本次我们要反汇编的简单c语言程序:(够简单吧~) 在linux环境中使用下面的命令条件编译: 生成汇编文件sh ...
- 1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)
阅读并理解提供给大家的C语言文法文件. 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图 ...
- 1029 C语言文法定义与C程序的推导过程
1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,写出用上述文法产生这段C程序的推导过程. program → exte ...
- 用简单的语言描述C++ 是什么?
用简单的语言描述C++ 是什么? 答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C++支持多种编程范式 --面向对象编程.泛型编程和过程化编程. 其编程领域众广,常用于系统开发,引 ...
- 简单的C语言文法
<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→< ...
- Markdown:纯文本进行网页排版的简单标记语言
Markdown http://daringfireball.net/projects/markdown/ 2016-08-03 Markdown是一种标记语言,对纯文本使用简单的标记符号进行网页格式 ...
- 简单c语言子集词法分析器
概述 词法分析是编译的第一个环节,其输入是高级语言程序,输出是单词串.词法分析器的主要任务是将高级语言程序作为字符串输入,然后依据词法规则将字符串组合成单词,并输出单词串. 为了方便之后的编译环节,通 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
随机推荐
- Nexus3.0.0+Maven的使用(一)
1.Nexus介绍 Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问.利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Art ...
- linux socket编程实例
/* ============================================================================ Name : client.c Auth ...
- Mybatis获取插入记录的自增长ID(转)
1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名. <ins ...
- 01-C#入门(调试和错误处理)
老实说,这一章没有什么要写的,很多都是实操性的东西. 调试方法 可以使用Debug.WriteLine().Trace.WriteLine()输入调试信息到窗体下的输出窗口,不过没怎么用过,比较有用的 ...
- XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)
网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...
- java、tomcat环境变量的配置(针对windows)
重做了下系统. 于是所有的软件都没了. 好吧,我是故意的,就是把那些我不知道的东西都删掉.. 于是问题来了,java安装好了,tomcat也粘贴完了,环境变量怎么办? 好吧,首先从可爱的java或者说 ...
- 所有古诗词的api
服务商:api.getlove.cn 分类:诗词 更新时间:2016-03 如果接口不满足您的要求,您可以联系qq:2265658022购买完整的数据库 免费apikey:56eab527a0facb ...
- 1,SFDC 开发篇 - 类对象和SOQL查询
1,类对象 & 接口 & 属性 2, Object & SOQL
- android开发--okhttp
一.okhttp简单实用: 一般的get请求 一般的post请求 基于Http的文件上传 文件下载 加载图片 支持请求回调,直接返回对象.对象集合 支持session的保持 二.实用教程 1.添加an ...
- linux(Debian) 中的cron计划任务配置方法
cron服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情.用crontab配置是针对某个用户的 ...