操作符续(整型提升与算术转换)

🤩本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。

🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽,希望可以帮到读者们哦。

🥴内容分享:本期会对C语言中的重点知识操作符进行具体讲解,各位看官姥爷快搬好小板凳坐好叭。

😘:不要998,只要一键三连,三连买不了吃亏,买不了上当(写作不易,拜托拜托)


目录

🥕前言

🫑逻辑操作符

🫓条件操作符

 🍟逗号表达式

🌭下标引用,函数调用和结构体成员

🍛表达式求值

🥘隐式类型转换(整型提升)

🥗算术转换

🍿操作符的属性

🍚总结


🥕前言

上期,我们对操作符的的算术,移位,位,赋值,复合赋值,单目,关系操作符进行了讲解,这期我们将会讲到逻辑,条件操作符和逗号表达式,下标引用,函数调用,结构成员和表达式求值中的整型提升和算术转换。我们会对整型提升和算术转换进行重点的分析。

🫑逻辑操作符

&&      逻辑与

 ||        逻辑或

区分逻辑与和按位或  

区分逻辑或和按位或

🫓条件操作符

exp1 ?  exp2 : exp3

理解:exp1为真,表达式为exp2,exp1为假,表达式为exp3.

 🍟逗号表达式

exp1, exp2, exp3, ......expN

逗号表达式就是用逗号隔开的表达式。

逗号表达式,从左向右依次计算,整个表达式的结果就是最后一个表达式的结果。

🌭下标引用,函数调用和结构体成员

1. [] 下标引用操作符

操作数:一个数组名 + 一个索引值

int arr[10 ];  创建数组

arr [4] = 10; 下标引用操作符

[] 的操作数为arr和4

2. ()函数调用操作符

接受一个或者多个操作符:第一个操作数是函数名,剩下的操作符就是传递给函数的参数。

3. 访问一个结构的成员

.                结构体.成员名

 ->            结构体->成员名

🍛表达式求值

表达式求值的顺序一部分是由操作符的优先级和结合性觉决定的。 

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

🥘隐式类型转换(整型提升)

C语言的整型算术运算总是至少以缺省整型类型的精度来进行的,我个人的理解是:C语言算术运算中字节数少于整型字节数的数据类型在进行整形运算中会被转化为整型数据,这个过程就被成为被称为整型提升。

整型提升的意义:

一般表达式的整型计算是在电脑上的CPU相应的运算器执行,然而CPU的运算器ALU的操作数的字节大小一般是int类型的字节大小,其次CPU中的寄存器的大小也等于int类型的字节大小,而我们知道,数据在被运算的时候不是直接储存在ALU中,而是储存在储存器当中,但通常ALU的字节大小与寄存器的字节大小相等。所以小于4个字节的整型在相加时,在CPU中通常会先转化为CPU中操作数的标准字节长度。

一般cpu是难以实现两个字节的直接相加运算。所以,一般长度小于int类型的整型值,都必须转化为int或unsigned int类型再送入CPU中计算。
如何整型提升:

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

1 如果是无符号的,则高位都补0

2 如果是有符号的,则高位都补符号位

注:在计算机中任何数据储存都是二进制的补码

🥗算术转换

如果某个操作符的各个操作数属于不同的类型,那么除非其中一个操作数的转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系为寻常算术转换。

long double
double
float
unsigned long int
long int
unsigned int
int

🍿操作符的属性

复杂表达式的求值有三个影响的因素:

1. 操作符的优先级

2. 操作符的结合性

3. 是否控制求值顺序

两个相邻操作符取决于它们的优先级。如果两者优先级一样,取决于它们的结合性。

下面是部分操作符的优先级:

🍚总结

到这里,操作符的全部内容已经全部分析完了。对于操作符,看是不起眼,但是在c语言中它具有螺丝钉的作用,大家还是得重视重视它们。下一期文章我们将会对c语言中人人害怕的指针下手了,其实我认为它也没那么可怕叭,进行合理的理解就行咯。那大家还是对下一篇指针文章期待一下叭。 

  • 32
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 49
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

paper jie

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值