C语言运算符优先级

本文回顾了C语言中的运算符类型,包括赋值、加减、符号、乘除、sizeof、求模、递增、递减以及关系运算符。重点介绍了运算符的优先级顺序,帮助读者理解和记忆C语言中的运算规则。
摘要由CSDN通过智能技术生成

引言:

写这篇文章的原因主要是因为本人太长时间没有梳理C语言知识点,本来就对优先级有点迷惑,借写博客的机会顺便对运算符的优先级进行整理。

正文:

一、首先我们来认识一下运算符包含哪些:

1. 赋值运算符:=   +=  -=  等

2. 加、减运算符:+ -

3. 符号运算符:+ -(【注意】不是加减运算符,这是表示正负的运算符)

用于改变表达式的正负:

int a = 100;
-a; //  表达式结果为-100

请注意】:+不能改变表达式的正负,请使用负负得正。

int a = -100;
+a; //  表达式结果为-100
-a; //  表达式结果为100

4. 乘、除运算符:* /

5. 其他运算符:(笔者在此只介绍4个比较有用的运算符)

    5.1 sizeof、size_t运算符:

         例:

int n = 0;
size_t intsize;

intsize = sizeof (int);
printf("n = %d, n has %zd bytes; all ints have %zd bytes.\n",
        n, sizeof n, intsize);
//输出结果:n = 0, n has 4 bytes; all ints have 4 bytes.

      5.2  求模运算符:%(读作“求模”)

              在这里笔者举一些负数的例子:

                11 / 5 得2, 11 % 5 得1;

                11 / -5 得-2, 11 % -2 得1;       

               -11 / -5 得2, -11 % -5 得-1;

               -11 / 5 得-2, -11 % 5 得-1;

        从这里不难看出,如果第1个运算对象是负数,那么求模的结果为负数;如果第1个运算对象是正数,那么求模的结果也为正数。

       5.3 递增运算符:++

       5.4 递减运算符:--

 6. 关系运算符:> <  等

 二、运算符的优先级

初级运算符( )、[ ]、->、.  (一共四个)
高于  单目运算符  -(取负)++  -- 
高于  算数运算符(先乘除后加减)  
高于  关系运算符  1. !(逻辑非) 2. >、<、>=、<=(大于、小于、大于等于、小于等于) 3. ==、!=(等于、不等于) 
高于  逻辑运算符(不包括!   !是一个例外)  
高于  条件运算符  
高于  赋值运算符  
高于  逗号运算符。

以下表格转载自知乎

C语言运算符优先级--超级详细大全 - 知乎 (zhihu.com)

 

 

说明:
同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听雨686

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值