提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
1.各种操作符的介绍
2.表达式求值
操作符的类型:
1 算术操作符:+ - * / %
/:5/3=1 %:5%3=2
#include<stdio.h>
int main()
{
int a = 5 / 3;
int b = 5 % 3;
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
如要打印小数:可以 float a=5.0/3(至少有一个小数)
int main()
{
float a = 5.0 / 3.0;
printf("%f\n", a);
return 0;
}
%操作符两端必须为整数,不可以模0和负数
2 移位操作符:<< (左移操作符) >>(右移操作符)
如a=3
<<:把3的二进制位向左移动1位,左边丢弃,右边添加0
000000000000000000000000000000000011
000000000000000000000000000000000110(结果为6)
int main()
{
int a = 3 << 1;
printf("%d", a);
return 0;
}
>>:3>>1为1
int main()
{
int a = 3 >> 1;
printf("%d", a);
return 0;
}
分为2种右移:算术右移:右边丢弃,左边补原符号位
逻辑右移:右边丢弃,左边补0
3 位操作符 &按位与:对应二级制位有0则为0 |按位或:对应二进制位有1则为1 ^按位异或:对应2进制位相同位0,相异为一 只针对整数
运用 :可以在不添加变量交换变量的值。
int main()
{
int a = 3;
int b = 5;
b = ((a ^ b) ^ b);
a = ((a << 1) ^ a);
printf(" % d %d", b,a);
return 0;
}
int main()
{
int a;
int i;
int b=0;
scanf_s("%d", &a);
for (i = 0; i <= 32; i++)
{
a = a >> i;
if (a & 1)
b++;
}
printf("%d", b);
return 0;
}//利用按位与查看对象二级制位1个数(用到>>)
4 赋值操作符
5 单目操作符
6 关系操作符
7 逻辑操作符
8 条件操作符
9 逗号操作符
10 下标引用,函数调用和结构成员