某C语言程序中,x是一个实型变量,y是一个正整数。对于x被y除取余数的表达式“x%y”是一种(36)错误。

admin2009-02-15  44

问题 某C语言程序中,x是一个实型变量,y是一个正整数。对于x被y除取余数的表达式“x%y”是一种(36)错误。

选项 A、语法
B、语义
C、运行
D、词法

答案B

解析 程序员编写的源程序中往往会有一些错误,这些错误大致可分为错误和动态错误两类。静态错误应该在编译的不同阶段被检查出来,它又可以分为语法错误和静态语义错误。词法和语法错误是指有关语言结构上的错误,如单词拼写错误就是一种词法错误,表达式中缺少操作数、括号不匹配是语法错误。静态的语义错误是指分析源程序时可以发现的语义下的错误。例如,整除取余运算符“%”的有效运算对象是两个整数。对于表达式“x%y”,在形式上两个运算对象存在,其语法是正确的;在语义上,“%”的运算对象中一个是整型数据而另一个是实型数据,则不符合整除取余运算的含义。因此表达式“x%y”(x是一个实型变量,y是一个正整数)在编译时会报错,这是运算对象与运算符的类型不匹配的错误,属于静态语义错误。所谓动态错误,是指源程序中的逻辑错误。它们发生在程序运行的时候,比如算法逻辑上的错误。动态错误也被称为动态语义错误,如变量取值为0时被用做除数,引用数组元素时下标出界等。
转载请注明原文地址:https://jikaoti.com/ti/XNW7FFFM
0

随机试题
最新回复(0)