问问题描述
答精选答案

C语言算术表达式的计算,在计算过程中,每一步计算所得结果的数据类型由参与运算的运算对象决定,相同数据类型的两个对象运算,结果数据类型不变,不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。
精度的高低:double>float>int需要注意的是,数据类型的转换是在计算过程中逐步进行的,整个表达式结果的数据类型一定与表达式中出现的精度最高的数据相同,但是具体得到数据值是逐步得到的,例如:int x=1,y=3; double k=1573.267;x / y * k这个表达式计算结果的数据类型是double, 计算结果的答案是 0.
0因为在第一步 x/y 的计算中 结果是一个整型数据 0第二步计算 0 * 1573.267 结果是一个double类型的数据,但数值是0.
0也就是说,算术表达式计算结果的数据类型与运算的优先级没有关系,一定具有表达式中精度最高的数据类型,但是具体得到数据结果数值,与优先级可就有关系啦。
本文来自作者[E东垂西钓]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/2506416.html
评论列表(4条)
我是公众科技网的签约作者“E东垂西钓”!
希望本篇文章《C语言中,数值的类型分高低吗,怎么分的呢》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:C语言算术表达式的计算,在计算过程中,每一步计算所得结果的数据类型由参与运算的运算对象决定,相同数据类型的两个对象运算,结果数据类型不变,不同数据类型的运算对象进行运算,结果的数据类型由高精度的运算对象决定。精度的高低:double>float>int需要注意的是,数据类型的转换是在计算过程中逐步进行的,整个表达式结果的数据类型一定与表达式中出现的精度最高的数据相同,但是具体得到数据值是逐步得到的,例如:int x=1,y=3; double k=1573.267;x / y * k这个表达式