8.操作符
►算术操作符:+ - * / %(%求余数)
►移位操作符:>> <<
►位操作符:& ^ |
►赋值操作符:= += -= *= /= &= ^= |= >>= <<=
►单目操作符:只有一个操作数
(a+b;+有两个操作数,是双目操作符)
! 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度(以字节为单位)
~ 对一个数的二进制按位取反
-- 前置、后置--
++ 前置、后置++
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
►关系操作符:
>
>=
<
<=
!= 用于测试“不相等”
== 用于测试“相等”
►逻辑操作符
&& 逻辑与
|| 逻辑或
►条件操作符:
exp1 ? exp2 : exp3
►逗号表达式 :exp1, exp2, exp3, …expN
►下标引用、函数调用和结构成员:
[] () . ->
左移操作符(<<):移动的是二进制位
#include<stdio.h>
int main()
{
int a = 2;
int b = a << 1;
printf("%d\n", b);//b=4
//a=2(0000 0000 0000 0000 0000 0000 0000 0010)在代码中整数的二进制是32位
//向左移一位(000 0000 0000 0000 0000 0000 0000 00100)=4,
//左移一位相当于把最前面的一位抓到最后面去补,右移相反
return 0;
}
//赋值操作符
#include<stdio.h>
int main()
{//a初始值=2,打印结果位7的几种写法
int a = 10;
//a = 7;//第一种
//a = a + 5;//第二种
//a += 5;//第三种
printf("%d\n", a);
return 0;
}