在C中,一个数字右移时,左边空出来的位会用这个数字的符号位上的数值进行填充
a >> 1 是不改变a的值的,只有 a >>= 1 才会改变a的值
隐式类型转换的规则:
1.字节数小的数据类型->字节数大的数据类型
2.字节数相同时,整型->浮点型,有符号->无符号
(char)300,强制类型转换,只保留了低8位,所以会导致精度丢失。
if-else
if-else嵌套中,尽量每一次只判断一个条件,多嵌套几层,这样程序的可读性上升,也比较容易修改。
switch-case
switch(n){
case 1: ;break;
case 2: ;break;
default: ;break;
}
for(;;)