当前位置:网站首页>C语言中的一系列操作符
C语言中的一系列操作符
2022-08-02 16:52:00 【51CTO】
C语言中有一系列的操作符,这些操作符你是否都认识呢?
想要学好C语言首先你得有一种空杯心态,所以不管认不认识都和我们一起再看一遍吧!
C语言中的操作符:
C语言中主要包括算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式等。让我们一一来看看它们到底如何使用吧!
算数操作符: +、-、* 、/、%
算术操作符中的+、-、* 相信大家都会,但一些初学者就分不清楚/和%的区别(悄悄告诉你我几个月前也分不清)。


其实a/b的结果就是a除以b的商,而a%b就是a除以b所得的余数,就像代码中7除以2商3余1,所以7/2等于3,而7%2等于1。
移位操作符: <<、>>
左移操作符与右移操作符相似,我们就以左移操作符举例吧。


那么为什么结果是10呢?
其实数字在电脑中是以二进制方式储存的,而int型的大小为4个字节,也就是32个比特位,所以5的二进制表示为00000000000000000000000000000101,a<<1也就是将a的二进制位统一向左移动一位,空出来的用0补齐,将变换后的二进制转换为十进制输出即可。

而a<<1后的二进制所对应的十进制数便是10,所以输出为10。
位操作符: &、|、^
位操作符的运算机制很相似,只是规则不同而已。它们都是先把待操作数转化为二进制,将它们二进制每一位的数字进行比较,然后进行操作。
&:二进制对应位两个都为1则为1,否则为0。
|:二进制对应位两个都为0则为0,否则为1。
^:二进制对应位相同则为0,不同则为1。


赋值操作符: =、+=、-=、*=、/=、&=、|=、^=、<<=、>>=
赋值操作符在我看来就是简化了一下语句:

其他的以此类推即可。虽然刚开始看起来有点别扭,但当你看多了也就习惯啦^ _ ^
单目操作符:
操作符 | 操作符的作用 |
! | 逻辑反操作 |
- | 负值 |
+ | 正值 |
& | 取地址 |
sizeof | 操作数的类型长度(以字节为单位) |
~ | 对一个数的二进制按位取反 |
- - | 前置、后置- - |
++ | 前置、后置++ |
* | 间接访问操作符(解引用操作符) |
(类型) | 强制类型转换 |
单目操作符,顾名思义其操作数只有一个。
关系操作符: >、>=、<、<=、!=、==
关系操作符比较简单,但要注意使用 ==时,不要写成=了,初学者需要特别注意这一点。
逻辑操作符: &&、||
&&:两边为真即为真,否则为假。
||:两边为假才为假,否则为真。
(它们都是为真返回1,为假返回0。)

条件操作符: expr1?expr2:expr3
该表达式中,如果expr1为真,则返回expr2的值,否则返回expr3的值。

逗号表达式: expr1,expr2,expr3,…,exprN
逗号表达式会按从左到右的顺序进行编译,但最后返回的是最后一个表达式的值。

边栏推荐
猜你喜欢

npm install 编译时报“Cannot read properties of null (reading ‘pickAlgorithm‘)“

SQL Statement Basics

【Redis】连接报错:Could not connect to Redis at 127.0.0.1:6379: Connection refused

什么是实时流引擎?

MySQL常用的日期时间函数

Continuous integration (4) Jenkins configuration alarm mechanism

FPGA 20个例程篇:10.遍历DDR3内存颗粒读写循环校验

【二】通过props进行传值,子页面多种方式接收

js添加元素,去重,排序

【电子器件笔记6】三极管(BJT)参数和选型
随机推荐
默认用户名和密码(SQL)
Coordinate knowledge in digital twin campus scenarios
德国客户对文档管理系统、工作流自动化软件 DocuWare 的评价
oracle 和mysql 语句结果不一致问题
Oracle 11g rac打完补丁,dbca新建数据库还需要执行应用补丁的sql吗?
Arduino 硬件编程语言基础学习入门
Locking and Concurrency Control (4)
Red and blue against experience sharing: CS from kill posture
金仓数据库 OCCI 迁移指南(4. KingbaseES 的 OCCI 迁移指南)
DeepMind 首席科学家 Oriol Vinyals 最新访谈:通用 AI 的未来是强交互式元学习
uniapp引入vantUI库
js商品总价格、最高价格商品、排除重复商品[初版]
【电子器件笔记7】MOS管参数和选型
Mysql应用安装后找不到my.ini文件
[300+ selected big factory interview questions continue to share] Big data operation and maintenance sharp knife interview questions column (10)
分类实验报告作业
尚硅谷尚品项目汇笔记(三)
金仓数据库KingbaseES安全指南--6.10. Peer身份验证
golang源码分析(7):chan
数字孪生园区场景中的坐标知识