数据类型、运算符与表达式

1、变量赋初值

        int t = 10;   初始化,在ram中随机分配内存空间时,便把10写入了

        t = 10;         赋值

2、算术运算符

        分为单目运算符和双目运算符,一个表达式的运算顺序需要严格执行运算表的优先级顺序。

        %的左右操作数必须是整型或者于正型相兼容,最终结果的符号只与左操作数的符号有关。

        编译器只做类型检查,类型正确便不会报错,导致10/0也可编译通过,但会导致程序崩溃。

        临时(匿名)变量:表达式产生的结果会被随机存放到一块内存空间中,在使用结束后,系统自动收回该空间

自增++ii++
先加再用先用再加
本质

直接将内存空间的值+1

++i和i是一个东西

将i的值复制到一块内存空间中作为i++,而原本内存空间的i+1作为新的i

                     所以 ++i的效率高于i++

3、赋值运算符和赋值表达式

 1>   以=为基准,左边 left value 称为左值,一般为变量

                        右边 right value 称为右值,一般是常量且不能当做左值的值。

        也可通过是否能通过&取出地址来判断左右值,左值能取出,右值不能取出。

        通过 const 修饰 i = 10;后的 i 数值只读且不能直接修改,但可通过指针修改 i 的数值,这是能取 i 的地址的,所以他是左值。

  2>   不同数据类型的混合赋值运算  用途:函数传参

   赋值运算的本质是内存拷贝

         int = float小数部分截断也叫取整

        float = int

整型变为浮点型,数值大小不变
       低位 = 高位高位截断
       高位 = 低位通过内存拷贝,高位会出现空位,空位补0或补1,取决于低位的符号位
     无符号 = 有符号直接进行内存拷贝,两组数据在内存中一模一样,只是读的方式不一样,数值才不一样
  siged int = unsiged short高位空位直接补0

 总结:      

long=signed short     符号位是1则高位补1,是0则高位补0
unsigned short 统一补0

4、各类数值型数据间的混合运算

隐式转换:

横向箭头表示必定的转换

纵向的箭头表示四种数据类型的级别的高低,两种不同数据类型进行计算会自动转换成高级别的数值进行计算

显示转换:(类型)值

5、逗号运算符

逗号运算符也叫顺序运算符,不同表达式由逗号隔开时,只会输出最后一个表达式的值

在函数调用表达式中,逗号是实参分隔符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值