• 简化版C语言文法


    程序-> <外部声明><程序><外部声明>

    外部声明-> <函数定义>|<声明>

    函数定义-> <函数类型><说明符><复合语句>

    函数类型-> void|char|int|float

    说明符-> <指针 ><直接说明符>|<直接说明符>

    指针-> <*>|<*><指针>

    直接说明符-> <标识符>|<直接说明符[]>|<直接说明符[常量表达式]>|<标识符(参数序列)>|<标识符()>|<直接说明符,标识符序列>

    标识符序列-> <标识符>|<标识符序列><,><标识符>

    常量表达式-> <条件表达式>

    参数序列-> <参数声明>|<参数声明><,><参数声明>

    参数声明-> <声明说明符><声明符>

    复合语句-> <{}>|<{<陈述序列>}>|<{<声明序列><陈述序列>}>

    声明序列-> <声明符>|<声明序列><声明符>

    声明符-> <初始化说明符>|<初始化说明符><,><初始化说明符>

    初始化说明符-> <说明符>|<说明符><=><初始化程序>

    初始化程序-> <赋值表达式>|<{<初始化序列>}>|<{<初始化序列><,>}>

    初始化序列-> <初始化程序>|<初始化序列><,><初始化>

    陈述序列-> <陈述语句>|<陈述序列><陈述语句>

    陈述语句-> <复合语句>|<表达式语句>|<选择语句>|<循环语句>|<转移语句>

    表达式语句->  <;>|<表达式><;>

    选择语句-> IF(<表达式>)<陈述语句>|IF(<表达式>)<陈述语句>ELSE<陈述语句>

    循环语句->WHILE(<表达式>)<陈述语句>|FOR(<表达式语句><表达式语句>)<陈述语句>|FOR(<表达式语句><表达式语句><陈述语句>)<陈述语句>

    转移语句->CONTINUE;| BREAK; | RETURN; | RETURN <表达式>;

    表达式-><任务表达式>|<表达式>;<任务表达式>

    任务表达式-><条件表达式>|<一元运算符><赋值运算符><任务表达式>

    条件表达式-><OR表达式>|<OR表达式>?<表达式>:<条件表达式>

    OR表达式-><AND表达式>|<OR表达式>OR_OP<AND表达式>

    AND表达式-><包含OR表达式>|<AND表达式>AND_OP<包含OR表达式>

    包含OR表达式-><单独OR表达式>|<包含OR表达式>'|'<单独OR表达式>

    单独OR表达式-><AND表达式>|<单独OR表达式>'^'<AND 表达式>

    AND 表达式-><赋值表达式>|<AND表达式>'&'<赋值表达式>

    赋值表达式-><关系式>|<赋值表达式>EQ_OP<关系式>|<赋值表达式>NE_OP<关系式>

    关系式-><位移表达式>|<关系式>'<'<位移表达式>|<关系式>'>'<位移表达式>|

        <关系式>LE_OP<位移表达式>|<关系式>GE_OP<位移表达式>

    位移表达式-><相加表达式>|<位移表达式>LEFT_OP<相加表达式>|

          <位移表达式>RIGHT_OP<相加表达式>

    相加表达式-><乘法表达式>|<相加表达式>'+'<乘法表达式>|<相加表达式>'-'<乘法表达式>

    乘法表达式-><计算表达式>|<乘法表达式>'*'<计算表达式>|

          <乘法表达式>'/'<计算表达式>|<乘法表达式>'%'<计算表达式>

  • 相关阅读:
    监视用户是保存用户编辑还是放弃参照编辑
    AutoCAD: 添加鼠标快捷键/鼠标右键
    C# List<T>集合布尔运算
    List<T>的用法详解
    天正的坑
    C#札记
    AUTOCAD2013 以上利用ACCORECONSOLE+ SCR后台批量清理图纸
    BaiduSitemap
    三一邮件群发
    Windows+IIS+Mysql+php安装
  • 原文地址:https://www.cnblogs.com/131li/p/6008663.html
Copyright © 2020-2023  润新知