某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(

admin2022-08-02  35

问题 某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(x被m除取余数)在( )时会报错,这是一种(请作答此空)错误。A.词法B.语法C.语义D.运行

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

答案 C

解析 程序代码中的错误可分为语法错误和语义错误。程序语言的语法表述的是语言的形式,或者说是语言的样子和结构。程序语言还有更重要的一个方面,就是附着于语言结构上的语义。语义揭示了程序本身的含义、施加于语言结构上的限制或者要执行的动作。程序语言的语义分为静态语义和动态语义。编译时进行的是静态语义的分析,主要包括:检查语言结构的语义是否正确,即是否结构正确的句子所表示的意思也合法;执行规定的语义动作,如表达式的求值、符号表的填写、中间代码的生成等。整除取余运算符“%”的有效运算对象是两个整数。在形式上,只要“%”的两个运算对象存在,其语法就是正确的;在语义上,“%”的运算对象中有浮点数则不符合整除取余运算的含义。因此,这是运算对象与运算符的类型不匹配错误,届于静态语义错误,在编译阶段可以发现该错误。
转载请注明原文地址:https://www.tihaiku.com/congyezige/2426095.html

最新回复(0)