赋值运算和赋值表达式
来源:互联网 发布:java做计算器界面 编辑:程序博客网 时间:2024/05/21 00:47
今天学习内容现在分享给大家;
第一先说说赋值
什么是赋值 ?
( 将赋值符右边表达式的值赋给赋值符左边的一个变量。)记住不能变换位置。
那赋值符号是什么? 就是我们平时所说的“=”号。
在赋值中我们应该注意数据类型 (赋值运算符的数据类型若不一致,则要进行类型转换。)
例如int a; a=2.3; a的值为2。
(将实型数据赋给整型变量时,舍弃实数的小数部分。)
将整型数据赋给实型变量时,数值不变。
例如float f ; f=23; (先23→23.00000 再存储在f 中)
double d; d=23; (先23→23.000000000000000再存储在d中);
将字符数据赋给整型变量时,将字符数据放到整型变量低8位中
两种情况:若字符最高位为1,整型变量的高8位置1,否则高8位置0。
若把字符处理为无符号的量,整型变量的高8位置0。
怎么理解这两种情况 比如一个字符 他的二进制数为01010111 那么它储存在整型变量中为 00000000 01010111
如果是这样 int c;char i; c=i i='/376'那么其二进制为1 1 11 11 10 那么储存为11111111 11111110 所以i=-2
(将整型数据赋给长整型变量时,将整型数据放入长整型变量的低16位,若整型数为负数,长整型变量的高16位置1,否则长整型变量的高16位置0。)
将长整型数据赋给整型变量时,取长整型数据低16位。 应注意数值的范围,超出则数据出错
例如:main()
{ unsigned int a; b 1 11111111 11111111
int b=-1;
a=b; a为无符号的整形 a ( 1111111111111111)2=65535
printf( "a=%u“ ,a);
}
a=65535
复合的赋值运算符:(共十个)
+= , -= , *= , /= , %= , 位运算 <<= , >>= , &= , ^= , |= 先不讲
a+=3 等价于 a=a+3
x*=y+8 等价于 x=x*(y+8)
x%=3 等价于 x=x%3
x*=y+1; ( 等价与 x=x*(y+1);)
<、<=、>、>=、(优先级高 同级) ==、!=(优先级低 同级)
关系运算符的结合率为:“自左而右”。
c>a+b 等效于 c>(a+b)
a>b!=c 等效于 (a>b)!=c
a==b<c 等效于 a==(b<c)
a=b>c 等效于 a=(b>c)
关系表达式:
由关系运算符和操作数组成的表达式称为关系表达式。关系表达式的值是一个逻辑型的值,即只有两个值(真和假)。C语言是用1作为真,用0作为假。但是进行运算时,非0即认为真,0才认为假。而表达式的结果为真时,给出真值1。为假时,给出假值0。
例如:有int x=2,y=3,z=5;
则:x>y 结果为0。
z>=y 结果为1。
z==y 结果为0。
如果a=3 b=2 c=1
f=a>b>c 这是错的 结果为0为什么? 因为不能连续比较
- 赋值运算和赋值表达式
- 赋值运算符和赋值表达式
- 赋值运算符和赋值表达式
- 赋值运算符和赋值表达式
- 2.9、赋值运算符与赋值表达式
- C++赋值运算符与赋值表达式
- 常量、变量、运算符、表达式和赋值语句的使用
- 赋值表达式和逗号表达式
- 赋值表达式和逗号表达式
- 算术表达式和赋值表达式
- c语言:赋值运算符与赋值表达式
- 反向运算和增量赋值
- 函数调用和赋值运算
- Lua 变量和赋值运算
- 赋值运算
- 赋值运算
- 赋值运算
- Java学习基础:运算符和表达式(算数运算、关系运算、逻辑运算、位运算、条件运算、赋值运算)
- Git 撤销 merge
- 经典书单 —— 语言/算法/机器学习/深度学习/AI/CV/PGM
- android 实现FlowLayout 流线布局(自定义ViewGroup)
- MySql函数 FIND_IN_SET 在Hibernate HQL语句中的使用
- Effective Objective-C 2.0 总结
- 赋值运算和赋值表达式
- 六个藉藉无名但迅速崛起的Apache大数据项目
- HTTP协议全览
- 手工植锡(BGA芯片植锡)
- 如何在一台全新的Windows7电脑上架设起Chrome+XX_Net的上网渠道
- char与byte的区别
- 无题
- 二叉搜索树
- javascript类型判断(typeof instanceof ,toStirng.call())