赋值运算符和赋值表达式

  1. 赋值运算符(自右至左结合顺序)

           “=

二(元)目运算符可以和赋值符可组成复合赋值符。

“+=,-=,*=,/=,%=,&=,|=,<<= , >>=, ^=“

为了简化程序,使程序精炼;为了提高编译效率,产生高质量的目标代码。

2.  赋值表达式

变量 = 表达式;

左值不能为表达式、常量(不能被赋值)等。左值可以作为右值。

a = (b=5); a = b = 5;

赋值表达式为表达式中的一种,故赋值操作不仅可以出现在赋值语句,还可以以表达式形式出现在输出语句、循环语句等。如:cout << a = b; 此处要用括号括起来

3. 赋值过程中的类型转换:

不同类型的整型数据间的赋值归根到底就是一条:

      按存储单元中的存储形式直接传送。

  1. 浮点型数据赋给整型变量时,舍弃小数部分,在内存中以整数形式存储。
  2. 整型数据赋给浮点型时数值不变,以双/单精度指数形式存储到变量中。
  3. double类型数据赋给float变量时,注意数值范围不要溢出。
  4. 字符型数据以ASCII码赋给整型变量。
  5. 整型变量赋给字符型时,会截断保留低八位。
  6. signed型数据赋给unsighed型变量

signed是以补码形式存储,而unsigned数值无符号,全部二进制(原码)用来表示数据本身,故直接将存储单元内容照搬

例如:short int a = -1;(负数需要转换,整数的原码反码补码一致)

则 a为 1000 0001 -> 1111 1110 + 1 = 1111 1111

unsigned short b = a;

则 b中存储的是原码 1111 1111  65535

逗号运算符和逗号表达式

C++提供的一种特殊的运算符,又称顺序求值运算符。

将多个表达式“串联”起来,从左至右求解各个表达式的值,最终结果在最后一个表达式。

3+5,6+8  -->  14

a = 3*5,a*4  --> 60  赋值符优先级高于逗号运算符

C和C++之所以语言表达能力强,其中一个重要方面在于它的表达式丰富,运算符功能强,因而使用灵活,适应性强。

赋值运算符与逗号运算符相关推荐

  1. C语言程序设计-算数运算符、赋值运算符、逗号运算符及表达式

    目录 1.5 运算符和表达式 1.5.1 算术运算符和表达式 1.5.2 赋值运算符和表达式 1.5.3 逗号运算符和表达式 传送门上一节:C语言程序设计-常量与变量 传送门下一节:C语言程序设计-不 ...

  2. JavaScript中的逗号运算符

    JavaScript逗号运算符  阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的"短语",JavaScript解释器可以计 ...

  3. 第2章 C语言的赋值运算符、复合运算符与逗号运算符 (十一)

    文章目录 文档视频讲解链接地址 2.13 赋值运算符与赋值复合运算符 1. 赋值运算符 2. 赋值复合运算符 2.14 逗号运算符 文档视频讲解链接地址 腾讯课堂视频链接 : 13_表达式_复制与复合 ...

  4. 逗号运算符和赋值运算符

    逗号运算符,优先级别在C语言中处于最低的位置,它将两个及其以上的式子连接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值. 首先看逗号表达式(a=3*5,a*4),a+15 这个表达式 ...

  5. C语言——赋值运算符、复合的赋值运算符、自增自减运算符、逗号运算符、条件运算符、goto语句、注释

    目录 一.赋值运算符 二.复合的赋值运算符 三.自增自减运算符 四.逗号运算符 逗号表达式的语法 五.条件运算符 六.goto语句 七.注释 一.赋值运算符 语法: - int a; - a = 5; ...

  6. 在c语言中逗号的作用,关于c语言中的逗号运算符???

    等下..答错了..还需要理解一下神马是逗号表达式..我前面说的和uuyyhhjj与delta_charlie的意思一样,但其实我们都搞错了.你可以自己把我们的例子都运行一下,看看是不是这样.下面我感觉 ...

  7. 重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符...

    一.基本概念 重载的运算符时具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.和其他函数一样,重载的运算符也包含返回类型.参数列表以及函数体. 重载运算符函数的参数 ...

  8. php 逗号运算符,基础篇PHP运算符总结宝典

    PHP是我们开发语言之一,它有强大的功能,文章这里就给喜欢PHP的朋友介绍一下PHP运算符.PHP和其他高级语言一样,有很多种PHP运算符.包括算数运算符.赋值运算符.字符串运算符.自增自减运算符.逻 ...

  9. C/C++混淆点-逗号运算符

    在C++中,逗号是很常用的.作为一个运算符它虽然不常用,但我们也应该学会它的用法. 1.如:a=3*4,4*5,5*6; 由于"="的优先级高于",",所以程序 ...

最新文章

  1. 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
  2. 纪念计算机之父阿兰·图灵诞辰109周年
  3. 红帽计划收购API管理领导者3scale
  4. 为什么项目经理很难有节操的选举
  5. MNIST机器学习入门(学习记录)——1
  6. 都2021年了,不会还有人连深度学习都不了解吧(三)- 损失函数篇
  7. [Leetcode][第679题][JAVA][24点游戏][回溯][暴力]
  8. 中文新闻分类 数据集_三亚试点用大数据推行垃圾分类:刷卡扔垃圾,分类有奖励|界面新闻...
  9. linux中的socket编程,linux中socket编程
  10. android studio 中怎么写aspectj代码,Android Studio 使用 AspectJ 实践AOP
  11. Java实现MySQL数据库备份(一)
  12. 【java】java 使用 Unsafe CAS 实现数据递增 打印重复问题
  13. 专科python应届生工资多少-应届生学Python年薪30万,秘诀是什么?
  14. cad计算机试题及答案,CAD考试试题库及参考答案整理版.doc
  15. Dreamweaver CS6 完全自学教程 (一)
  16. 欧拉计划第80题:平方根数字展开
  17. 函数的正交与向量正交
  18. WORD中表格的跨页显示
  19. 并发编程之深入理解十三:CompletionService CompletableFuture
  20. 电信春招面试技能,无领导小组讨论

热门文章

  1. 把图片转成像素点保存到Excel中
  2. php 处理透明 png 图片黑边问题
  3. 1623_MIT 6.828 在JOS中增加一条交互命令
  4. 【多线程】(二)Java.lang.Process的思考
  5. win10/11下wsl2安装gpu版的pytorch(避坑指南)
  6. 网络安全工程师有没有发展前景?
  7. Windows 10屏幕翻转异常问题
  8. Spring Boot+Vue项目学习总结
  9. 仿微信控制输入法的显示和隐藏
  10. 洗地机性价比高的是哪款?性价比高适合入手的洗地机介绍