首页/ 题库 / [单选题]对高级语言源程序进行编译时,可发现源程序的答案

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

单选题
2022-01-05 14:30
A、堆栈溢出
B、变量未定义
C、指针异常
D、数组元素下标越界
查看答案

正确答案
B

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

标签:
感兴趣题目
试题(21)对高级语言源程序进行编译时,可发现源程序中的 (21) 错误。(21)
高级语言的语言处理程序分为解释程序和编译程序两种。解释程序处理源程序时,大多数采用______方法。
汇编语言源程序须经汇编程序翻译成目标程序:解释性语言源程序须经解释程序解释执行;编译性源程序须经编译程序翻译成目标程序,而汇编程序和编译程序还须经______连接成可执行的目标程序。
高级语言编译程序中常用的语法分析方法中,递归子程序法属于__(1)__分析方法,算符优先法属于__(2)__分析方法。空白(1)处应选择()
______程序可以找出C语言源程序中的语法错误。
计算机高级程序语言一般可分为编译型和解释型两类,下述语言 Ⅰ.JAVA Ⅱ.FORTRAN Ⅲ.C 哪个(些)一般是编译型语言? ______。
高级程序语言的编译程序是______。
高级程序语言的编译程序属于______。
能将高级语言源程序转换成目标程序的是________。
用高级程序设计语言编写的源程序,如果转换成等价的可执行程序,则必须要对源程序进行______。
用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过______。
高级语言的语言处理程序分为解释程序和编译程序两种。编译程序的工作在逻辑上一般由六个阶段组成,而解释程序通常缺少______和代码优化。
相关题目
高级语言的编译程序属于______。( )
用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过________。
用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过________。
高级语言编译程序中常用的语法分析方法中,递归子程序法属于__(1)__分析方法,算符优先法属于__(2)__分析方法。空白(2)处应选择()
程序设计语言可划分为低级语言和高级语言两大类。与高级语言相比,用低级语言开发的程序,其__(1)__,但在__(2)__的场合,还经常全部或部分地使用低级语言。在低级语言中,汇编语言与机器语言十分接近,它使用了__(3)__来提高程序的可读性。高级语言有许多种类,其中,PROLOG是一种__(4)__型语言,它具有很强的__(5)__能力。空白(4)处应选择()
程序设计语言可划分为低级语言和高级语言两大类。与高级语言相比,用低级语言开发的程序,其__(1)__,但在__(2)__的场合,还经常全部或部分地使用低级语言。在低级语言中,汇编语言与机器语言十分接近,它使用了__(3)__来提高程序的可读性。高级语言有许多种类,其中,PROLOG是一种__(4)__型语言,它具有很强的__(5)__能力。空白(1)处应选择()
需编译运行的程序,其______错误在编译时不能发现。
编译程序对C语言源程序进行语法分析时,可以确定______。
编译器和解释器是两种高级语言处理程序,与编译器相比,______。
通常编译程序是把高级语言书写的源程序翻译为__(1)__程序。一个编译程序除了可能包括词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成之外,还应包括__(2)__。其中__(3)__和优化部分不是每个编译程序都必需的。空白(1)处应选择()
通常编译程序是把高级语言书写的源程序翻译为__(1)__程序。一个编译程序除了可能包括词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成之外,还应包括__(2)__。其中__(3)__和优化部分不是每个编译程序都必需的。空白(2)处应选择()
通常编译程序是把高级语言书写的源程序翻译为__(1)__程序。一个编译程序除了可能包括词法分析、语法分析、语义分析和中间代码生成、代码优化、目标代码生成之外,还应包括__(2)__。其中__(3)__和优化部分不是每个编译程序都必需的。空白(3)处应选择()
在对高级语言编写的源程序进行编译时,可发现源程序中( )。
对高级语言源程序进行编译时,可发现源程序中的______错误。
对高级语言源程序进行编译时,可发现源程序中的(21)错误。
● 对高级语言源程序进行编译时,可发现源程序中的 (29) 错误。(29)
对高级语言源程序进行编译时,可发现源程序中的(29)错误。
●对高级语言源程序进行编译时,可发现源程序中的(8)错误。
●对高级语言源程序进行编译时,可发现源程序中的(8)错误。
对高级语言源程序进行编译时,可发现源程序中的__(29)__错误。
广告位招租WX:84302438

免费的网站请分享给朋友吧