第三课
1,隐式类型转换【占内存较小的类型会向占内存较大的方向转换】
{float->double<-long<-unsigned<-int<-short/char}
2,强制类型转换:形式:(类型名)(表达式)【注意:从小类型转到大类型,,可以确保精度不会丢失】
3,操作数:参与运算的数据
4,运算符:表示数据如何运算
5,表达式:求值规则
6,算术运算符:【注意:1,整数的‘/’会截尾 2,取模运算只用于整数】
7,画图快捷键(1,win+r打开运行 2,输入mspaint)
8,++与 - -(+1与-1的运算):【1,前置时是先运算,后使用 2,后置时是先使用,后运算】
9,逗号表达式:整个表达式的值是最后那个逗号之后的表达式的值;
10,逻辑表达式短路现象:【当计算出一个子表达式的值后便可确定整个逻辑表达式的值后,后面的子表达式就不再计算】
11,运算符图解(注意:所有位运算都是针对二进制)
运算符 | 解释 | 结合方式 |
---|---|---|
() [] -> . | 括号,数组,两种成员访问方式 | 从左到右 |
~ ! ++ - - + - * & sizeof | 异或,按位取反,自增,自减,正负号,间接运算符,取地址符,求类型大小 | 从右到左 |
* / % | 乘,除,取余 | 从左到右 |
+ - | 加,减 | 从左到右 |
<< >> | 左移,右移 | 从左到右 |
< <= >= > | 小于,小于等于,大于等于,大于 | 从左到右 |
== != | 等于,不等于 | 从左到右 |
& | 按位与 | 从左到右 |
^ | 按位异或 | 从左到右 |
| | 按位或 | 从左到右 |
&& | 逻辑与 | 从左到右 |
|| | 逻辑或 | 从左到右 |
?: | 条件运算符:表达式1 ?:表达式2:表达式3【表达式1为真,则为表达式2,假则为表达式3】 | 从左到右 |
= += -= *= /= &= ^= <<= >>= | 各种赋值 | 从右到左 |
, | 逗号 | 从左到右 |
12,位运算图解
符号 | 功能 | 记忆技巧 |
---|---|---|
& | 按位与 | 有0则1 |
| | 按位或 | 有1则1 |
^ | 按位异或 | 相同为0,不同,1 |
~ | 取反 | 0变1,1变0 |
<< | 左移 | 移位右边补0 |
>> | 右移 | 右移左边补0 |
13,运算符优先级排行榜
第一名 | [] () . -> | 括号运算符,成员运算符 |
---|---|---|
第二名 | ++ - - + - * & | 自增,自减,正 ,负,指针运算符,取地址符 |
第三名 | * / % | 乘,除,取余 |
第四名 | + - | 加,减 |
第五名 | << >> | 移位运算符 |
第六名 | < > >= <= | 关系运算符 |
第七名 | == != | 等于,不等于 |
第八名 | & | 位与 |
第九名 | ^ | 异或 |
第十名 | | | 位或 |
第十一名 | && | 逻辑与 |
第十二名 | || | 逻辑或 |
第十三名 | ?: | 条件运算符 |
第十四名 | = | 赋值运算符 |
第十五名 | , | 逗号运算符 |