当前位置: 首页 > news >正文

C语言运算符优先级和结合性一览表

所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。

运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符()和逗号运算符
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符。

此外运算符还有“目”和“结合性”的概念,这个很简单。“目”就是“眼睛”的意思,一个运算符需要几个数就叫“几目”。比如加法运算符+,要使用这个运算符需要两个数,如 3+2。对+而言,3 和 2 就像它的两只眼睛,所以这个运算符是双目的。

C语言中大多数的运算符都是双目的,也有单目和三目的。单目运算符比如逻辑非,如!1,它就只有一只眼睛,所以是单目的。整个C语言中只有一个三目运算符,即条件运算符? :

那么“结合性”是什么呢?上面讲的优先级都是关于优先级不同的运算符参与运算时先计算谁后计算谁。但是如果运算符的优先级相同,那么先计算谁后计算谁呢?这个就是由“结合性”决定的。

【运算符优先级和结合性一览表】
在这里插入图片描述
上表中可以总结出如下规律:
1、结合方向只有优先级2、13、14三个是从右往左,其余都是从左往右。
2、所有双目运算符中只有赋值运算符的结合方向是从右往左。
3、另外两个从右往左结合的运算符也很好记,因为它们很特殊:一个是所有单目运算符,一个是三目运算符。
4、C语言中有且只有一个三目运算符。
5、逗号运算符的优先级最低,要记住。
6、此外要记住,对于优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符。逻辑运算符中“逻辑非 !”除外。

http://www.lryc.cn/news/13157.html

相关文章:

  • Java8介绍
  • Java 基准测试
  • 普通护照出国免签及落地签国家和地区
  • 20230219 质心和重心的区别和性质
  • maven多环境配置
  • 设计模式之中介模式与解释器模式详解和应用
  • 2023年全国最新交安安全员精选真题及答案1
  • chrome插件开发备忘录
  • 实例1:控制树莓派板载LED灯闪烁
  • 华为OD机试题 - 最大排列(JavaScript)
  • 手动创建 vue2 ssr 开发环境
  • RHCE-操作系统刻录工具
  • PHP面向对象01:面向对象基础
  • 《爆肝整理》保姆级系列教程python接口自动化(十八)--重定向(Location)(详解)
  • MySQL的索引、视图
  • 【JavaWeb】网络层协议——IP协议
  • 【Python学习笔记】41.Python3 多线程
  • Windows 版本ffmpeg编译概述
  • NETCore下CI/CD之自动化测试 (详解篇)
  • Hoeffding不等式剪枝方法
  • 【算法】数组中的重复数字问题
  • 数值方法笔记2:解决非线性方程
  • 基于SpringBoot的在线文档管理系统
  • 软件体系结构(期末复习)
  • [vue3] pinia的基本使用
  • 进程和线程详解
  • 《刀锋》读书笔记
  • nginx中的ngx_modules
  • 设计模式之访问者模式
  • Go项目(三)