c语言验证算术类转换,C语言:算数运算符

算数运算符顾名思义就是进行运算的符号

+ 加法运算符

- 减法运算符或负值运算符

* 乘法运算符

/ 除法运算符

% 模运算符或称取余运算符,要求%两侧均为整型数据

算术表达式:用算数运算符降数据连接起来的式子,称为算数表达式,例如:a+b、10/5等,如果表达式复杂的话,就要注意下运算的顺序,运算的顺序是按照运算符的结合方向和优先级进行的。

结合方向

算术运算符的运算方向是从左向右。例如表达式2+3+4,先计算2+3

优先级

优先级越高,就越先结合,此时并没有参与运算仅仅是操作符与操作数结合到了一起:

负值运算符(-)> 乘法运算符(*)、除法运算符(/)、取模运算符(%)> 加法运算符(+)、减法运算符(-)

小括号

如果需要计算优先级低的,可以使用小括号括住,小括号的优先级是最高的

例如1+2*5-3,默认顺序是*、+、-

如果想优先执行加法,就应该这样写(1+2)*5-3,最后的结果都还是不同的。

计算顺序

多个操作符混合运算的话,优先级高的运算符与其操作数结合到一起,称为一个整体,但并没有计算,计算时要看最外层的运算符是什么,它会按照最外层的操作符的结合方向进行计算,然后一层层的计算。

例如表达式3*4+2*8/-4的计算顺序为:先-与4结合,然后3*4结合,5*8结合,结合的结果为(3*4)+((2*8)/(-4)),此时最外层为+

加法运算先计算左边的操作数,那么3*4先进行结果运算为12+((2*8)/(-4)),然后计算+右边的操作数((2*8)/(-4))

它的最外层是/,那么先计算左边的2*8计算后的结果为16/(-4),然后计算16/(-2)结果为-4

现在计算表达式为12+(-4),最终的结算结果为8

算术运算的注意点:

1.自动类型转换

int a = 10.6;

int b = 10.5 + 1.7;

2.自动将大类型转换为了小类型,会丢失精度

自动类型提升

int b = 10.5 + 10;

3.将右边的10提升为了double类型

double b = 1.0 / 2;

解决除法的精度问题

4.强制类型转换

double a = (double)1 / 2;

double b = (double)(1 / 2);

原文:http://www.cnblogs.com/qianbi123/p/4067652.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值