算术操作符
+
-
*
/
/ 除完之后 是商数 7/2 商3余1
除号的两端都是整数的时候,执行整数除法,如果两端只要有一个是浮点数,执行浮点数除法。
%
% 取模 取余数 7%2 = 1
取模操作符的连个操作符只能是整数。
float a = 7 / 2.0;
printf("%f\n",a);
%.1f 打印一位
%.2f 打印两位
移位操作符
>>
右移,
位操作符
^
&
|
赋值操作符
= 赋值
int a = 0 给变量的时候给值 叫初始化。 已经有了a , a = 3 叫赋值
+=
a = a + 3 ======= a += 3
-=
a = a - 3 ======== a -= 3
双目操作符
a + b 左右两边是两个操作数,所以+ 是双目操作符
单目操作符:
只有一个单目操作符
!
c中0 表示假的, 非0 是真
-
负值,相反数
sizeof
是操作符,不是函数! 可以带括号 也可以不带
++
后置++先使用 后++
前置 ++ 先++ 后使用
可以理解成 int b的时候 先使用了a的具体数值10 然后对a进行++ a就变成11了。(b= a , a= a+1)
先++ 后使用,所以int b时 就先对a进行了++ 变成11了 然后b也变成11了. (a= a + 1 , b = a )
--
亦然
(类型),
强制类型转化,
关系操作符:比较大小
>
>=
等等
==
判断相等!!! 两个等号
打印出来了是因为:一个 = 是 赋值,已经吧a 赋值成为3 了 再去判断 当然可以打印了。
两个才是判断相等,所以没有打印出来任何东西。
逻辑操作符
&&
逻辑与 - 并且
||
逻辑或 - 或者
|| 只要有1 个真就可以。
a真b假 打印不出来, 必须a真b真才可以。
条件操作符
exp1 ? exp2 : exp3
又叫三目操作符
1为真 2算 3不算,
1为假 2不算 3算
逗号表达式
逗号隔开的一串表达式
特点:
从左到右依次计算。整个表达式的结果就是最后一个表达式的结果。
[ ]下标引用操作符
如arr[3] 就是访问数组里的第四个元素 arr 和 3 就是 [ ] 的操作数,两个!
可以写成n 因为数组的大小已经确定了。
函数调用操作符()
取地址操作符&
解引用操作符 *p
结构体操作符 .
点 . 是一个操作符, 左边加 结构体对象 右边加成员名
结构体指针操作符 ->
结构体指针变量 -> 成员名