前言
C语言运算符按照操作数可以分为单目运算,双目运算和三目运算。
还可以按照类型区分:
1.初等运算符2.单目运算符3.算术运算符4.移位运算符5.关系运算符6.逻辑运算符7.条件运算8.赋值运算9.逗号运算
一、初等运算符
()的优先级最高
二、单目运算符
1.! 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。
2.~ 成为按位取反运算符,对操作数的每一位执行逻辑取反操作,即将每一位的 0 变为 1,1 变为 0,取反运算符,按二进制位进行"取反"运算。
3.++ 自增运算符,++a运算符在前时,a先自加,然后在赋值。a++运算符在后时,a先赋值,之后在自加。
4.- 自减运算符,–a运算符在前时,a先自减,然后在赋值。a–运算符在后时,a先赋值,之后在自减。
以下实例演示了 a++ 与 ++a 的区别:
#include <stdio.h>
int main()
{
int c;
int a = 10;
c = a++;
printf("先赋值后运算:\n");
printf(" c 的值是 %d\n", c );
printf(" a 的值是 %d\n", a );
a = 10;
c = a--;
printf(" c 的值是 %d\n", c );
printf(" a 的值是 %d\n", a );
printf("先运算后赋值:\n");
a = 10;
c = ++a;
printf(" c 的值是 %d\n", c );
printf(" a 的值是 %d\n", a );
a = 10;
c = --a;
printf(" c 的值是 %d\n", c );
printf(" a 的值是 %d\n", a );
return 0;
}
三、算数运算符
假设A=10,B=20。
注意:%运算符左右操作数都必须为整数
四、移位运算符
五、关系运算符
下表显示了 C 语言支持的所有关系运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:
六、逻辑运算符
下表显示了 C 语言支持的所有关系逻辑运算符。假设变量 A 的值为 1,变量 B 的值为 0,则:
假设变量 A 的值为 60,变量 B 的值为 13,则:
七、条件运算
八、赋值运算符
下表列出了 C 语言支持的赋值运算符
九、逗号运算符