以下叙述中,正确的是【 】。
A、编译正确的程序不包含语义错误
B、编译正确的程序不包含语法错误
C、除数为0的情况可以在语义分析阶段检查出来
D、除数为0的情况可以在语法分析阶段检查出来
以下叙述中,正确的是【 】。
A、编译正确的程序不包含语义错误
B、编译正确的程序不包含语法错误
C、除数为0的情况可以在语义分析阶段检查出来
D、除数为0的情况可以在语法分析阶段检查出来
B
【解析】
用户编写的源程序不可避免地会有一些错误,这些错误大致可分为静态错误和动态错误。动态错误也称动态语义错误,它们发生在程序运行时,例如变量取零时作除数、引用数组元素下标越界等错误。静态错误是指编译时所发现的程序错误,可分为语法错误和静态语义错误,如单词拼写错误、标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误称为语法错误;而语义分析时发现的运算符与运算对象类型不合法等错误属于静态语义错误。