C语言第三节下(6)

本文介绍了位操作符,如左移<<和右移>>在数字处理中的作用,以及它们如何影响二进制位。同时,讨论了单目操作符如&用于地址计算,*用于根据地址获取值。还提到了三目操作符在条件选择中的使用。文章还涉及了隐式类型转换和强制类型转换,并强调了在不同类型数字混合运算时的转换规则。最后,简述了if分支语句的逻辑和选择效果,以及如何通过分支实现多选一的决策流程。
摘要由CSDN通过智能技术生成

变量交换练习

移位操作符可以把一个数字的所有二进制数位内容统一向左或者向右移动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分支将不会执行

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值