运算符
1.什么是运算符 运算符的作用
基本的运算所用到的符号 比如+ 两个数字相加
对数据进行基本的运算
2.注意事项
运算符号写法
+ - * / %
运算符含义
优先级 1+2*3
计算的顺序(15层)
(1+2)*3 要么加()
3.运算符计算规则
算术运算符
+ - * / %
整数相除 得到的结果是整数 3/4=0
printf中 %f和%lf 效果一样
% 求余(取模) 求余数(只能两个整数可以求余)
3%4
双目 3+4 两个数据相加
从左往右 1+2+3+4*5
关系运算符合逻辑运算符
> < >= <= == != 比较两个数据的大小 得到比较的结果
比较左右两端的数据 3<4 成立就是真返回1 不成立 假返回0
== 比较左右两端数据是否相等(一个=是赋值运算符)
分支语句 用做条件 循环的条件
三目运算符 用做条件
3<10<5--->1<5
3<x<5
逻辑运算符 作用连接关系运算符
x必须是比3大 并且比15小
逻辑 ||表示左右两个条件成立一个就行 两个都不为真 结果就为假
(截断)只要是左边条件为真 右边不需要判定条件
逻辑与 &&左右两端 有一个条件不成立 结果就为假
(截断)如果左边的条件不成立 那么右边不需要判断
逻辑非 ! 真变假 假变真(很少用到)
如果条件比较复杂 可以连着写 建议 分开写 读起来比较方便
位运算符 对整数的二进制进行操作(对正整数和0)
12 0000 1100
63 0011 1111
& 按位与 12&63 两个数字二进制比较 如果同一位两个数字不相同 那么结果为0 否则为1 0000 1100
| 按位或 12|63 0011 1111 有1则1
~ 取反 ~12 1111 0011 (每一位1变0 0变1 包括最高位)
^ 按位异或 12^63 相同为0 不同为1 0011 0011
1.交换两个变量
对一个数字异或两次 可以得到他本身
int a=3,b=4; a=a^b;b=a^b;a=a^b;
2.用来简单的加密和解密操作
文本 看成一串字符
每个字符进行一个异或操作----->内容和之前不一样()加密之后的内容
加密的内容 在进行一次异或 得到之前的内容(解密操作)
<< 左移 12<<2 12左移两位
0000 1100 去掉左边两个数字 后面加两个0
0011 0000 (左移后的结果)
>> 右移 12>>2 去掉右边两个数字
00 0000 11 (左边补上相同位数的数字 正数补0 负数补1)
0000 0011 3
右移相当于除以2
右移一位
除法运算满 右移比除法快
赋值运算符
a=3
从右往左运算
其他运算符
(类型)值 强转
sizeof(类型/变量) 类型大小
分号语句的结尾 都好可以隔开几个表达式
x=2,y=3,z=4;
三目运算符 ?:
条件?表达式1:表达式2
先判断条件 条件成立 表达式1 不成立 表达式2
[]数组
.->结构体中
*指针
++ -- 自增自减
++给变量加1
--给变量减1
i++ 后++
++i 前++
单独使用i的结果没有区别 ++i比较快