某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(x被m除取余数)在(请作答此空)时会报错,这是一种()错误。A.编译B.预处理C.编辑D.运行
某C语言程序中,x是一个浮点型变量,m是一个值为正整数的整型常量,表达式x%m(x被m除取余数)在(请作答此空)时会报错,这是一种()错误。
A.编译
B.预处理
C.编辑
D.运行
B.预处理
C.编辑
D.运行
参考解析
解析:程序代码中的错误可分为语法错误和语义错误。程序语言的语法表述的是语言的形式,或者说是语言的样子和结构。程序语言还有更重要的一个方面,就是附着于语言结构上的语义。语义揭示了程序本身的含义、施加于语言结构上的限制或者要执行的动作。程序语言的语义分为静态语义和动态语义。编译时进行的是静态语义的分析,主要包括:检查语言结构的语义是否正确,即是否结构正确的句子所表示的意思也合法;执行规定的语义动作,如表达式的求值、符号表的填写、中间代码的生成等。整除取余运算符“%”的有效运算对象是两个整数。在形式上,只要“%”的两个运算对象存在,其语法就是正确的;在语义上,“%”的运算对象中有浮点数则不符合整除取余运算的含义。因此,这是运算对象与运算符的类型不匹配错误,届于静态语义错误,在编译阶段可以发现该错误。
相关考题:
● 已知a是浮点型变量,k是整型变量,对程序中的表达式“a+k”求值时,在不损失精度的要求下,通常需要 (28) 。(28)A. 将k重新定义为浮点型变量B. 将a重新定义为整型变量C. 将k的值临时转换为浮点型D. 将a的值临时转换为整型
假定w、x、y、z、m均为int型变量,有如下程序段:w=l;x=2;y=3;z=4;m=(W<x)?w:x;m=(m<y)?m:y;m=(m<2)?m:z;则该程序运行后,m的值是【 】。
已知a是浮点型变量,k是整型变量,对程序中的表达式“a+k”求值时,在不损失精度的要求下,通常需要______。A.将k重新定义为浮点型变量B.将a重新定义为整型变量C.将k的值临时转换为浮点型D.将a的值临时转换为整型A.B.C.D.
请教:2010年下半年软考程序员-上午试题(标准参考答案版)第1大题第27小题如何解答?【题目描述】● 某C语言程序中,m是一个整型变量,则(33)时遇到表达式m+test会报错。(33)A. 词法分析B. 语法分析C. 语义分析D. 程序运行
假定w,x,y,z和m均为int型变量,有如下程序段: w=1;x=2,y=3;z=4; m=(w<x)?w:x;m=(m<y)?m:y;m(m<2)?m:2; 则该程序段执行后,m的值为 ( )A.4B.3C.2D.1
某C语言程序中有表达式x%m(即x被m除取余数),其中,x为浮点型变量,m为整型非0常量,则该程序在( )时会报错,该错误属于( )错误。A.编译 B.预处理 C.编辑 D.运行A.逻辑 B.语法 C.语义 D.运行
假定w、x,y、z、m均为int型变量,有如下程序段; w=1;x=2;y=3;z=4; m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m的值是( )A.4B.3C.2D.1
单选题某C语言程序中,m是一个整型变量,则()时遇到表达式m+"test"会报错。A词法分析B语法分析C语义分析D程序运行