简易版C语言程序语法
<程序> —〉 <外部声明> | <函数定义>
<外部声明> —〉<头文件> | <变量> | <结构体>
<头文件> —〉 #include<文件名>
<文件名> —〉 stdio.h丨stdlib.h丨string.h
<结构体> —〉 <结构体声明〉|<结构体成员列表>
<结构体声明> —〉 struct<结构名>
<结构体成员列表> —〉<变量>
<结构名> —〉<标识符>
<函数定义> —〉 <类型说明><函数名><参数列表><复合语句>
<函数名> —〉<标识符>
<参数列表〉 —〉<类型说明><变量名>
<复合语句> —〉<变量>|<语句>
<语句> —〉<表达式语句〉|<选择语句>|<循环语句>|<跳跃语句>
<表达式语句> —〉 <赋值表达式>|<关系表达式>|<逻辑表达式>
<赋值表达式> —〉 = | += | =+ | -= | =-
<关系表达式> —> 〉| < | 〉=| <=
<逻辑表达式> —〉 + | - | * | /
<选择语句> —〉 if else语句| switch语句
<循环语句> —〉 for语句|while语句|do while语句
<跳跃语句> —> return语句|break语句|continue语句
<变量> —> <类型>丨<变量名>丨<变量值>
<类型说明> —> int丨char丨double丨float丨long
<变量名> <==> S
S —> A|SB
A —> a|b|c|……y|z
B —> 0|1|2|3|4|5|6|7|8|9
<变量值> —> <字母>丨〈数字〉
<标识符> 〈==〉 S
S —> a|b|c|……y|z|S
<字母> —> a|b|c|……y|z
<数字> 〈==〉 S
A —> 1|2|3|4|5|6|7|8|9
S —> A|SA|SA0
简易版C语言程序语法的更多相关文章
- 简易版C语言程序设计语法
源程序 → 外部声明 | 子程序(外部声明) 外部声明 → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ 长整型 | ...
- 实验二 简易版C语言文法
<程序>::=begin<语句串>end <语句串>::=<语句>{;<语句>} <语句>::=<赋值语句> < ...
- 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型
Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...
- 简易版AI英文问答程序解决
第四章的作业和实践题要论印象深刻无疑就是AI的那道题了.不得不说一开始看到题目的时候,我真的蒙了很久. 本题要求你实现一个简易版的 AI 英文问答程序,规则是: 1.无论用户说什么,首先把对方说的话在 ...
- 使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序
使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序 具有挑战性的前端面试题 API JAMstack refs https://www.infoq.cn/article/0NUjpx ...
- Java 语言实现简易版扫码登录
基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...
- C+命令行+方向键=简易版扫雷
前言: 想起来做这个是因为那时候某天知道了原来黑框框里面的光标是可以控制的,而且又经常听人说起这个,就锻炼一下好了. 之前就完成了那1.0的版本,现在想放上来分享却发现有蛮多问题的,而且最重要的是没什 ...
- C语言学习-01第一个C语言程序
一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...
- Android学习之路——简易版微信为例(一)
这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...
随机推荐
- windows安装redis
下载安装包,由于redis不提供windows版本,但是通过官网了解,如下: The Redis project does not officially support Windows. Howeve ...
- Webstorm 2016.3激活码
webstorm 2016.3 可用激活码, 使用activation code方式激活 就这么任性,就这么长 43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKI ...
- r-cnn学习(九):学习总结
首先看下代码文件夹的说明(这部分转自:http://blog.csdn.net/bailufeiyan/article/details/50749694) tools 在tools文件夹中,是我们直接 ...
- linux下vmware的安装、物理分区使用及卸载
1.安装 先下载安装文件VMware-Workstation-Full-12 在命令行下执行下载的文件安装即可(需要root权限) wget https://download3.vmware.com/ ...
- 《jQuery知识点总结》(一)
write less do more写更少的代码实现更多的功能DOM:document object model (文件对象模型)选择器(选择元素的对象或者节点)id 选择器 $("#id& ...
- gradle
http://examples.javacodegeeks.com/core-java/gradle/gradle-hello-world-tutorial/
- 3ds max 渲染清晰面片的边缘
3ds max的菜单栏 -> 渲染 -> 材质编辑器->精简材质编辑器,将面状打勾,如下图,就能渲染出面片清晰的图形.
- 从SQLite获取数据完成一个产品信息展示
在ios实际开发当中,我们常常用到Core Data做为数据储存首选.但在处理一些大量复杂的数据值且数据之间相互关联的时候,这就不得不使用关系型数据库来实现.例如一个导航程序,自身应该包含大量的地图自 ...
- Mysql 迁移最完整可用的教程
此教程来源stackoverflow,仅供我自己需要时查看,其他人不可以瞎看! ## Stop MySQL using the following command: `sudo /etc/init.d ...
- Microsoft Visual Studio 文件识别及其用途简述
Microsoft Visual Studio IDE开发工具集,目前已推出多个不同版本,从之前的VC4.0到现在的VS2015,各个版本都会或多或少的功能或性能上的修改.提升,具体的改进地方可去官网 ...