首页 > 试题广场 >

表达式 3*52 与表达式 32*5 等价,即两个表达式

[单选题]

表达式 3*5/2 与表达式 3/2*5 等价,即两个表达式的值相等。

  • 正确
  • 错误
推荐
本题选B考察C语言运算符的理解。
由下图运行结果可以看出表达式 3*5/2 与表达式 3/2*5 的值不相等。

本题涉及到对于C语言除法运算的理解。
C语言中的除法运算符 “/” 是二元运算符,具有左结合性。当参与除法运算的均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。
  • 3*5/2 ,3*5得到15,变为15/2,因为计算的是两个整形变量相除(类型不需要转换),根据c语言的“/”运行可以知道,这个是取整计算,结果是7。
  • 3/2*5,3/2计算的是两个整形变量相除(类型不需要转换),取整运算得到1,1*5得到5。因此最终结果是5。
综上,本题中的两个式子并不等价,因此本题选B。

编辑于 2020-02-21 14:16:19 回复(0)
在计算机中整数做加减乘除运算过程中、结果中均不会出现小数,而是会自动下取整。
以此题为例,3*5/2在计算机计算时会先算3*5=15,然后算15/2=7;而3/2*5在计算机计算时会先算3/2=1,然后算1*5=5,故结果不一样。
因此答案为B.错误
发表于 2020-02-20 16:12:13 回复(0)
B
3*5/2 = 15/2 = 7
3/2*5 = 1*5 = 5(3/2只保留整数部分,所以为1)

发表于 2020-02-20 15:56:04 回复(0)
B, 整形数据的除法最后的值也是整形数据,即3*5/2=15/2=7,3/2*5=1*5=5
发表于 2020-02-20 16:03:02 回复(0)
B
前者为7,后者为5
发表于 2017-10-15 18:50:15 回复(0)