文章目录
1.算数运算符
名称 | 功能 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
% | 求余 |
注意:算数运算符两边的数据要注意类型一致,不然无法得到想要的运算结果
比如:5/2.0你只是想得到2,但是一个数据为整型另一个为double就是发生隐式类型转换,5先变成double数据类型然后再进行运算得到的就是2.500000
2.关系运算符
名称 | 功能 |
---|---|
== | 判断是否相等 |
!= | 判断是否不相等 |
>= | 大于等于 |
<= | 小于等于 |
> | 大于 |
< | 小于 |
注意:
在判断相等的语句时经常会少写一个等于号
将常量写在前面就会避免这种问题
比如:if(1 == ret)而不是写为 if(ret == 1)
这样写的好处时当你少写一个等号的时候编译器直接报错,而后者会当成一个赋值语句。
3.逻辑运算符
名称 | 功能 |
---|---|
&& | 且 |
或() | 或 |
! | 非 |
逻辑运算输出的都是逻辑值真:1假:0
&&跟||都有截断特性:
&&是在表达式中只要第一个是假就不会计算后面的式子,一假即假
||在表达式中只要第一个是真就不会计算后面的式子,一真即真
#include <stdio.h>
int main(int argc, const char *argv[])
{
// && 逻辑与截断
int a = 0;
int b = 0;
int ret = 0;
ret = a++ && ++b;
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("ret = %d\n",ret);
// || 逻辑或截断
a = 0;b = 0;ret=0;
ret = ++a || ++b;
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("ret = %d\n",ret);
return 0;
}
结果:
4.位运算符
名称 | 功能 |
---|---|
按位与(&) | 与0的0 |
按位或() | 或1置1 |
按位异或 | 相同为0,相异为1 |
按位取反~ | $1取反 |
>>右移 | 变小除以2的n次方 |
<<左移 | 变大乘以2的n次方 |
(1)置零
将变量的第n为置为1,a&~(1<<n),将1左移n位取反,就可以将某一位至为0
(2)置1
将变量的第n为置为1,a|(1<<n),将1左移n位就可以将某一位至为1
(3)异或
特性1:异或0还是该数本身
特性2:异或本身将数变成0
(4)取反
整数9 进行取反
5.赋值运算符
左值:放在等号左边的值
右值:放在等号右边的值
左右值的关系:
其他赋值运算还有+=,-=,/=,%=,
数据的扩展和截断:
截断:
大数据放在小空间中会引发数据截断,直接截断数据低位
char ch‘= 300;
扩展:
小数据放在大空间中
有符号扩展符号位
无符号扩展0
6.三目运算符
表达式?表达式1:表达式2;
这个式子的含义时,表达式1的值是否时逻辑真值,如果时真则执行表达式1,如果时逻辑假则执行表达式2
7.逗号运算符
从左到右依次执行,把最后一个表达式的结果进行返回
8.sizeof运算符
sizeof(运算符/优先级)
获取数据类型/变量在内存中所占的字节数
8.运算符的优先级和结合性
括号
单目运算符
双目运算符:算数运算符>移位运算符>关系运算符>位运算符>逻辑运算符
三目运算符
赋值运算符
逗号运算符
在优先级相等的情况下就要看结合性:大多数运算符的结合性是从左到右,只有三个运算符是从右向左:
(1)条件运算符
(2)赋值运算符
(3)弹幕运算符
9.运算符的
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。