目录
C运算符
这个我真的没听过,十进制转二进制初中学过一点,但也几乎忘光了,先记一点吧,以后再探索它真正的用处吧。
就我的理解,粗暴点就是~(A)就是二进制中的1变成0,0变成1;
赋值运算符:
这几种不算太熟悉,要牢记是关于二进制的运算。
杂项运算符:
sizeof():返回变量的大小(存储字节大小)
条件表达式
C中的运算符优先级
运算符的优先级确定表达式中项的组合。这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。
优先级从高到低
在我自己的理解中结合性是赋值的先后顺序意思,比如++的结合性是从右到左所以i++等于i=i+1,从右至左进行运算;
有一个小口诀,记下来帮助理解记忆。
技巧
我在下面的笔记里看到了一点小技巧,还挺特别的,记录一下。
利用异或^来交换两个变量(限于整型,不能用于浮点型)的值,且不引入其他变量。
附十进制转八位二进制的方法
利用位与 & 运算,判断一个整数是否是2的整数次幂:
如果一个整数是2的整数次幂,那么它转为二进制后只有最高位为1,其余位置皆为0;与比其小一位的整数进行&运算后,结果为0,否则为1。
今天上课的时候还遇到了一个小插曲,就是用函数和指针结合实现数组排序的时候,选用了冒泡排序,但是错误规定了程序范围,可是在主程序运行是正确的,在函数中规定然后调用就是错的,所以呢,希望以后可以多多关注代码本身,多方验核,结果不是目的,代码才是目的。
期待明天的打卡日常!