问题
单项选择题
2012年5月第19题对于高级语言源程序,若(),则可断定程序中出现语法错误。
A.编译时发现所定义的变量未赋初值
B.编译时发现表达式中的括号不匹配
C.运行时出现数组下标越界的情况
D.运行时出现除数为O的情况
答案
参考答案:B
解析:对于高级语言源程序,由于人为因素,其代码中可能包含各种类型的错误。这里将错误主要分为三类:语法错误、语义错误或逻辑错误。 语法错误是最明显的一类错误。若不按编程语言规则编写代码就会出现语法错误。语法错误几乎总可以由编译器或解释器发现,并显示错误信息提醒程序员问题所在。例如:单词拼写错误、标点符号错、表达式中缺少操作数、括号不匹配等都属于语法错误。 语义错误是一类比较难以察觉的错误。当源代码的语法正确而语义或意思与程序员本意不同时,就是语义错误。由于构造遵循编程语言的规则,因此语义错误无法由编译器或解释器发现。编译器或解释器只关心代码结构而不管意义。语义错误会导致程序非正常终止,带有或不带有错误信息。例如以下就属于语义错误:变量取O作除数、引用数组元素下标越界等错误。 有些错误可能隐藏得很深。在某些语义错误下,程序可以继续执行,但内部状态却不是程序员想要的。变量包含的可能不是正确的数据,或者程序可能沿着并非所设想的某一路径运行,这样的错误就叫做逻辑错误。程序没有崩溃,但执行的逻辑是错误的。