zoukankan      html  css  js  c++  java
  • C语言文法的理解

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

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

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

    <说明符类型>  ->  <空类> | <字符型> |  <浮点型>

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

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

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

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

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

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

    <参数声明> -> <声明标识符> | <标识符>

    <复合语句> -> <'{' '}'> | <'{'语句名单'}'> | <'{'识别名单 语句名单'}'>

    <识别名单> -> <识别符> | <识别名单  识别符>

    <识别符> -> <初始化标识符> | <初始化标识符  ';'  初始化标识符>

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

    <初始化器> -> <任务表达式>  | <'{' 初始化列表  '}'> | <'{'  初始化列表 '}'>

    <初始化列表> -> <初始化器> |<初始化列表 ';' 初始化器>

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

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

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

    <选择语句> -> < : IF'(' 表达式 ')' 语句> |<IF '(' 表达式 ')' 语句 ELSE 语句>

    <迭代语句> -> <WHILE '(' 表达式 ')' 语句> | <FOR'(' 表达语句  表达语句 ')' 语句> | <FOR'(' 表达语句 表达语句 ')' 语句>

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

    <表达式> -> <:复制表达式> | <表达式 ';' 复制表达式>

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

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

  • 相关阅读:
    全内存的redis用习惯了?那能突破内存限制类redis产品ssdb呢?
    multi_compile
    MVVM
    Gamma Correction
    Animator状态快速切换问题
    SVN 不显示状态图标--解决方法
    Rendering with Replaced Shaders
    MySql权威指南
    Effective C++
    帧同步
  • 原文地址:https://www.cnblogs.com/whitestar/p/4921128.html
Copyright © 2011-2022 走看看