变量交换练习
移位操作符可以把一个数字的所有二进制数位内容统一向左或者向右移动n个位置
<<表示向左移位
>>表示向右移位
它们都是双目位操作符
左边的数字将要进行以为操作
右边的的数字将要进行移位操作
3<<2 表示对3进行向左移动2位的操作
向左移动后 右边空出来的数位里固定填充0
无符号类型数字右移时左边空出来的数位里填充0
有符号类型数字右移时左边空出来的数位里填充符号位的内容
向左移动n位通常相当于乘以2的n次方
向右移动n位通常相当于除以2的n次方
位操作符不会修改存储区内容
&也可以作为单目操作符使用,它可以用来计算一个存储区的地址
可以用%p作为占位符
*也可以做单目操作符使用,它可以根据地址找到一个存储区
三目操作符可以从两种计算规则里选择一个
(类似与工具箱,可以从多个工具里选择)
三目操作符格式如下
布尔值 ? 表达式一:表达式二
布尔值为真就用表达式一进行计算
布尔值为假就用表达式二进行计算
如果表达式里不同数字的类型不同,就必须首先转换成同一个类型,然后再进行计算
这个转换过程叫做隐式类型转换。
隐式类型转换过程中必须把占地小的类型转换成占地大的类型
如果既有整数类型数字也有单精度浮点类型数字,隐式类型转换时九八整数类型转换成单精度浮点类型
如果既有无符号类型也有有符号类型,隐式类型转换的时候就把有符号类型转换成无符号类型
可以在程序里临时给数字指定一个类型这叫强制类型转换
强制类型转换格式如下
(char)300 把300当作字符类型数字使用
强制类型转换有可能导致数据内容丢失
类型转换不会修改存储区内容
分支语句可以实现选择的效果(多选一)
if关键字可以用来编写分支
有可能同时出现的多种选择不可以包含在一个分支里(例如:不能用一个分支来处理中国人或者外国人,以及男人和女人这四种选择,应该用两个分支分别处理男人和女人,以及中国人和外国人这两个选择)
如果if分支里必须做出选择就可以省略最后一组语句的逻辑表达式和if关键字
if分支里前面的语句先进行选择,选择不成功才轮到后面的语句进行选择
利用语句之间前后顺序可以简化逻辑
一个if分支会不会执行,不仅取决于本身条件为真,还取决于前面的if分支会不会成立,如果前面的if分支成立,则后面的if分支将不会执行