赋值运算符与逗号运算符
赋值运算符和赋值表达式
赋值运算符(自右至左结合顺序)
“=“
二(元)目运算符可以和赋值符可组成复合赋值符。
“+=,-=,*=,/=,%=,&=,|=,<<= , >>=, ^=“
为了简化程序,使程序精炼;为了提高编译效率,产生高质量的目标代码。
2. 赋值表达式
变量 = 表达式;
左值不能为表达式、常量(不能被赋值)等。左值可以作为右值。
a = (b=5); a = b = 5;
赋值表达式为表达式中的一种,故赋值操作不仅可以出现在赋值语句,还可以以表达式形式出现在输出语句、循环语句等。如:cout << (a = b); 此处要用括号括起来
3. 赋值过程中的类型转换:
不同类型的整型数据间的赋值归根到底就是一条:
按存储单元中的存储形式直接传送。
- 浮点型数据赋给整型变量时,舍弃小数部分,在内存中以整数形式存储。
- 整型数据赋给浮点型时数值不变,以双/单精度指数形式存储到变量中。
- double类型数据赋给float变量时,注意数值范围不要溢出。
- 字符型数据以ASCII码赋给整型变量。
- 整型变量赋给字符型时,会截断保留低八位。
- 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++之所以语言表达能力强,其中一个重要方面在于它的表达式丰富,运算符功能强,因而使用灵活,适应性强。
赋值运算符与逗号运算符相关推荐
- C语言程序设计-算数运算符、赋值运算符、逗号运算符及表达式
目录 1.5 运算符和表达式 1.5.1 算术运算符和表达式 1.5.2 赋值运算符和表达式 1.5.3 逗号运算符和表达式 传送门上一节:C语言程序设计-常量与变量 传送门下一节:C语言程序设计-不 ...
- JavaScript中的逗号运算符
JavaScript逗号运算符 阅读本文的前提,明确表达式.短语.运算符.运算数这几个概念. 所谓表达式,就是一个JavaScript的"短语",JavaScript解释器可以计 ...
- 第2章 C语言的赋值运算符、复合运算符与逗号运算符 (十一)
文章目录 文档视频讲解链接地址 2.13 赋值运算符与赋值复合运算符 1. 赋值运算符 2. 赋值复合运算符 2.14 逗号运算符 文档视频讲解链接地址 腾讯课堂视频链接 : 13_表达式_复制与复合 ...
- 逗号运算符和赋值运算符
逗号运算符,优先级别在C语言中处于最低的位置,它将两个及其以上的式子连接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值. 首先看逗号表达式(a=3*5,a*4),a+15 这个表达式 ...
- C语言——赋值运算符、复合的赋值运算符、自增自减运算符、逗号运算符、条件运算符、goto语句、注释
目录 一.赋值运算符 二.复合的赋值运算符 三.自增自减运算符 四.逗号运算符 逗号表达式的语法 五.条件运算符 六.goto语句 七.注释 一.赋值运算符 语法: - int a; - a = 5; ...
- 在c语言中逗号的作用,关于c语言中的逗号运算符???
等下..答错了..还需要理解一下神马是逗号表达式..我前面说的和uuyyhhjj与delta_charlie的意思一样,但其实我们都搞错了.你可以自己把我们的例子都运行一下,看看是不是这样.下面我感觉 ...
- 重载运算与类型转换——基本概念,输入和输出运算符,算术和关系运算符,赋值运算符,下标运算符,递增和递减运算符,成员访问运算符...
一.基本概念 重载的运算符时具有特殊名字的函数:它们的名字由关键字operator和其后要定义的运算符号共同组成.和其他函数一样,重载的运算符也包含返回类型.参数列表以及函数体. 重载运算符函数的参数 ...
- php 逗号运算符,基础篇PHP运算符总结宝典
PHP是我们开发语言之一,它有强大的功能,文章这里就给喜欢PHP的朋友介绍一下PHP运算符.PHP和其他高级语言一样,有很多种PHP运算符.包括算数运算符.赋值运算符.字符串运算符.自增自减运算符.逻 ...
- C/C++混淆点-逗号运算符
在C++中,逗号是很常用的.作为一个运算符它虽然不常用,但我们也应该学会它的用法. 1.如:a=3*4,4*5,5*6; 由于"="的优先级高于",",所以程序 ...
最新文章
- 数组做参数_ES6 系列:你不知道的 Rest 参数与 Spread 语法细节
- 纪念计算机之父阿兰·图灵诞辰109周年
- 红帽计划收购API管理领导者3scale
- 为什么项目经理很难有节操的选举
- MNIST机器学习入门(学习记录)——1
- 都2021年了,不会还有人连深度学习都不了解吧(三)- 损失函数篇
- [Leetcode][第679题][JAVA][24点游戏][回溯][暴力]
- 中文新闻分类 数据集_三亚试点用大数据推行垃圾分类:刷卡扔垃圾,分类有奖励|界面新闻...
- linux中的socket编程,linux中socket编程
- android studio 中怎么写aspectj代码,Android Studio 使用 AspectJ 实践AOP
- Java实现MySQL数据库备份(一)
- 【java】java 使用 Unsafe CAS 实现数据递增 打印重复问题
- 专科python应届生工资多少-应届生学Python年薪30万,秘诀是什么?
- cad计算机试题及答案,CAD考试试题库及参考答案整理版.doc
- Dreamweaver CS6 完全自学教程 (一)
- 欧拉计划第80题:平方根数字展开
- 函数的正交与向量正交
- WORD中表格的跨页显示
- 并发编程之深入理解十三:CompletionService CompletableFuture
- 电信春招面试技能,无领导小组讨论