C&C++赋值运算符介绍

2023-12-20 09:02:42

概述

C语言提供了以下赋值运算符:

  1. 简单赋值运算符 (=):
    这是最基本的赋值运算符,用于将右侧表达式的值赋给左侧的变量。例如:

    int a = 5;
    a = 10; // a现在的值为10
    
  2. 复合赋值运算符:
    复合赋值运算符结合了基本的算术或位操作与赋值操作。以下是一些常见的复合赋值运算符:

    • 加赋值运算符 (+=):
      int a = 5;
      a += 3; // 等效于 a = a + 3; a现在的值为8
      
    • 减赋值运算符 (-=):
      int a = 5;
      a -= 3; // 等效于 a = a - 3; a现在的值为2
      
    • 乘赋值运算符 (*=):
      int a = 5;
      a *= 3; // 等效于 a = a * 3; a现在的值为15
      
    • 除赋值运算符 (/=):
      int a = 15;
      a /= 3; // 等效于 a = a / 3; a现在的值为5
      
    • 求余(模)赋值运算符 (%=):
      int a = 15;
      a %= 3; // 等效于 a = a % 3; a现在的值为0
      
    • 左移赋值运算符 (<<=):
      int a = 5;
      a <<= 1; // 等效于 a = a << 1; a现在的值为10
      
    • 右移赋值运算符 (>>=):
      int a = 10;
      a >>= 1; // 等效于 a = a >> 1; a现在的值为5
      
    • 按位与赋值运算符 (&=):
      int a = 10; // 二进制: 1010
      a &= 5;    // 二进制: 0101
                  // 等效于 a = a & 5;
      // 结果: a现在的值为0,二进制: 0000
      
    • 按位或赋值运算符 (|=):
      int a = 10; // 二进制: 1010
      a |= 5;    // 二进制: 0101
                  // 等效于 a = a | 5;
      // 结果: a现在的值为15,二进制: 1111
      
    • 按位异或赋值运算符 (^=):
      int a = 10; // 二进制: 1010
      a ^= 5;    // 二进制: 0101
                  // 等效于 a = a ^ 5;
      // 结果: a现在的值为5,二进制: 0101
      

总结

所有这些赋值运算符都会返回一个值,该值是赋值操作后的左操作数的值。在C语言中,赋值运算符具有右结合性,这意味着如果连续进行多个赋值操作,它们会从右向左进行计算。例如,a = b = c 等同于 a = (b = c)

文章来源:https://blog.csdn.net/scy518/article/details/135098688
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。