计算机悄悄干了些什么

本文探讨了在C#编程中,不同数据类型进行运算时的自动类型转换规则。当涉及int、char、double和float等类型时,编译器会根据数据长度和精度自动转换类型,确保计算的准确性和数据不失真。例如,char类型与int运算时,char会先转换为int;而当double与float运算时,float会被转换为double。此外,还介绍了赋值运算中右侧值转换为左侧类型的规则,以及在使用LINQ时可能涉及的数据类型转换情况。
摘要由CSDN通过智能技术生成

 题目:

char a ; int b ; flat c ; double d ;
则表达式 a*b+d-c 值的类型为()
A float
B int
C char
D double

选啥呢,我选的B,为啥呢,因为我认为int 类型级别最高,当不同类型数据进行算术运算时,会进行从低到高类型的自动转换,所以无论哪种类型与int 进行算术运算,都会自动转换为int 类型再计算,所以选C;

答案:D

解析:

 a*b+d-c 

先计算a*b的数据类型,因为 a 为char与 b为 int ,int级别高于char,所以会先把a从char自动转换为int,再计算a乘b的值,a*b结果类型为int; 

再计算a*b+d,因为a*b结果类型为int, d为double,double级别高于int,所以会先把a*b从int 自动转换为double再与d相加,a*b+d结果类型为double;

再计算a*b+d-c, 因为a*b+d结果类型为double,c 为fl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值