zoukankan      html  css  js  c++  java
  • 1029 C语言文法

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

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

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

     <类型说明> -> <void> | <char> | <int>|<float>

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

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

    <直接说明符> -> <标识符>  | <直接说明符  ‘[‘  ‘]‘> | <直接标识符‘[‘ 恒表达‘]‘> | <标识符‘(‘ 参数名单 ‘)‘> | <标识符‘(‘ ‘)‘> | <直接说明符> ‘;‘ <识别名单>

    <识别名单> -> <标识符> |  <识别名单> ‘;‘<标识符>

     <恒表达式> -> <恒表达式>

    <参数名单> -> <参数声明> | <参数名单> ‘;‘ <参数声明>

     <参数声明>-><‘说明符‘ ‘声明‘ ‘标识符‘>

     <复合语句>-> <‘{‘ ‘}‘> | <‘{‘语句列表‘}‘> | <‘{‘声明‘ ‘语句列表‘ ‘}‘>

     <声明_列表> -> <识别符> | <识别名单> <识别符>

     <识别符> -> <初始化标别符> |<初始化标识符> ‘,‘ <初始化标识符>

     <初始化标识符> -> <标识符> | <标识符> ‘=‘ <初始化器>

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

     <初始化列表> -> <初始化>| <初始化列表> ‘,‘ <初始化器>

     <语句表> -> <语句> | <语句表> <语句>

     <语句> -> |<复合语句> |<表达式语句>|<选择语句>|<迭代语句>|<跳转语句>

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

     <选择语句> :if< ‘(‘ 表达式‘)‘ 语句> | if <‘(‘ 表达式 ‘)‘ 语句 else语句 >

     <迭代语句> -> while< ‘(‘ 表达式 ‘)‘ 语句 >| for‘(‘ 表达语句 表达语句 ‘)‘ 语句 | for‘(‘ 表达语句 表达语句 表达式 ‘)‘ 语句

     <跳转语句> -> <continue>|<break>|<return>|<return 表达式>

    <表达式> -> <赋值表达式>|<表达式>’,’<赋值表达式>

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

    <条件表达式> -> <逻辑或表达>|<逻辑或表达‘?‘ 表达式 ‘:‘条件表达式>

      <逻辑或表达> -><逻辑与表达> |<逻辑或表达或运算逻辑表达式>

     <逻辑与表达> -><或运算表达式>|< 逻辑表达式和运算或表达式>

    <或运算表达式> -><异或表达式>|<或运算表达式 ‘|‘ 异或表达式>

     <异或表达式> :<与表达式> | <异或表达式‘^‘与表达式>

     <与表达式> :<相等表达式>|<与表达式‘&‘相等表达式>

     <相等表达式> :<关系表达式> |< 相等表达式等于运算关系表达式> |< 相等表达式不等于运算关系表达式>

     <关系表达式> :<移位表达式>|<关系表达式‘<‘移位表达式>|<关系表达式‘>‘移位表达式 >|< 关系表达式小于等于运算移位表达式>|<关系表达式大于等于运算移位表达式>

    <移位表达式> :<加法表达式> |< 移位表达式左运算加法表达式 > |< 移位表达式右运算加法表达式>

     <加法表达式> :<乘法表达式> | <加法表达式‘+‘乘法表达式 >|< 加法表达式‘-‘乘法表达式>

    <乘法表达式> :<强制转换表达式> | <乘法表达式‘*‘强制转换表达式> | <乘法表达式‘/‘强制转换表达式> |<乘法表达式‘%‘强制转换表达式>

     <强制转换表达式> :<一元表达式 > | < ‘(‘ 类型名称 ‘)‘强制转换表达式>

     <一元表达式> <后缀表达式>|< inc运算一元表达式>|< dec运算一元表达式>|< 一元运算符将表达式>| <结构体变量的一元表达式>| <结构体变量的‘(‘ 类型名称 ‘)‘>

    <后缀表达式> :<基本表达式> | <后缀表达式‘[‘表达式‘]‘> | <后缀表达式‘(‘ ‘) >|<后缀表达式 ‘(‘参数表达式列表‘)‘  >|< 后缀表达式>‘.‘< 标识符 >| <后缀表达式指针运算标识符 >| <后缀表达式inc运算 >| <后缀表达式dec运算>

    <基本表达式> -> <标识符> |< 常量>|< 字符串常量> |< ‘(‘表达式‘)‘>

     <参数表达式列表> : <赋值表达式>| <参数表达式列表>‘,‘<赋值表达式>

     <一元运算符> :< ‘&‘>  | < ‘*‘ > |  <‘+‘ > | < ‘-‘>  | < ‘~‘>  | < ‘!‘>

    <赋值运算符> -> <‘=‘ > |< 乘法分配> |< div分配>| <mod分配> | <加法分配>  |  <sub分配 > |< 左分配> | <右分配> |< 与分配> |< 异或分配> |< 或分配>

    <存储类说明符> -> <定义类型> |< 外部变量> | <静态 > |< 自动>  |< 寄存器> 

    <结构或联合说明符> :<结构或联合标识符‘{‘结构体声明列表‘}‘ > | <结构或联合‘{‘结构体声明列表‘}‘  >|< 结构或联合标识符>

    <结构或联合> :<结构体> |< 联合>

    <结构体声明列表> <结构体声明> |< 结构体声明结构体声明列表>

    <结构体声明> :<说明符限定符列表结构说明符>‘;‘说明符->类型说明符说明符限定符列表 >| <类型说明符 >| <类型限定符说明符限定符列表> |< 类型限定符> 

    <结构说明符列表> -> <结构体声明>| <结构说明符列表‘,‘结构体声明>

    <结构体声明> -> :<声明> |<  ‘:‘常量表达式>|< 声明‘:‘常量表达式>

     <枚举声明> -> <枚举‘{‘枚举器列表‘}‘ >| <枚举标识符‘{‘枚举器列表‘}‘ > |< 枚举标识符>

     <枚举器列表> -> <枚举器> |< 枚举器列表‘,‘枚举器>

    <枚举器> -> <标识符> |< 标识符‘=‘常量表达式>

     <类型限定符> -> <常量> |< 易失的>

    <类型限定符列表> -> <类型限定符> |< 类型限定符列表  类型限定符>

    <参数类型列表> -> <参数列表> |< 参数列表‘,‘省略符号>

     <参数列表> -> <声明参数> | <参数列表‘,‘声明参数>

     <类型名称> -> <限定说明符列表> |< 限定符抽象说明符列表>

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

    <直接抽象说明符> -> <‘(‘ 抽象说明符 ‘)‘ >| <‘[‘ ‘]‘  |  ‘[‘ 常量表达式‘]‘>| <直接抽象说明符‘[‘ ‘]‘ > | <直接抽象说明<符‘[‘ 常量表达式 ‘]‘ > | < ‘(‘ ‘)‘  |  ‘(‘参数类型列表‘)‘ >|< 直接抽象说明符‘(‘ ‘)‘> | <直接抽象说明符‘(‘参数类型列表‘)‘>

    <有标号语句> -> <标识符‘:‘语句> | <case常量表达式‘:‘语句>  | < default‘:‘语句>

  • 相关阅读:
    thinkphp5 tp5 命名空间 报错 Namespace declaration statement has to be the very first statement in the script
    开启 php 错误 提示 php-fpm 重启 nginx 500错误 解决办法 wdlinux lnmp 一键包 php脚本无法解析执行
    js 设置 cookie 定时 弹出层 提示层 下次访问 不再显示 弹窗 getCookie setCookie setTimeout
    php 二维数组 转字符串 implode 方便 mysql in 查询
    nginx 重启 ps -ef|grep nginx kill -HUP 主进程号
    jquery bootstrap help-block input 表单 提示 帮助 信息
    jquery 倒计时 60秒 短信 验证码 js ajax 获取
    jQuery如何获取同一个类标签的所有的值 遍历
    linux下C语言文件操作相关函数
    gcc,gdb用法
  • 原文地址:https://www.cnblogs.com/yaohai/p/4921238.html
Copyright © 2011-2022 走看看