一篇文章带你了解C语言操作符
作者:不言511
一、操作符分类
C语言的操作符有很多,我这里将其分为十类,然后再对每一类中的操作符进行详细讲解。
1、算术操作符
2、移位操作符
3、位操作符
4、赋值操作符
5、单目操作符
6、关系操作符
7、逻辑操作符
8、条件操作符
9、逗号表达式
10、其它操作符
二、算术操作符
1、这五个操作符分别是加、减、乘、除、求余。
2、对于 / 操作符如果两个操作数都为整数,执行整数除法。而只要有浮点数执行的就是浮点数除 法。
3、除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。% 操作符的两个操作数必须为整数,返回的是整除之后的余数。
三、移位操作符
左移操作符和右移操作符操作的对象都是二进制数。
1、左移操作符
左移操作符的移位规则是:左边抛弃,右边补0。
但是num没有被赋值的情况下,自身的值不会发生变化
2、右移操作符
右移操作符移位规则有两种:
2.1算术移位
左边用原该值的符号位填充,右边丢弃
2.2逻辑移位
左边用0填充,右边丢弃
注意: 对于移位运算符,不要移动负数位,这个是标准未定义的。
四、位操作符
1、按位与
2、按位或
3、按位异或
4、一道练习题
不能创建临时变量(第三个变量),实现两个数的交换
两个相同的数异或为0.
五、赋值操作符
1、赋值操作符(=)是一个很棒的操作符,他可以让你得到一个你之前不满意的值。也就是你可以对其重新赋值。
2、赋值操作符可以连续使用
3、复合赋值符
这些运算符都可以写成复合的效果。
例如:
六、单目操作符
1、逻辑反操作
加上!与之形成相反的逻辑,例如=,加上!变为不等于。一个非零的值加上!输出为0。
2、取地址
3、sizeof
sizeof可以计算操作数的类型长度(以字节为单位)
4、++和--运算符
4.1前置++和--
4.2后置++和--
七、关系操作符
这些关系运算符比较简单,没什么可讲的,但是我们要注意一些运算符使用时候的陷阱。
要注意: 在编程的过程中== 和=不小心写错,导致的错误。
八、逻辑操作符
&& 逻辑与
|| 逻辑或
这里要注意区分逻辑与和按位与 、逻辑或和按位或。
逻辑与和或的特点:
当a=0,0&&任何数都为0,已经确定结果,后面的算式不再计算
九、条件操作符
exp1 ? exp2 : exp3
上面两种写法的逻辑是相同的。
十、逗号表达式
exp1, exp2, exp3, …expN
逗号表达式,就是用逗号隔开的多个表达式。
逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。
十一、其它操作符
1.下标引用操作符[ ]
操作数是一个数组名 + 一个索引值
2.函数调用操作符( )
接受一个或者多个操作数:第一个操作数是函数名,剩余的操作数就是传递给函数的参数。
3.访问一个结构的成员
. 结构体.成员名
-> 结构体指针->成员名
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!