若有以下类型标识符定义:int x=2;char w='a';float y=23.45f;double z=45.6789;则表达式w*x+y-z的结果类型是(    )

若有以下类型标识符定义:int x=2;char w='a';float y=23.45f;double z=45.6789;则表达式w*x+y-z的结果类型是(    )


A、

float


B、

​char


C、

int


D、

double


【正确答案】:D
【题目解析】:

当不同类型的量进行混合算术运算时,系统自动进行合理的类型转换。编译器就会自动把低级类型向高级类型转换。数据类型级别由低到高分别为:char→int→float→double。转换时由低级别向高级别转换。会自动提升为参与表达式求值的最上级类型double。故本题选D。

使用强制类型转换运算符:static_cast或const_cast。


Top