前言
在C语言中包括了许多操作符,这次我们先初步认识一下有哪些操作符及作用吧
一、算术操作符 + - * / %
+ 两个值的简单相加
- 两个值的简单相减
* 相乘
/ 相除,结果为整数
% 取模(余),整除后取余数
![](https://i-blog.csdnimg.cn/blog_migrate/b065a52539e38ee151bf09fbb90a9e2c.png)
以上代码就是算术操作符简单的应用,但是我们把/ 和%单独划分出来,是因为这两个操作符比较特殊
![](https://i-blog.csdnimg.cn/blog_migrate/cd50642c02cd8b6aa060014d31e955e7.png)
分析代码
创建两个int类型的变量并且赋值
b=a/2得到的结果为2而不是2.5
只要将int类型改为double浮点型并给被除数用小数表示就可以得到2.5
%为整除后取余数,例如5%2=1
二、移位操作符 << >>
移位操作符作用于一个数的二进制数
![](https://i-blog.csdnimg.cn/blog_migrate/160857aeea2fd2d947eaabc76e75e555.png)
分析代码
变量a赋值为2
2的二进制为:00000000000000000000000000000010
<<1,表示二进制向左移一位:00000000000000000000000000000100(末尾0补齐)
>>1,表示二进制向右移一位:00000000000000000000000000000001
则结果分别为4和1
三、位操作符 & | ^
&-----> 按位与,二进制有0就为0,全1才为1
| ----->按位或,二进制有1就为1,全0才为0
^----->按位异或,二进制相同为0,相异为1
![](https://i-blog.csdnimg.cn/blog_migrate/e03cd503d002a792a3597642b2eafd5e.png)
如图,3 & 5 =1
![](https://i-blog.csdnimg.cn/blog_migrate/850d8b7d994d5252c11e3a3ea6cb01bc.png)
如图,3 | 5 = 7
![](https://i-blog.csdnimg.cn/blog_migrate/3039b0b5f2aa1672879e38c76002940a.png)
如图,3 ^ 5 = 6
四、单目操作符
! -----> 逻辑反操作
- ----- > 负值
+ ----->正值
& ----->取地址
sizeof--> 操作数的实际长度
~ ------> 按位取反
-- -----> 前置--,后置--
++ ----> 前置++,后置++
* ------>间接访问操作符
!逻辑反操作
![](https://i-blog.csdnimg.cn/blog_migrate/7cf14428cfcd8b743f5df58c2da4a192.png)
!代表反的意思
0代表假,非0代表真
!真=假,!假=-真
sizeof 计算变量或类型所创建变量占内存的大小
单位为字节(byte)
![](https://i-blog.csdnimg.cn/blog_migrate/fe2d2dceeade1eed0363076559986701.png)
~ 按位取反,对于二进制位
0--->1,1--->0
例如-1为负整数,二进制有原码,反码,补码(内存中存储的)
原码: 10000000000000000000000000000001
反码: 11111111111111111111111111111110
补码: 11111111111111111111111111111111
a=-1,b=~a
b为补码的按位取反:00000000000000000000000000000000
![](https://i-blog.csdnimg.cn/blog_migrate/535095da2274b423f92606abaa3789fd.png)
如果是0按位取反,取反后得到补码,补码变反码再变原码时符号位1不变
++ 前置++,后置++
前置++:先++,后使用
后置++:先使用,后++
![](https://i-blog.csdnimg.cn/blog_migrate/b0b222a44e68197a3063af9f4fe78a14.png)
(类型) 强制类型转换
![](https://i-blog.csdnimg.cn/blog_migrate/8a869c59090a558a3e76054ce0a7858d.png)
&& || 逻辑操作符
&& 逻辑与,并且
|| 逻辑或,或者
![](https://i-blog.csdnimg.cn/blog_migrate/f788f5244747cf89f03e7a1ea0590122.png)
exp1 ?exp2 :exp3 条件操作符
exp1成立,结果为exp2,不成立则为exp3
![](https://i-blog.csdnimg.cn/blog_migrate/0eeec90e2a826c74a119ea87504aca72.png)
a>b,成立结果为a,不成立结果为b
0<3,则结果为b=3
exp1 , exp2 , exp3 逗号表达式
从左向右依次计算,整个逗号表达式的结果为最后一个表达式的结果
![](https://i-blog.csdnimg.cn/blog_migrate/09f1509b22392b0e9581e5b587345d1d.png)
【】下标引用操作符 ()函数调用操作符
![](https://i-blog.csdnimg.cn/blog_migrate/d3930b084c57ebf8f52565c2a403f39d.png)
arr【5】=6,下标为5
printf函数后的()就是函数调用操作符
总结
以上就是本人对于初识操作符的学习与理解