在C程序中,若表达式中的算术运算符对象类型不同,则需要先统一为相同类型后再进行计算。例如,表达式“a—b”中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行处理是_____________。

admin2013-07-03  25

问题 在C程序中,若表达式中的算术运算符对象类型不同,则需要先统一为相同类型后再进行计算。例如,表达式“a—b”中,若a是双精度浮点型变量,b是整型变量,为了尽可能保证运算精度,通常进行处理是_____________。

选项 A、读取b的值并转换为双精度浮点型数据
B、读取a的值并转换为整型数据
C、将b重新定义为双精度浮点型变量(其值自动转换为双精度型数据),在进行两个浮点数的相减运算
D、将a重新定义为整型变量(其值自动装换为整型数据),再进行两个整数的相减运算

答案A

解析 类型转换的一般规则为:为防止精度损失,类型总是被提升到较宽的类型。所有含有小于整型的类型 (char、signed char、unsigned char和short int)的算术表达式在计算之前其类型都会被转换为整型。
    在算术表达式“a~b”中,双精度浮点型表示的范围更宽,此时应将类型为整型的b转换成双精度浮点型,然后进行两个浮点数的相减运算,b的值本身并未发生变化。
转载请注明原文地址:https://kaotiyun.com/show/cXVZ777K
0

最新回复(0)