<程序> —〉 <外部声明> | <函数定义>
<外部声明> —〉<头文件> | <变量> | <结构体>
<头文件> —〉 #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语言程序语法的更多相关文章

  1. 简易版C语言程序设计语法

    源程序 → 外部声明 | 子程序(外部声明) 外部声明   → 函数定义| 函数声明 函数定义 → 类型标识符(复合句) 标识符类型 → 无类型 | 字符型 | 整型 | 浮点型 整型→ 长整型 | ...

  2. 实验二 简易版C语言文法

    <程序>::=begin<语句串>end <语句串>::=<语句>{;<语句>} <语句>::=<赋值语句> < ...

  3. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  4. 简易版AI英文问答程序解决

    第四章的作业和实践题要论印象深刻无疑就是AI的那道题了.不得不说一开始看到题目的时候,我真的蒙了很久. 本题要求你实现一个简易版的 AI 英文问答程序,规则是: 1.无论用户说什么,首先把对方说的话在 ...

  5. 使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序

    使用 js 实现一个简易版的 GIPHY 动图搜索 web 应用程序 具有挑战性的前端面试题 API JAMstack refs https://www.infoq.cn/article/0NUjpx ...

  6. Java 语言实现简易版扫码登录

    基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...

  7. C+命令行+方向键=简易版扫雷

    前言: 想起来做这个是因为那时候某天知道了原来黑框框里面的光标是可以控制的,而且又经常听人说起这个,就锻炼一下好了. 之前就完成了那1.0的版本,现在想放上来分享却发现有蛮多问题的,而且最重要的是没什 ...

  8. C语言学习-01第一个C语言程序

    一 C语言的历史 C语言是一门通用计算机编程语言,应用广泛.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言. 尽管C语言提供 ...

  9. Android学习之路——简易版微信为例(一)

    这是“Android学习之路”系列文章的开篇,可能会让大家有些失望——这篇文章中我们不介绍简易版微信的实现(不过不是标题党哦,我会在后续博文中一步步实现这个应用程序的).这里主要是和广大园友们聊聊一个 ...

随机推荐

  1. VS2010+Qt5.4.0 环境搭建(离线安装)

    原创作者:http://blog.csdn.net/solomon1558/article/details/44084969 前言 因项目需要Qt开发GUI,我根据网上资料及自己的经验整理了搭建vs2 ...

  2. PHP与MYSQL事务处理

    /*MYSQL的事务处理主要有两种方法.1.用begin,rollback,commit来实现begin 开始一个事务rollback 事务回滚commit 事务确认2.直接用set来改变mysql的 ...

  3. [转载]深入理解HTTP Session

    深入理解HTTP Session   session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的 ...

  4. winform 跨线程操作控件

    当进行winform的开发时,经常遇到用时比较久的操作,在传统的单线程程序中,用户必须等待这个耗时操作完成以后才能进行下一步的操作,这个时候,多线程编程就派上用场了,将这个耗时的操作放到一个新的子线程 ...

  5. 自动布局报错(两条连线冲突):Unable to simultaneously satisfy constraints

    这个报错有些长: Unable to simultaneously satisfy constraints.    Probably at least one of the constraints i ...

  6. Linux SVN 命令详解

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1/pro/domain    ...

  7. SPOJ FTOUR2 - Free tour II

    Description 有些黑点,问你选择不超过 \(k\) 个黑点的路径,路径权值最大是多少. Sol 点分治. 这是qzc的论文题,不过我感觉他的翻译好强啊...我还是选择了自己去看题目... 点 ...

  8. 基于libvlc和wxWidgets的简单播放器代码阅读

    源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...

  9. java 连接接数据库 中的代码 放到配置文件中

    1.DButil.java package com.jobproject.util; import java.sql.Connection;import java.sql.DriverManager; ...

  10. Java基础高级二(多线程)

    1.进程和线程的区别:线程是轻量级的,本省不会持太多资源,需要的时候向进程申请 2.线程的状态:创建,可执行,执行中,等待,休眠,阻塞 3.线程状态之间的转换 4.线程API:Thread类,Runn ...