【时时三省】(C语言基础)操作符4

山不在高,有仙则名。水不在深,有龙则灵。

                         ----CSDN 时时三省

下标引用、函数调用和结构成员

下标引用操作符

示例:

872476c62fa6475c83c13de250ae51d0.jpg

第二个[]就是下标引用操作符 第一个[]是数组

[]的操作数是两个 一个是arr一个是4

函数调用

示例:

038806d38f964cac8912862864d0fc3f.jpg

 函数必须带后面的括号

结构成员

.

->

示例:

c66d1b11b4154a648f4d751a17796731.jpg

 .的使用

结构体.成员名

->的使用

结构体指针->成员名

表达式求值

示例:

59ca9f1215ac4eb5940ed69d5392414f.jpg

 表达式的求值有时候是根据操作符的优先级和结合性决定的。

同时有些表达式的操作数在求值的过程中可能需要转换成其他类型。

隐式类型的转换

C的整型算术运算总是至少以缺省整型类型的精度来进行的。

为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。

整形提升

示例:

db096dd0578a481ca32f28a6f1737f5b.jpg

3的二进制序列是

000000011

因为它是char类型 char类型是8个比特位

127的二进制序列是

01111111

发现a和b都是char类型的,都没有达到一个int的大小

这里就会发生整形提升

提升后就是

00000000000000000000000000000011

0000000000000000000000001111111

加完以后的结果就是

00000000000000000000000010000010

这个结果会发生截断 因为它是char类型 所以结果就是10000010

c也需要发生整形提升

结果就是

11111111111111111111111110000010

打印的时候还得把这个

如何进行整形提升呢

整形提升是按照变量的数据类型的符号位来提升的

负数的整形提升

因为负号的符号位是1所以补充的时候全是1

正数的整形提升

高位补充符号位 即为0

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时时三省

网络乞丐,在线乞讨。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值