C语言运算符优先级(大全)

这篇具有很好参考价值的文章主要介绍了C语言运算符优先级(大全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言运算符优先级(大全)

🔺按照运算符的操作对象(变量或常量)的个数分为三类: 单目运算符双目运算符三目运算符

🔺注意:当优先级相同时,按结合方向来进行计算

C语言运算符优先级(大全)

1.(后缀运算符)

运算符 名称
[] 数组下标
() 圆括号
. 成员选择
-> 成员选择

🔴结合方向从左到右文章来源地址https://www.toymoban.com/news/detail-740544.html

“.” 和 "->"多用在结构体(引用类,共用体)选择成员时使用。

直接访问结构的成员时用点运算符,通过指针访问结构的成员用箭头运算符。

struct student
{
char name[20];
int age;
}A

对于A而言,如果A是个指针,则使用箭头运算符,(A->name)反之(A.name)。

2.(一元运算符)

运算符 名称
- 负号
++ 自增
自减
* 取值(指针)
& 取地址
逻辑非
(类型) 强制转换类型
sizeof 求长度
~ 按位取反

🔵 结合方向从右到左

注意:后置++/–的优先级大于前置++/–

~:按位取反是对二进制位补码取反

快捷算法:

X取反结果:~X=-(X+1)

对正数5按位取反,~5
十进制 5
二进制原码 00000101
二进制补码 00000101(正数原码=补码)
按位取反: 11111010(补码)
二进制原码 10000110
十进制 -6

对负数5按位取反,~-5
十进制 -5
二进制原码 10000101
二进制补码 11111011(负数补码=反码+1)
按位取反: 00000100(补码)
二进制原码 00000100(正数原码=补码)
十进制 4

3.(乘除运算符)

运算符 名称
/
*
% 取余

🔴结合方向从左到右

4.(加减运算符)

运算符 名称
+
-

🔴 结合方向从左到右

5.(位移运算符)

运算符 名称
<< 左移
>> 右移

🔴 结合方向从左到右

6.(关系运算符)

运算符 名称
> 大于
>= 大于等于
< 小于
<= 小于等于

🔴结合方向从左到右

7.(相等运算符)

运算符 名称
== 等于
!= 不等于

🔴结合方向从左到右

8.(位运算符)

运算符 名称
& 按位与

🔴结合方向从左到右

二进制位,两个均为1的取1,剩下的取0

9.(位运算符)

运算符 名称
^ 按位异或

🔴结合方向从左到右

二进制位,相同的为0,不同的为1

10.(位运算符)

运算符 名称
| 按位或

🔴结合方向从左到右

二进制位,有含1的取1,全为0的取0

11.(逻辑运算符)

运算符 名称
&& 逻辑与
(采用短路运算):如果前面一个运算式返回为0,则后面的运算式不运算

🔴结合方向从左到右

12.(逻辑运算符)

运算符 名称
|| 逻辑或
(采用短路运算):如果前面一个运算式返回为1,则后面的运算式不运算

🔴结合方向从左到右

13.(条件运算符)

运算符 名称
?: 条件运算符

🔵 结合方向从右到左

14.(赋值运算符)

运算符 名称
= 赋值
/= 除后赋值
*= 乘后赋值
%= 取模后赋值
+= 加后赋值
-= 减后赋值
<<= 左移后赋值
>>= 右移后赋值
&= 按位与后赋值
^= 按位异或后赋值
|= 按位或后赋值

🔵 结合方向从右到左

15.(逗号运算符)

运算符 名称
逗号表达式

🔴结合方向从左到右

o = (a = 2 * 6, a * 3, a + 5);
//o=17,先计算括号内的表达式,将结果赋值给o
//(a*3不作为赋值语句(可以忽略),逗号表达式的结果o与最后一个表达式的结果有关系)
o = a = 2 * 6, a * 3, a + 5;
//o=12,直接将第一个表达式结果赋值给o

到了这里,关于C语言运算符优先级(大全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog运算符优先级

    0 ! ~ 1 * / % 2 + 1 3 4 = = 5 == != === !== 6 ~ 7 ^ ^~ 8 | ~| 9 10 || 11 ?: 从上至下优先级依次降低

    2024年02月16日
    浏览(37)
  • Java 运算符优先级

    在 Java 中,每个运算符都有一个优先级,优先级高的运算符会先执行,而优先级低的运算符会后执行。如果有多个运算符在同一个表达式中出现,那么需要按照运算符优先级的规则确定它们的执行顺序。 Java 运算符的优先级如下所示(从高到低): 后缀运算符:++、– 一元运

    2024年02月07日
    浏览(47)
  • JavaScript运算符及优先级

    一、算数运算符 算术运算符(+,-, * ,/,%【重要】,++【重要】,--) 其中 + 的左边和右边有 \\\" \\\", 表示拼接 i++,表示先赋值后+1     ++i ,表示先+1后赋值  同理减法也是如此 算数运算中,+ 可以进行隐式迭代,将字符串数字转化为Number类型 二、比较算数运算符 比较运算

    2024年02月07日
    浏览(43)
  • C#常用运算符的优先级

    运算符在C#编程语言中扮演着重要的角色,用于执行各种计算和操作。了解运算符的优先级是编写高效和正确代码的关键。本文将深入探讨C#中38个常用运算符的优先级划分和理解,并提供详细的说明和示例,以帮助读者更好地理解运算符的使用。 算术运算符用于执行基本的数

    2024年02月05日
    浏览(44)
  • 运算符的优先级(规矩是人定的)

    什么是经典?经典就是理论不随时间变迁而变化。《东方不败》中的很多台词让人时不时想起来振聋发聩。比如 很多事情不是自己想的那样,规矩是人定的。 从小到大,我们都学过数学运算时要 先乘除后加减 ,谁定的? 舔狗说:“老师讲的都是对的,所以这样!”有思想

    2024年02月03日
    浏览(41)
  • C++所有运算符及其优先级表格

    运算符 运算符介绍 优先级 :: 范围解析 1 () [] - . 圆括号、方括号、箭头、点号 2 ++ -- 后缀递增、后缀递减 2 typeid const_cast dynamic_cast reinterpret_cast static_cast 类型名称、常量类型转换、动态类型转换、重新解释的类型转换、静态类型转换 2 ! ~ ++ -- + - * (type) sizeof new delete 非、按位

    2024年02月13日
    浏览(38)
  • 【从零学习python 】08.Python了解位运算符, 运算符优先级

    按位运算符是把数字看作是二进制来进行计算的。 下表中变量 a 为 60, b 为 13,二进制格式如下: a b = 0000 1100 a | b = 0011 1101 a ^ b = 0011 0001 ~a = 1100 0011 位运算 描述 示例 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a b) 输出结果 12 ,

    2024年02月10日
    浏览(42)
  • 正则表达式 运算符优先级与匹配规则 | 一看就懂!!!(四)

    目录 一、正则表达式 - 运算符优先级 (一)正则表达式从左到右进行计算,并遵循优先级顺序,这与算术表达式非常类似。 (二)相同优先级的从左到右进行运算,不同优先级的运算先高后低。 (三)下表从最高到最低说明了各种正则表达式运算符的优先级顺序:  二、正

    2024年02月12日
    浏览(41)
  • 快来看看Python运算符优先级和结合性一览表

    优先级和结合性是 Python 表达式中比较重要的两个概念,它们决定了先执行表达式中的哪一部分。 所谓优先级,就是当多个运算符同时出现在一个表达式中时,先执行哪个运算符。 例如对于表达式 a + b * c ,Python 会先计算乘法再计算加法; b * c 的结果为 8, a + 8 的结果为

    2024年02月09日
    浏览(38)
  • Java语言中运算符号优先级

    算术运算符:+,-,*,/,%,++,-- 赋值运算符:= 扩展后的赋值运算符:+=,-=,*=,/=,%=,=,|=,^=,=,=,= 关系比较运算符:,=,,=,== 逻辑运算符:,,||,|,!,^ 位运算符:,|,~,^,,, 其他运算符(三目运算符):? : (1)+(加法) int a = 3; int b = 2; in sum =

    2024年02月04日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包