嵌入式学习第三天-字符串与运算符

一、字符串类型

二、运算符

1.算术运算符:+ 、-、 *、 /、 %、 ++、--

注:  (1)%的正负由左操作数的正负决定,其操作数必须是整形或是整形相兼容,%的结果小于右操

          作数,%运算符不能对浮点数进行操作。

       (2) ++i:先加再用,没有开辟临时变量

           i++:先用再加,开辟了临时变量

          效率:++i >i++

          float可以进行自加/自减操作

    (3)临时变量\匿名变量:被临时开辟出来的空间,使用后会被回收

                                               所有临时变量都是右值而非左值

2.赋值运算符:= 、+=、-=、*=、/=

  左值:(left value\locatiable)放在赋值运算符左边的\可被取地址的叫左值。

  右值:(right value\readable)放在赋值运算符右边的\不可被取地址的叫右值。

  左右值判断:能否取地址

注:(1) 左值只能为变量,不能是常量及表达式

        (2) const 关键字只能被初始化,不能被赋值

            eg:int const i=const int i表达意思一致

     (3) 赋值是内存空间的拷贝,若空间一样,可以直接拷贝

     (4) 符号位扩展:小数据放入大空间,补符号位,正数补0,负数补1

             补0扩展:无符号数(unsigned)补0

     (5)高位截断:大数据放小空间,直接截断高位,低位输出

     (6)浮点数类型赋值给整型,就舍去小数点后精度

3.逗号运算符:a=(a+b,a-b,a*b,a++,a--)

(1)逗号运算连接的逗号表达式从左到右依次执行

(2)最后一个表达式的结果作为整体表达式的结果

三、类型转换

                                  

  1.隐式转换:

      (1)运算符左右两边不一致时需要转换为统一类型再进行数据处理及运算

      (2)浮点型精度>整数型精度,无符号>有符号

  2.显式转换:强制类型转换,将数据类型强制转换为某一类型

练习:编写程序,计算给定的某三位数每一位的平方和。

#include<stdio.h>

int main (void)
{
    int i=123;
    int a,b,c,sum;

    a=i%10;
    b=i/10%10;
    c=i/100;
    sum=a*a+b*b+c*c;

    printf("%d\n",sum);
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值