专栏首页程序员互动联盟【编程基础】C语言复合赋值运算符

【编程基础】C语言复合赋值运算符

在C语言的赋值中有一种特殊的赋值运算符,就是复合赋值运算符。复合赋值运算符就是在赋值符“=”之前加上其它二目运算符可构成。比如大家可能最常看到这样的语句:

n += 5;

这个语句相当于:

n = n + 5;

C语言中有如下的复合赋值运算符:

n += a; 相当于n = n + a; n -= a; 相当于n = n - a; n *= a; 相当于n = n * a; n /= a; 相当于n = n / a; n %= a; 相当于n = n % a; n <<= a; 相当于n = n << a; n >>= a; 相当于n = n >> a; n &= a; 相当于n = n & a; n ^= a; 相当于n = n ^ a; n |= a; 相当于n = n | a;

注意:如果右边不只是一个变量而是一个表达式,则需要看成一个整体.

比如: n /= a * b + c >> d 相当于 n = n / (a * b +c >> d),右边作为一个整体加括号。

即使是有同样优先级的也需要,请看下面的情况:

int n = 3; int m = 13; n *= 12 / m;

如果不加括号而是直接写成另外一种:n = n * 12 / m,显然这个计算结果大于0,而上面的为0。

复合运算要注意以下:

  1. 复合运算符左边必须是变量;
  2. 复合运算符右边的表达式计算完成后才参与复合赋值运算。复合运算符常用于某个变量自身的变化,尤其当左边的变量名很长时,使用复合运算符书写更方便。
  3. 复合赋值运算的优先级符合C语言运算符的优先级表,结合方向为从右到左。

本文分享自微信公众号 - 程序员互动联盟(coder_online)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【编程基础】C++ Primer快速入门之七:运算符

    一、表达式的定义 什么是表达式?表达式,是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合(1)。1 + 2是个...

    程序员互动联盟
  • 【编程基础】聊聊C语言-常用运算符

    上一篇我们讲了C语言中的基本运算符,他们就像基石一样奠定了我们进行基本算术运算的基础。我们马上将上一篇留得题的答案公布如下: 5/4=1 5.0/4=1.250...

    程序员互动联盟
  • 【编程基础】零基础学习Java之运算符

    学习计算机编程语言都会遇到运算符这一知识点,运算符这个知识点是教怎么运用编程语言进行最基本的数据处理,下面就讲一下在Java语言中运算符是怎么回事。 1、算术运...

    程序员互动联盟
  • C语言位运算符

    对于更多紧凑的数据,C 程序可以用独立的位或多个组合在一起的位来存储信息。文件访问许可就是一个常见的应用案例。位运算符允许对一个字节或更大的数据单位中独立的位做...

    用户6755376
  • MySQL数据库应用总结(八)—MySQL数据库的数据类型和运算符(下)

    SQL语法预览: 创建表字段数据类型:【createtable 表名(字段名称 数据类型); 】 插入字段值:【insert into表名 values(值1,...

    企鹅号小编
  • 【编程基础】C++ Primer快速入门之七:运算符

    一、表达式的定义 什么是表达式?表达式,是由数字、运算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合(1)。1 + 2是个...

    程序员互动联盟
  • Python的基础语法(一)

    最近正在重新整理Python的基础知识,以便更好地学习新知识。这一部分主要是讲述Python基础语法的演示。下面的语法都是基于Python3的语法。

    py3study
  • 微课|玩转Python轻松过二级(2.2.1节):算术运算符

    Python小屋屋主
  • Python3 运算符

    以上代码输出: a 和 b 指向同一个存储对象,有相同的标识 a 和 b 指向同一个存储对象,有相同的标识 a 和 b 没指向同一个存储对象,没有相同的标识 a...

    py3study
  • python笔记:#010#运算符

    gongluck

扫码关注云+社区

领取腾讯云代金券