【C语言】操作符详解

2023-12-14 02:07:00

提示:道路很远,脚步更长
本文由@睡觉待开机原创,未经允许不得转载。
本内容在csdn网站首发
欢迎各位点赞—评论—收藏
如果存在不足之处请评论留言,共同进步!


前言

提示:这里可以添加本文要记录的大概内容:

操作符是我们进行C语言编辑的必不可少的工具,下面来简单了解一下常用操作符吧:
在本文章中,因为大部分操作符比较简单,我们重点讲一下其中几个操作符,其他一带而过了。


提示:以下是本篇文章正文内容,下面案例可供参考

一、常用操作符大全

在这里插入图片描述

二、关于二进制的位操作符

C语言中的位操作符,这个位指的是二进制位,一个二进制位在计算机中是一个bit位
因为位操作符与二进制息息相关,我们来简单看一下二进制。

(一)什么是二进制?

二进制是一种相较于十进制而言数字表示的另一种形式,因为计算机的兴起而被迅速推广。
其实在组成我们十进制中,由0.1.2.3…9共计十个数字组成,并且每一位有100,101 ,102,103(从个位开始)…
同理,二进制也是由0.1两个数字组成,并且每一位有20,21,2^2…(从最左边开始看)…
那么二进制如下:
在这里插入图片描述

(二)二进制与不同进制之间的转换

(1)二进制与十进制之间的转换:

凑数法:因为每个二进制位上只有1或者0,并且二进制位的权重固定,因此可以直接凑数,比如:
在这里插入图片描述

(2)二进制与八进制之间的转换:

小知识:在C语言编程中,编译器会把 0 开头的数字自动识别为8进制数字
每三个二进制位会转换为一个八进制位,一个八进制位会转换成三个二进制位
在这里插入图片描述

(3)二进制与十六进制之间的转换:

小知识:在C语言编程中,编译器会把 0x 开头的数字自动识别为16进制数字
在这里插入图片描述

三、原码、反码、补码

原码反码补码的概念是在计算机内存当中针对整形的存储而言的。
首先要明确,

无符号整数原码反码补码都是与原码相同

有符号整数的规则如下:
原码:就是某一个数字在的二进制状态
反码:原码除符号位取反
补码:在反码的基础上加一

我们以有符号整数举例:-10
在这里插入图片描述

四、二进制基础上的各种操作符

(一)位移操作符

(1)>>位右移操作符

有两种规则,分别是算术右移和逻辑右移(取决于编译器的实现,但大部分是算术右移)
算术右移:右边超出的扔掉,左边缺的补符号位
逻辑右移:右边超出的扔掉,左边缺的补0

(2)<<位左移操作符

只有一种规则:左边超出的扔掉,右边补0

(3)左移右移图示

在这里插入图片描述

(二)位操作符(前提:操作数为整数)

(1)按位与&

计算规则是:有0为0,全1为1

(2)按位或|

计算规则是:有1为,全0为0

(3)按位异或^

计算规则是:相同为0,相异为1

(4)按位取反~

计算规则是:补码包括符号位,全部取反,1变成0,0变成1

(5)上面四种位操作数的配图:

在这里插入图片描述

五、其他操作符

(一)单目操作符

1.单目操作符的意思是操作数只有一个
2.值得注意的是sizeof是一个操作符,注意sizeof不是一个函数,因为sizeof的()其实可以省略

(二)逗号表达式

逗号表达式的运算逻辑是这样的:都进行运算,与=结合只将最后一个式子进行赋值。
这里需要注意:
1.逗号表达式与=结合使用时候要整体用括号括起来
2.逗号表达式不用括号括起来,那么有=的情况下第一个式子赋值

(三)函数调用操作符和下标引用操作符

(1)函数调用操作符()

函数调用操作符是针对于函数,我们仔细观察C语言中所有函数后面都有一对小括号,main函数也不例外,其中()的操作数至少有一个函数名,也可以多个传值或者传值

(2)下标引用操作符[]

下标引用操作符是针对于数组,我们需要调用数组时候我们可以使用下表引用操作符来进行引用。
这里有个小点可以注意一下:arr[i]相等于*(arr+i)

六、结语

以上就是关于一些C语言中比较重点操作符讲解了,希望可以用所收获~

文章来源:https://blog.csdn.net/2302_79031646/article/details/134814903
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。