参考答案和解析
正确答案:B
更多“●对高级语言源程序进行编译时,可发现源程序中的(8)错误。(8)A.堆栈溢出B.变量未定义C.指针异常D. ”相关问题
  • 第1题:

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

    A.堆栈溢出

    B.变量未定义

    C.指针异常

    D.数组元素下标越界


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

  • 第2题:

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

    A.堆栈溢出

    B.变量未定义

    C.指针异常

    D.数组元素下标越界


    正确答案:B
    编译就是把高级语言变成计算机可以识别的二进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成二进制的。编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。(1)词法分析。词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。(2)语法分析。编译程序的语法分析器以单词符号作为输入,分析单词符号串是否形成符合语法规则的语法单位,如表达式、赋值、循环等,最后看是否构成一个符合要求的程序,按该语言使用的语法规则分析检查每条语句是否有正确的逻辑结构,程序是最终的一个语法单位。(3)中间代码生成。中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现。中间代码即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。(4)代码优化。代码优化是指对程序进行多种等价变换,使得从变换后的程序出发,能生成更有效的目标代码。所谓等价,是指不改变程序的运行结果。所谓有效,主要指目标代码运行时间较短,以及占用的存储空间较小。这种变换称为优化。(5)目标代码生成。目标代码生成是编译的最后一个阶段。目标代码生成器把语法分析后或优化后的中间代码变换成目标代码。本题的选项A,堆栈溢出就是不顾堆栈中分配的局部数据块大小,向该数据块写入了过多的数据,导致数据越界,结果覆盖了老的堆栈数据。这种错误,编译时是无法发现的,只有当运行结果出来后,才能分析出错误所在。选项C和D是在程序运行时可能出现的错误。

  • 第3题:

    编译程序的功能是()。
    A.发现源程序中的语法错误
    B.改正源程序中的语法错误
    C.将源程序编译成目标文件
    D.将一种高级语言程序翻译成另一种高级语言程序


    答案:C
    解析:
    正确答案是C。
    提示:编译的目的是要产生一个与源程序对应的目标文件,其中包含检査源程序是否有误。

  • 第4题:

    编译程序的最终目标是( )。A.发现源程序中的语法错误B.改正源程序中的语法错误

    编译程序的最终目标是( )。

    A.发现源程序中的语法错误

    B.改正源程序中的语法错误

    C.将源程序编译成目标程序

    D.将某一高级语言程序翻译成另一高级语言程序


    正确答案:C
    编译程序的基本功能以及最终目标便是把源程序(高级语言)翻译成目标程序。

  • 第5题:

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

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

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