C语言 Day8
初始操作符2
~
| 1 | ~ 对一个数的二进制按位取反 | 
对一个数的二进制按位取反
| 1 | int main() | 
结果是-1
原因是按位取反是指将把内存中的0和1全部取反,并且整数在内存中储存的是补码
拿a=0举例子
首先介绍一个整数的二进制表示的3种情况
原码:是将二进制的最高位变成符号位,最高位为0则为正,反之为负
反码:就是将原码除符号位(最高位)剩下的的0和1全部反转
补码:在反码的基础上+1
回到例子
PS:正整数”三码合一“
— 和 ++
| 1 | -- 前置、后置-- | 
| 1 | int main() | 
结果是11 11
| 1 | int main() | 
结果是10 11
—与++同理
强制类型转换
| 1 | int main() | 
这种方式虽然可以出结果但会报错,因为a原来是浮点数,强制转换会丢失浮点数之后数据
如果想要消除报错可以选择进行强制类型转换
| 1 | int main() | 
关系操作符
| 1 | <= 小于等于 | 
逻辑操作符
| 1 | && 逻辑与 | 
计算机的逻辑用语,与高中数学的且、或的用法一致
逻辑与 都真为真,一假全假
逻辑或 都假为假,一真全真
| 1 | int main() | 
结果为1
若
| 1 | int main() | 
则结果为0
条件操作符
条件操作符也是一种三目操作符
| 1 | exp1 ? exp2 : exp3 | 
使用逻辑是
当exp1成立时,exp2 进行计算,整个表达式的结果是exp2的结果
当exp1不成立时,exp3进行计算,整个表达式的结果是exp3的结果
| 1 | int main() | 
用条件操作符就可以简化成
| 1 | int main() | 
两者在表达效果上完全一致
逗号表达式
顾名思义,逗号隔开的一串表达式
| 1 | int main() | 
结果是3
因为逗号表达式的执行逻辑是,从左向右依次计算,整个表达式的结果就是最后一个表达式的结果
下引用标操作符
| 1 | int main() | 
arr[ ]中的[ ]就是下标引用操作符
函数调用操作符
| 1 | int main() | 
printf后的( )就是函数调用操作符
不同的是,函数调用操作符可以存在多个操作数
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 qianbimo's blog!










