问题
单项选择题
关于类型转换的说法中,错误的是( )。
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型。