(一)运算符基本概念
Ⅰ 赋值运算符:
①左值和右值:按字面意思,通俗地说。以赋值符号 = 为界,= 左边的就是左值,= 右边就是右值。 比如:(1) int b = 3;(2) int a = b;第(2)行代码,a为左值,b为右值。--->百度百科
②优先级&结合性
优先级 ———— 算法(怎么去算) —————— 先算括号,再算乘除再加减
结合性 ———— 读法(怎么去读) —————— 从左到右或从右到左
优先级和结合性表
Ⅱ 算数运算符
① +- /*:注意1/2=0(类型转换,没有0.5的说法),除号/自动取整
② % 取余正负只和被取余数有关
Ⅲ 位运算
③移位:>> 右移 << 左移 记忆:看箭头方向
④按位取反~:对一个数的二进制按位取反
⑤ 按位异或∧ : 参加运算的两个数,按二进制位进行“异或”运算。
运算规则:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0。(同零异一)
⑥按位或 |: 参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。当参与运算的是负数时,参与两个数均以补码出现.(有1则1)
⑦按位与&:参与运算的两数各对应的二进位相与。只有对应的两个二进位都为1时,结果位才为1。参与运算的两个数均以补码出现。(有0则0)
Ⅳ 复合赋值运算符:+=、/=、*=等
例子:int num=8;num+=2;等价于num=num+2=8+2;以此类推
(二)条件与逻辑运算符
①计算机中的成立和不成立:非零值表示成立,只有NULL 0 \0 表示不成立。
bool类型:头文件:stdbool.h; bool类型成立打印1,否则打印0;
②条件运算符:
③逻辑运算符:
(三)特殊运算符
①逗号运算符,:有效值是最右边,执行过程从左往右
②sizeof运算符:作用:统计类型所占用的字节数;工作期:编译期完成。
③三目运算符 表达式1?表达式2:表达式3
用法:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
可以理解为条件 ? 结果1 : 结果2 里面的?号是格式要求。也可以理解为条件是否成立,条件成立为结果1,否则为结果2。
注意:在C语言中,结果1 和 结果2的类型必须一致。
④自增/自减 ++ --: 使操作数的值加1(或-1),其操作数必须为可变左值。
前置/后置:前置:先加1,后参与运算 后置 :先参与运算,再加1;