c语言运算符优先级以及结合性

目录

前言

一、运算符是什么?

定义:

分类:

优先级:

几目运算符:

二、运算符的优先级表

     


前言

做题的时候总是忘记运算符的优先级和结合性,导致在计算表达式值的时候犹豫不定,所以特别记录一下,忘记的时候方便查看。

一、运算符是什么?

定义:

运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。

分类:

运算符包括:算术运算符 、 关系运算符 、 逻辑运算符 、位操作运算符、 赋值运算符 、 条件运算符 、 逗号运算符 、 指针运算符 、求字节数运算符和特殊运算符(eg:函数调用运算符)。

优先级:

运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。

例如:a + b*c

'*'的优先级高于’+‘,所以先算b*c后算a+b*c;

 粗糙的记忆方法:单目运算符 > 算数运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 > 逗号运算符;
 

结合性:

运算符的结合性是指同一优先级的运算符在表达式中操作运算的组织方向,从左至右运算,还是从右至左运算。例如:

#include<stdio.h>

int main()
{
    int a=1,b=2,c=3,d=4;
    printf("%d\n",a<b?a:c<d?a:d);
    return 0;
}

a<b?a:c<d?a:d表达式的输出结果为1:

这个表达式包含两个条件运算符  ‘? :’,它们二者的运算优先级一样,而条件运算符的结合性为从右至左,所以先运算c<d?a:d值为1,再运算a<b?a:1,所以最后的结果为1.

几目运算符:

表示这个运算符要带几个操作数,分为单目运算符、双目运算符、三目运算符(截止目前的版本,发现四目运算符)。
单目运算符:该运算符只需要带一个操作数,如:++/--/&
双目运算符:该运算符需要两个操作数,如: +  - * /
三目运算符:该运算符需要带3个操作数,如 ?:

二、运算符的优先级表


     

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值