试题(21)
对高级语言源程序进行编译时,可发现源程序中的 (21) 错误。
(21)
A. 堆栈溢出
B. 变量未定义
C. 指针异常
D. 数组元素下标越界
试题(21)分析
本题考查编译过程基本知识。
高级语言源程序中的错误分为两类:语法错误和语义错误,其中语义错误又可分为静态语义错误和动态语义错误。语法错误指语言结构上的错误,静态语义错误指编译时就能发现的程序含义上的错误,动态语义错误只有在程序运行时才能表现出来。堆栈溢出、指针异常和数组元素下标越界都是程序运行中才能出现的问题,而遵循先声明后引用原则的程序语言必须先定义变量,然后才能使用,否则编译器会在语法分析阶段指出变量未定义错误。
参考答案
(21)B
第1题:
对高级语言源程序进行编译时,可发现源程序中的(29)错误。
A.堆栈溢出
B.变量未定义
C.指针异常
D.数组元素下标越界
第2题:
● 已知某高级语言源程序A经编译后得到机器C上的目标程序B,则 (21) 。
(21)
A. 对B进行反编译,一般不能还原出源程序A
B. 对B进行反汇编,不能得到与源程序A等价的汇编程序代码
C. 对B进行反编译,得到的是源程序A的变量声明和算法流程
D. 对A和B进行交叉编译,可以产生在机器C上运行的动态链接库
第3题:
第4题:
对高级语言源程序进行编译时,可发现源程序中的__(29)__错误。
A.堆栈溢出
B.变量未定义
C.指针异常
D.数组元素下标越界
第5题:
● 已知某高级语言源程序A 经编译后得到机器C 上的目标程序B,则 (21) 。
(21)
A. 对B 进行反编译,不能还原出源程序A
B. 对B 进行反汇编,不能得到与源程序A 等价的汇编程序代码
C. 对B 进行反编译,得到的是源程序A 的变量声明和算法流程
D. 对A 和B 进行交叉编译,可以产生在机器C 上运行的动态链接库