您的位置:首页 > 其它

移位运算及流程控制语句

2014-04-19 21:06 183 查看
移位操作可以把一个数据中的所有二进制位向左或向右移动 n 个位置

左移使用符号 << 表示

右移使用符号 >> 表示

符号左边是要操作的数据,右边是移动的位数

移位操作不会改变参与计算的数字

左移操作右边的空位置上一定补 0

有符号位右移的时候左边的空位置上补符号位

如果移位操作过程中没有丢失有效数据则左移 n 相当于乘以 2 的 n 次方,右移 n 位就相当于除以 2 的 n 次方

~ 是一个单目位操作符,可以对二进制数位进行按位求反

& 可以用来获得一个变量存储位置的地址 地址数据占位符用 %p
* 操作符可以根据存储位置的地址表示存储位置本身

三目操作符可以根据一个布尔值从两个完全无关的计算公式中选择一个进行数据处理

格式: 布尔值 ? 公式1 :公式2

如果布尔值是真则采用公式 1 进行处理,否则采用公式 2 进行处理

三目表达式的计算结果就是最终采用的计算公式的计算结果

如果一个表达式中的多个数据类型不同则计算机会首先把它们转换成同一个类型然后再计算

这个转换过程由计算机自动完成 叫做隐式类型转换

为了避免转换过程中的数据丢失计算机会把占地小的数据转换成占地大的数据

如果数据类型不同但占地一样大则按照整数转浮点数,有符号转无符号的规则

类型转换的实现过程中会制作出新的符合类型要求的变量然后用旧的数据对新变量进行赋值最后用新的变量进行计算

可以在程序中强制对数据进行类型转换

在一个数据前面加上小括号并在小括号里写一个类型名称就可以实现强制类型转

(char)10 就是一个强制类型转换

强制类型转换有可能造成有效数据丢失

流程控制语句可以改变语句的执行的顺序

分支语句是一种流程控制语句 可以根据程序的运行情况决定一组语句是否要执行
if 关键字是一种用来编写分支语句的方式

如果多个逻辑表达式任何时候最多只有一个为真我们说他们之间存在互斥关系

多个互斥的逻辑表达式构成的分支语句可以使用 else 关键字合并(第一个逻辑表达式前面不可以使用 else 关键字)

不可能同时为假的多个逻辑表达式之间有互补关系

使用具有互补关系的多个逻辑表达式编写的分支语句可以把最后一个逻辑表达式省略

使用 switch ... case 语句也可以实现分支效果

把小括号里的内容和大括号中列举数的数字逐个比较,如果和某个和数字一致则执行这个数字的处理语句直到 break 语句为止

所有没列举的数字采用 default 语句组处理

小括号里的可以是一个计算公式,只要计算结果是整数就行

循环语句可以让一组语句反复多次执行

for 语句是一种循环语句

在循环语句的执行过程中总是可以找到一组数字,可以用一个变量表示它们

编写 for 循环语句的步骤

1.声明一个变量(循环变量)

2.确定开始数字和结束数字

3.以如下格式描述循环变量的变化过程

(循环变量 = 开始数字 ; 循环变量和结束数字的关系 ;循环变量的变化方式)

4.在小括号前边写 for 关键字,后边加一对大括号

5.编写大括号里的语句,每当循环变量发生一次变化后大括号里的语句就执行一次

每次大括号里的语句执行时循环变量代表变化范围中的数字

整个执行过程中循环变量会把范围中的每个数字代表一次

练习

1.使用三目操作符编写程序把用户给定的十六进制的某个数位转换成十进制数位并打印

0 -- 9 a -- f A -- F

2.编写分支根据用户给定的年,月数计算出天数

3.使用循环解决鸡兔同笼问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: