itgle.com
更多“编译程序对C 语言源程序进行语法分析时,可以确定 (66) 。A.变量是否定义(或声明) B. ”相关问题
  • 第1题:

    移进--归约分析法是编译程序(或解释程序)对高级语言源程序进行语法分析的一种方法,属于()的语法分析方法。

    A.自顶向下(或自上而下)

    B.自底向上(或自下而上)

    C.自左向右

    D.自右向左


    正确答案:B

  • 第2题:

    ●编译程序与解释程序的不同之处是(31)。

    (3 1)

    A.解释程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

    B.编译程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

    C.编译程序不生成源程序的目标代码,而解释程序则产生源程序的目标代码

    D.编译程序生成源程序的目标代码,而解释程序则不产生源程序的目标代码


    正确答案:D

  • 第3题:

    移进--归约分析法是编译程序(或解释程序)对高级语言源程序进行语法分析的一种方法,属于(48)的语法分析方法。

    A.自顶向下(或自上而下)
    B.自底向上(或自下而上)
    C.自左向右
    D.自右向左

    答案:B
    解析:
    先分析词,即词法分析;而分析词的组合,即语法分析,移进-递归是自下而上的语法分析方法。

  • 第4题:

    ●编译程序与解释程序的不同之处是(15) 。

    (15)

    A.解释程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

    B.编译程序不需要进行词法和语法分析,而是直接分析源程序的语义并产生目标代码

    C.编译程序不生成源程序的目标代码,而解释程序则产生源程序的目标代码

    D.编译程序生成源程序的目标代码,而解释程序则不产生源程序的目标代码


    正确答案:D

  • 第5题:

    对高级语言源程序进行编译时,可发现源程序中的( )错误。

    A.堆栈溢出
    B.变量未定义
    C.指针异常
    D.数组元素下标越界

    答案:B
    解析:
    本题考查编译过程基本知识。高级语言源程序中的错误分为两类:语法错误和语义错误,其中语义错误又可分为静态语义错误和动态语义错误。语法错误指语言结构上的错误,静态语义错误指编译时就能发现的程序含义上的错误,动态语义错误只有在程序运行时才能表现出来。堆栈溢出、指针异常和数组元素下标越界都是程序运行中才能出现的问题,而遵循先声明后引用原则的程序语言必须先定义变量,然后才能使用,否则编译器会在语法分析阶段指出变量未定义错误。