李晨晨的嵌入式学习 DAY3

今天主要学习了变量赋值,混合运算,混合赋值

一·变量赋值

1.任何表达式都有其数据类型

   int i = 10; 初始化 效率低                  i = 10; 赋值 效率高

    编译器只做类型检查

2.求余运算

  a. 求余运算符要求%两边都与整型相兼容。

  b.符号只与左操作数有关,与右操作数无关。

  c.结果小于右操作数。

3.临时变量(匿名变量):临时开辟一个储存空间,将表达结果以16进制放进去。

4.

     ++i : 先加再用                                                         i++ : 先用在加(临时变量)

int i = 2   ++i   printf:3                                               int i = 2   i++  printf:2

单纯希望某值自增首选++i

5.

左值(Loactable value):字符,可取地址

右值(Read        value):数字,不可取地址

区分左值和右值,终究还是要看能否取地址。

...........................................................................................................................................................

二·混合运算

1.显式转换(临时转换)(类型)

例:

int main()
{
    //显式类型转换
    float a = 10.55f;
    float b = 13.14f;
    float c = (int)a + (int)b;
    printf("%f\n",c);
 
    return 0;
}

2.隐式转换

   例:

int a = 20;
    float b = 5.23f;
    int c = a + b;

上面的代码中,有两个不同的数据类型变量,在进行   int c = a + b; 表达式运算的时候,会有一个隐式转换的过程。因为int 类型比 float类型的精度低,所以编译器会先把变量a隐式转换为float类型的数据,然后再把两个float类型的a和b进行相加。

注意:强制类型转换可能会导致信息丢失(右值)

...........................................................................................................................................................

三·混合赋值

1.int = double,         小数部分截断

2. short = int           低字节拷贝,高字节删掉(高位截断)

3.  int i ;                             短数据类型向长数据类型赋值时,短数据类型为负补1,为正补0

   short s = -12345;           (符号位扩展)由右操作数符号决定                    

    i = s ;    (补1)

4. int i ;                                

  unsigned short s = -1;

  i = s ; (补0)

5.逗号运算符只保留第一位的运算结果,打括号后只保留最右边的运算结果。

   在printf()中逗号不是运算符,表示分隔符。

...........................................................................................................................................................

今天的学习就到这了,明天见。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值