1、算数操作符: + 、 - 、 * 、 / 、 %
int main()
{
int a = 9 / 2;//4
float a = 9 / 2;//4.000000
float a = 9.0 / 2;//4.500000
int a = 9 % 2;//%:取模(余),输出1
printf("%f\n", a);
return 0;
}
2、移位操作符:移动的是二进制位、左移 >
int main()
{
int a = 2;
int b = a << 1;//<<:左移,0010左移,为0100,输出4
printf("%d\n", b);
return 0;
}
3、位操作符:、& :按位与、| :按位或、^ :按位异或
4、赋值操作符: = 、 += 、 *= 、 /= 、……
int main()
{
int a = 2;
a += 5;//a=a+5
printf("%d\n", b);
return 0;
}
5、单目操作符:!、--、++、 &(取地址) 、sizeof……
(1)、!:逻辑反
int main()
{
//0为假,1为真
int a = 0;
printf("%d\n",!a);//1
if (a)
{
//为真,触发
}
if (!a)
{
//为假,触发
}
return 0;
}
(2)、sizeof:操作数的类型长度,单位是字节
int main()
{
//sizeof是操作符,不是函数,可以计算类型和变量的大小
int a = 10;//int占4个字节
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof a);//4
int arr[10] = { 0 };
printf("%d\n", sizeof(arr));//40,10*4,计算的是数组的总大小,单位是字节
printf("%d\n", sizeof(arr[0]));//4
int sz = sizeof(arr) / sizeof(arr[0]);
printf("%d\n", sz);//10
return 0;
}
(3)、~:按(二进制)位取反
int main()
{
int a = 0;
printf("%d\n", ~a);//-1
return 0;
}
(4)、++和--:前置(先运算,后使用),后置(先使用,后运算)
int main()
{
int a = 10;
int b = ++a;
printf("%d\n", b);//11
printf("%d\n", a);//11
int a = 10;
int b = a++;
printf("%d\n", b);//10
printf("%d\n", a);//11
return 0;
}
(5)、(类型):强制类型转换
int main()
{
int a = 6.66;//类型不同,报错
int a = (int)6.66;//3
printf("%d\n", a);
return 0;
}
6、关系操作符:==、!=、、=
7、逻辑操作符:&&与、||或
int main()
{
int a = 3;
int b = 5;
int c = a && b;
printf("%d\n", c);//1
int a = 3;
int b = 0;
int c = a && b;
printf("%d\n", c);//0
int a = 3;
int b = 0;
int c = a || b;
printf("%d\n", c);//1
return 0;
}
8、条件操作符(三目操作符)
exp1 ? exp2 : exp3
exp1成立,为exp2、exp1不成立,为exp3
int main()//比较,取最大值
{
int a = 3;
int b = 5;
int max = 0;
if (a > b)
max = a;
else
max = b;
printf("%d\n", max);//5
int a = 3;
int b = 5;
int max = 0;
max = a > b ? a : b;//5
return 0;
}
9、逗号表达式
int main()
{
int a = 0;
int b = 3;
int c = 5;
int d = (a = b + 2, c = a - 4, b = c + 2);//3
//逗号表达式,从左向右依次计算
//表达式的结果是最后一个表达式的结果
return 0;
}
10、下标引用操作符:[ ]
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9 };
printf("%d\n", arr[5]);//[]:下标引用
return 0;
}
11、函数调用操作符:调用函数时的()
int main()
{
printf("666");//():函数调用
return 0;
}
希望本文对大家有帮助,上文若有不妥之处,欢迎指正
分享决定高度,学习拉开差距