C#算术表达式与算术运算符,复合赋值运算符

算术运算符:  + (加)-(减) *(乘) /(除) %(取余数 取模) 

他们都是二元运算符,要求:参与的两个操作数的类型必须相同,并且经过运算后的结果也与操作数的类型相同。


算术表达式:由算术运算符连接起来的式子.:1+1    a-b(变量ab前面已声明并赋初值)优先级:先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算   5+3*2  


在算术表达式中,如果要改变计算的优先级,用小括号。小括号可以无限制的套用,但一定要成对出现


参与运算(算术运算和赋值运算)的操作数和结果类型必须一致当不一致时,满足下面条件时,系统自动完成类型转换    两种类型兼容例如:int 和 double 兼容目标类型大于源类型例如:double > int 对于表达式如果一个操作数为double型,则整个表达式可提升为double比如10/3求余数要想得到3.333的处理.

例如:

int  testNumber=10;

Console.WriteLine(testNumber/3); 


答案不是3.3333,而是3,小数点之后的部分被自动消失了,这是因为testNumber是整数,而除数3也是整数,运算出来的结果被自动转换为整数了。为了解决这个问题,可以使用下面的方法

int  testNumber=10; 

Console.WriteLine(testNumber/3.0); (解决方法一:如果表达式中有一个浮点数,则程序就会先转换使用浮点数计算)

Console.WriteLine((double)testNumber/3); (解决方法二:“限定类型转换”使用double告诉程序先将testNumber的值转换为double,然后再进行除法运算,所以得到的结果会是正确的3.3333。

类型转换的限定关键词就是定义变量时所使用的int ,float等关键词。

一、自动类型转换

            int a = 10, b = 3;
            int mod = a % b;  //1  
            double quo = a / b;      //3
            double quo = (1.0*a) / b;      //3.3333         

发生自动转换的条件(隐式转换)

1. 参与运算的两个数据类型必须相兼容

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值