linux环境下C编程(五)

来源:互联网 发布:windows输入法不能切换 编辑:程序博客网 时间:2024/05/17 06:35
移位操作可以把一个数据中的所有二进制位向左或者向右移动n个位置
左移 <<
右移 >>
符号的左边是要操作的数据
右边是希望移动的位数
移位操作不会改变参与计算的数字
左移操作右边的空位置上一定补0
有符号数据右移左边空位置上补符号位
如果移位操作过程没有丢失数据 则左移相当于乘以2的n次方 右移相当于除以2的n次方
~是一个单目位操作符 可以对二进制按位取反


& 获得一个变量的存储地址
* 根据存储地址得到对应的值


三目操作符可以根据一个布尔值从两个无关的计算公式选择一个进行数据处理
布尔值?公式1:公式2
如果布尔值是真计算公式1否则计算公式2


如果一个表达式中的数据类型不同计算机会首先把他们转换成同一个类型再计算
这个转换过程是自动完成的叫做隐式类型转换
为了避免转换过程中数据丢失 计算机会把占地小的数据转换成占地大的数据
如果数据类型不同但是占地一样,则按照 整型转浮点 有符号转无符号规则


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


可以在程序中强制对数据进行类型转换
在一个数据前面加小括号并在括号里写一个类型就实现了强制类型转换
强制类型转换有可能造成数据丢失


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


如果多个逻辑表达式任何时候最多只有一个为真 我们说他嗯存在互斥关系
多个互斥关系的表达式构成的分支语句可以使用else关键字合并


不可能同时为假的多个逻辑表达式之间有互补关系
使用具有互补关系的多个逻辑表达式编写分支语句最后一个可以省略


使用switch...case语句也可以实现分支效果 
把小括号里的内容和大括号中列举出来的数字逐个比较 如果和某个数字一致则执行这个数字的处理语句
直到break;语句为止
所有没有列举出的数字采用default语句组进行处理


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


循环语句可以让一组语句反复执行 
for是一种循环语句
在循环语句执行过程中总是可以找到一组数字可以用一个变量表示他们


编写for循环语句步骤:
1、声明一个变量
2、确定开始数字和结束数字
3、以如下格式描述循环变量的变化过程
(循环变量 = 开始数字;循环变量和结束数字的关系;循环变量变化方式)
4、在小括号前边加for关键字 后边加一对大括号
5、编写大括号里的语句。每当循环变量发生一次变化后 大括号里的语句就执行一次
这个执行过程中循环便来那个会把范围中的每个数字代表一次




练习:
1、使用三目操作符编写程序 把用户给定的十六进制的某个位数转换成十进制并打印在屏幕上
2、编写分支根据用户给定的年月数字计算出天数‘
3、使用循环解决鸡兔同笼的问题
40个头 100个脚 计算有多少个鸡 多少只兔子
4、使用循环解决砝码问题





















































0 0
原创粉丝点击