c语言中运算符的优先级

• 运算符(operator)是指进⾏行运算的动 作,⽐比如加法运算符“+”,减法运算符 “-”。

• 算⼦子(operand)是指参与运算的值,这 个值可能是常数,也可能是变量,还可能 是⼀一个⽅方法的返回值

单目运算符

1.代表符号:!(逻辑非) ~(按位取反)++(自增)--(自减)

举例:int a=1;a++;(第二句“a++”则只对a一个变量进行了操作)

双目运算符

2.双目就是这个运算符对两个变量进行操作

举例:int a=1,b=2,c;c=a+b;(第二句“c=a+b”则是对a,b两个变量进行了操作)


c语言中运算符的优先级_第1张图片
a++;++a

int main()

{

int a;

a=10;

printf("a++=%d\n",a++);

printf("a=%d\n",a);

printf("++a=%d\n",++a);

printf("a=%d\n",a);

return 0;

}

a++=10  /*a++作为一个表达式是a+1以前的结果,但做完以后a就变为11了*/

a=11

++a=12  /*++a这个表达式的结果是a+1以后的结果,所以前缀是加1以后作为它的结果,后缀相反*/

a=12  /*两种作用a都增加1*/


c语言中运算符的优先级_第2张图片
10进制转化为16进制

int main()

{ int x;

scanf("%d",&x);

printf("%x\n",x);

return 0;

}

条件语句


c语言中运算符的优先级_第3张图片
优先级

所有的关系运算符的优先级⽐比算术运算的 低,但是⽐比赋值运算的⾼高

• 7 >= 3 + 4  /*结果为1*/

• int r = a>0;

• 判断是否相等的==和!=的优先级⽐比其他的 低,⽽而连续的关系运算是从左到右进⾏行的

• 5 > 3 == 6 > 4

• 6 > 5 > 4

• a == b == 6

• a == b > 0

你可能感兴趣的:(c语言中运算符的优先级)