0、补充知识:
- 原码、反码、补码的知识:
- 计算机中原码转补码,正数不变,负数是符号位不变,其余各位取反码加一。
- 负数的补码转原码应该是补码减一然后再取反,为什么负数的补码转原码是补码取反然后再加一?答:这就是用补码的好处,保持了转化时硬件的一致性。
- 计算机中是先把原码转换成补码运算完之后再把补码转成原码输出的吗?答:计算机中是直接使用补码进行所有算术运算,仅在需要显示或输出结果时,才将补码转换回原码(或用户可理解的格式)。
- 左值(有存储地址的值)
- 一般出现在赋值运算符的左边的内容,标识了可以存储结果值的地点。
- 程序编译的时候,编译器会为每一个变量分配一个确定地址(左值),这个地址是在编译程序的时候直接是可知的。
- 左值是可以取地址的。
- 右值(无存储地址的值)
- 一般是出现在赋值运算符的右边,必须是一个特定的值。
- 与左值是相反的,变量中存储的那个值(右值),只有在程序运行的时候才能知道它的值。
- 一般右值指的是一个具体的数字,或者常量,它在内存中并没有一个具体的位置(地址),但它仍然是存储在内存中的。
注意:左值可以出现在赋值符号左边或右边,右值可以出现在赋值符号右边。
1、数据类型转换:
-
隐式类型转化(例如:一个整型数据和一个浮点型数据进行运算,结果就自然被转换为了浮点型)
将低等级的数据类型转化为高等级的数据类型进行计算,数据类型由低到高:int、unsigned int、long、unsigned long、long long、unsigned long long、float、double。 -
强制类型转化
(类型说明符)(表达式):如果表达式比较复杂,可以加括号增加可读性。
(类型说明符)表达式:如果只是简单转化,可以不给表达式加括号,同样可以生效
2、选择结构:
- if-else if -else 结构
else 和 else if是可以省略的,不一定都要使用,根据场景决定即可 - switch结构
如果进行判等的操作时,一般情况都是采用switch case,结构会更加明确。 - 三目运算符也是一种条件结构:语句?满足语句:不满足语句;
总结:
- 计算机当中一直是以补码的形式运算的,原码和补码之间的转换还得经过一个反码。
- 条件结构中,switch一般是用于判等的,且switch后面只能跟整型数值,大部分情况都是采用if。