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

赋值运算符指南

目录

一、基本赋值运算符(=)

初始化与赋值的区别

连续赋值(链式赋值)

二、复合赋值运算符

基本复合赋值运算符

位运算复合赋值运算符(后期讲解)

三、注意事项

良好实践示例:


一、基本赋值运算符(=)

初始化与赋值的区别

  • 在变量创建的时候给⼀个初始值叫初始化,在变量创建好后,再给⼀个值,这叫赋值。
  • 赋值操作符 = 是⼀个随时可以给变量赋值的操作符。
int a = 100;  // 初始化:创建变量时赋予初始值
a = 200;      // 赋值:变量创建后修改其值

连续赋值(链式赋值)

C语言支持连续赋值,但可读性较差:

int a = 3, b = 5, c = 0;
c = b = a + 3;  // 从右向左依次赋值:a+3→b→c

推荐写法(更易调试和理解):

int a = 3, b = 5, c = 0;
b = a + 3;  // 步骤清晰
c = b;       // 便于调试观察

二、复合赋值运算符

基本复合赋值运算符

运算符等价形式说明
+=a = a + x加法赋值
-=a = a - x减法赋值
*=a = a * x乘法赋值
/=a = a / x除法赋值
%=a = a % x取模赋值

使用示例

int a = 10;
a += 3;  // 等价于 a = a + 3 → a=13
a -= 2;  // 等价于 a = a - 2 → a=11
a *= 4;  // 等价于 a = a * 4 → a=44
a /= 5;   // 等价于 a = a / 5 → a=8
a %= 3;   // 等价于 a = a % 3 → a=2

位运算复合赋值运算符(后期讲解)

>>=  // 右移赋值
<<=  // 左移赋值
&=   // 按位与赋值
|=   // 按位或赋值
^=   // 按位异或赋值

三、注意事项

  1. 执行顺序:复合赋值运算符先计算右边表达式(把右边表达式看做一个整体),再与左边变量运算

  2. 类型转换:右边表达式结果会自动转换为左边变量的类型

  3. 效率优势:复合形式通常比展开形式效率更高

  4. 可读性:简单运算推荐使用复合形式,复杂表达式建议拆分

  5. 副作用:避免在复杂表达式中过度使用复合赋值

良好实践示例

// 清晰但效率较低的写法
array[index] = array[index] * 2 + 1;// 推荐使用复合赋值运算符
array[index] *= 2;
array[index] += 1;
http://www.dtcms.com/a/325123.html

相关文章:

  • GoBy 工具安装 | Windows 操作系统安装 GoBy
  • 某市智慧社区企业管理平台原型设计:数据驱动的社区治理新路径
  • 常用hook钩子函数
  • 设备活动审计技术方案解析
  • WSL创建虚拟机配置VNC
  • Linux系统编程——进程控制
  • 编程基础之多维数组——计算鞍点
  • 六、RuoYi-Cloud-Plus OSS文件上传配置
  • [Python 基础课程]常用函数
  • 数学与应用数学专业大学如何规划?就业前景怎么样?
  • vue3中 getCurrentInstance
  • 疯狂星期四文案网第35天运营日记
  • 补卡day16
  • special topic 8 (2) and topic 9 (1)
  • 亚麻云之全球加速器——CloudFront(CDN)服务入门
  • 系统测试讲解 - Java使用selenium实现滑块验证的处理详解
  • 关于linux操作系统下的文件操作方法:
  • 深度解析1688关键字搜索API接口:技术实现与应用探索
  • 【Nginx知识】nginx日志配置详解
  • 使用线性降维方法进行数据降维
  • token危机解决?扩散模型数据潜力3倍于自回归,重训480次性能仍攀升
  • Java历代JDK核心特性演进(JDK9-21精华版)
  • 【Docker实战入门】从核心概念到镜像构建
  • 微服务架构中过滤器(Filter)与拦截器(Interceptor)的区别
  • 线程池111
  • Spring Boot - 内置的9个过滤器用法
  • 串联所有单词的子串
  • 【力扣198】打家劫舍
  • Windows选择文件自动删除及输入框自动打字的解决办法
  • 当varchar和Nvarchar关联