shell逻辑运算符优先级_ios从入门到放弃之C基础巩固运算符

继续接着上一次ios从入门到放弃之C基础巩固-----printf函数、scanf函数、scanf函数实现原理来巩固C语言基础,这次学习的是一个非常不起眼的语言基础----运算符,这里主要是对一些比较容易犯错的给拎出来再复习一下,于我而言是有用的,所以即使容易也不厌其烦的来好好复习~~

运算符:

算术运算符:

%取模运算:

1、两侧必须都为整数:

6ab7d9d91c4f2131c13db655f1ea324f.png

2、 利用%求出来的余数是正数还是负数,由%左边的被除数决定,被除数是正数,余数就是正数,反之则反。

528166414fd4ab1f44c06cc294359362.png

3、如果取模运算的左边小于右边,那么结果就是左边。

83575a571e6bab0ed43619d8bb7ca93f.png

类型转换问题:

1、自动类型转换(隐式转换): 

404b70189012baa3c1836cff71106c54.png

对应的就还有一个显示转换,这块就不过多说明了,基本上好多语言都有。

2、自动类型提升:

11b5572c158416592c55100b1dc102ab.png

其中这里有个细节:算术运算符规定只有相同类型的数据才可以进行运算,那对于咱们这个例子很明显10是整型,9.0是小数类型,数据类型不一样,那最终咋又能运算了呢?其实是通过类型提升来达到计算的目的的,如下:

67c92ca00fb48bc536897737ba698b98.png

也就是会将小类型int自动转成大类型double,然后再进行运算。

3、参与运算的操作数是什么类型,那么计算出来的结果就是什么类型

2465278c0ce0f898bae5ca0322b627b9.png

而要想如预期,这样做就可以了:

984cfb99ba9f0a659c78bcea3b0683d9.png 

根本原因还是由于在运算时发现这两操作数不一样,而根据“算术运算符规定只有相同类型的数据才可以进行运算”的原则,会自动将2提升为2.0,然后操作数都为double类型之后,那最终的计算结果不就为double了么?所以结果就如预期啦。

另外还有一种做法就是显示转换类型也可以达到相同的效果:

77b29cc2e6c476d3904020f135546889.png

这里有一个比较容易犯错误的写法:

a400caa4803238367f06373bf595da3d.png

赋值运算符:

这里注意这一点既可:

6692df87f0ab286517656ff592958610.png

标红的其实是这么算的:int number = 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值