问题 单项选择题

关于类型转换的说法中,错误的是( )。

A.如果a为血型变量,b为char型变量,则a+b的值为血型

B.如果a为float型变量,b为int型变量,则a-b的值为float型

C.如果a为double型变量,b为float型变量,则a*b的值为double型

D.如果a为血型变量,b为血型变量,则a/(doublb的值为int型

答案

参考答案:D

解析: C++中数据类型转换有两类,即隐式类型转换和显式类型转换。 ①隐式类型转换是由编译器自动完成的类型转换。当编译器遇到不同类型的数据参与同一运算时,会自动将它们转换为相同类型后再进行运算。赋值时,会把所赋值的类型转换为与被赋值变量类型一样。隐式类型转换按从低到高的顺序进行。 ②显式类型转换是由程序员显式指出的类型转换,使用显式类型转换的好处是,编译器不必自动进行两次转换,而由程序员负责类型转换的正确性。 由此可知选项D中a/(double)b的值应为double型。

单项选择题
问答题 简答题