C语言操作符——简单总结

操作符的分类:

1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.复合操作符
6.关系操作符
7.逻辑操作符
8.单目操作符
9.条件操作符
10.逗号表达式
11.下标引用,函数调用,结构成员

算术操作符

种类 注意事项
+

/ 除数不能为 0
% 操作数必须是两个整数
提醒:在进行算术运算时,要注意运算过程中类型的隐式转换

移位操作符

种类 作用 注意事项
<< 按二进制左移 ,高位抛弃,低位补0 类似于*2^n

逻辑右移:按二进制右移,低位抛弃,高位补0; 类似于/2^n,一般用的是算术右移
算术右移:按二进制右移,低位抛弃,高位补符号位(0或1)
负数在计算机中按补码存放
提醒:移位操作相比于普通的算术操作,运算时间会短一些,但是在写代码的过程中,算术运算的优势体现的更明显一些,首先是代码的可读性强,其次是编译器会进行算术运算到移位操作的自动转化优化,因此无需再担心运算时间的问题。

位操作符

种类 作用 注意事项
& 按二进制进行与运算
I 按二进制进行或运算
^ 按二进制进行异或运算 a ^ b ^ a == a

赋值操作符

种类 注意事项
= 注意赋值类型

复合操作符

种类 注意事项
+=
-=
*=
/=
%=
a += b等价于a = a + b;

=
<<=
a >> b等价于a = a >> b;
&=
I=
^=
a & b等价于a = a & b;

关系操作符

种类 注意事项

<

=
<=
==
!=
==不要与=混淆
!= 是不等于的意思
提醒:关系操作符时常与逻辑操作符搭配,如 a > 1 && a < 10
但是不能写成 1 < a < 10

逻辑操作符

种类 作用 注意事项
&& 按逻辑与进行判断 区分位操作符&
II 按逻辑或进行判断 区分位操作符 I
提醒:逻辑操作符又称作短路操作符,如果&&和II的第一个操作数能够确定整体的值,则第二个操作数不再判断。

条件操作符

种类 作用 注意事项
exp1 ? exp2 : exp3 exp1成立则返回exp2,否则返回exp3 条件操作符又称作三目操作符
条件操作符的优先级最低
提醒:上述条件操作符等价于:

if (exp1) {
return exp2;
} else {
return exp3;
}

逗号表达式

种类 注意事项
exp1, exp2, exp3, …, expn 从左到右依次执行,但整个表达式的结果为最后一个表达式的结果expn
提醒:逗号表达式的作用可能不是很明显,比如看下列代码

int a = 1;
int b = a;
if (a > 0) {

}
用逗号表达式来表示:

int a, b;
if (a = 1, b = a, a > 0) {

}

其实还是第一段代码比较好

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

种类 注意事项
[ ] arr[index] index >= 0
() Fac()
()内存放参数,区别形参和实参
.
-> 直接访问结构体成员:student.name
间接访问结构体成员:student -> name

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值