# 这里是拖延症的学习笔记
简单的入门
😂😂😂😂😂😂😂
C语言运算成分
## 赋值符号
当两边类型不同
自动完成装换
当长数赋给短数
截取长数的低位给短数
短数赋给长数
不变!😛
符号位的赋值处理(signed = unsigned)
直接赋值!
结论
很晕!
雾霾大,智商下降!!😂
## 什么是表达式
程序中由运算符、操作数和括号组成的计算式,是计算求值的基本单位。
表达式是有值的,赋值语句也有值的,应该是等号所传递的值,同时,
赋值语句也是有返回值的。0.
复合表达式
比如 a += 3 之类的
## 算术运算符和算术表达式
% 是模运算, 秋雨运算,必须是整数
注意
整数运算仍然是整数,实数运算就是double形啦
但是精度有限,最后的位数根据编译器不同而不同
连续表达式
要考虑结合顺序和优先级
## 算术运算符的优先级
- ()
- * / %
- + -
在同一级别中,采用由左至右的结合方向🙃
如果一个表达式里面出现了short 类型, 那么所有的short
类型必需要先转换成 int 类型,然后再去进行运算。
按照大小
char short -\> int
unsigned
long
float -\> double
++ --
++ 号只能由于变量,不能用于表达式
像是 (-i)++ 会存在编译错误
## 😬c语言提供6种关系运算符
\< \<= \> \>= 优先级相同 高
== != 优先级相同 低
关系运算的值
0 or 1运算符的优先级
算术运算符 高于
关系运算符 高于
关系运算符
逻辑运算
1. !飞
2. &&
3. \||
粒子
a = 4
那么 !a = 0
逻辑判断运算符会自行短路
\|| 如果左边为真就不计算后面的
&& 如果左边为假就不计算后面的
## 逗号
逗号的优先级灰常低,会最后计算。。。
大概仅次于分号,还有括号君
~~ ```
~~ x = 3, x *= (3,3);
~~ ```
x最后就是9😝
## 条件运算符
- 表达式1 ? 表达式2 : 表达式3
- 如果表达式1的值为真,则以表达式2的值作为条件表达式的值;
否则以表达式3的值作为整个表达式的值
~~ ```
~~ max = (a>b) ? a : b;
~~ ```
相当于
~~ ```
~~ if(a>b) max = a;
~~ else max = b;
~~ ```
## 强制类型转换
- (类型名) (表达式)
- (double)将 a 的值!转变换成double类型
18016049630
## 位运算
- & 按位与
- | 按位或
- ^ 按位异或
- \<\< 左移运算
在最高位没有溢出的时候,左移一位相当于该数字乘以2
- \>\> 右移运算
在最高位没有溢出的时候,左移一位相当于该数字除以2
- 位运算在有些情况下会很有用
- 扩展阅读
[http://blog.chinaunix.net/uid-21411227-id-1826986.html]