首页 > 试题广场 >

有以下定义: char a; int b; float c;

[单选题]

有以下定义: char a; int b; float c; double d;则表达式a*b+d-c值的类型为:

  • float

  • int

  • char

  • double

C语言不同数据类型进行运算时,会发生数据类型的强制转换,转换标准如下:
double ←── float 高

↑ 

long 

↑ 
unsigned 

↑ 

int ←── char,short 低

所以最后都会变成double型,D正确
发表于 2022-03-10 22:03:15 回复(0)
这道题目的考点就是:隐式类型转换。
记住一个原则:只能低精度类型转高精度。
发表于 2022-06-30 15:07:02 回复(0)
C语言不同数据类型进行运算时,会发生数据类型的强制转换,转换标准如下:
double ←── float 高

↑ 

long 

↑ 
unsigned 

↑ 

int ←── char,short 低

所以最后都会变成double型,D正确
发表于 2022-05-04 14:01:15 回复(0)
短的转成长的,长的转成精度高的
发表于 2023-04-17 08:39:49 回复(0)
类型转换  低类型会强制转换成好类型  double最高
发表于 2023-10-08 19:24:26 回复(0)
隐式类型转换,char和short在进行计算时会强制转换成int类型计算,运算式中含有其他类型时,根据强制转换标准进行转换short,char-->int-->unsigned-->long -->double<--float
发表于 2023-02-27 16:37:57 回复(0)
谁最厉害,最后就是谁。double占8字节厉害。
发表于 2022-11-21 23:58:56 回复(0)