嵌入式day3

变量赋初值:

变量开辟内存空间后,内存空间为随机的,若不赋值,则为随机数

int i = 10;           =:初始化 (开辟空间的同时赋值)

i = 10;                =:赋值(开辟空间的随机数更改成指定的值)

运算符

优先级 含义 结合方向(同等运算符的运算顺序)

1                +                            2

操作数 运算符(operator)操作数(operand)

双目运算符即需要两个操作数的运算符

单目运算符优先级高于双目运算符

任何表达式都有数据类型 编译器只做类型检查

程序崩溃,当即终止运算

% 求余运算符

求余运算符要求运算符左右两边的操作符为整型或与整型相兼容

求余表达式最终结果的符号与左操作数有关,与右操作数无关

求余表达式的最终结果一定小于右操作数


man    调用程序员手册

返回值 + 函数名(标识符) + (函数形参表)如 long int random (void)

形参与实参必须个数相等,类型匹配

临时变量(匿名变量)

i++:

++i :先加后用;i++:先用后加

++i 效率高于 i++ ,适用于浮点型和字符型

i++ + i++ + i++ 不同的软件有不同的运算结果,杜绝这种写法

赋值运算符的左右:

left value = lvalue 左值(变量)right value = rvalue 右值(常量(不能放在左边))

所有的匿名变量都为右值

贪心运算:++i++ 后置++为临时变量,为右值,不能自增

locatable readable

&     取地址运算符 (%p) 

 能取地址的为左值,不能取地址的为右值

const int i = 2;

i为只读变量,不可直接修改 i为左值

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

隐式转换:

显式转换:

(类型)

类型转换运算符  有可能会带来数据的丢失

转换为匿名变量,为右值

赋值运算符

i += 2      等同于       i = i + 2 要求左操作数必须为左值

本质:内存拷贝

混合赋值

int = double             小数部分截断

short = int                高位截断

int = short                符号位扩展(短数据符号位决定长数据的空穴为0或者1)

unsigned int = int     内存拷贝

总结:long = short 若short为有符号位,则long的空位根据short符号位决定,正全为0,负全为1

若short为无符号位,则long的空位全为0

逗号运算符

逗号运算符输出最后一个 如(1 + 2,3 * 8,7 - 5);输出的为5

函数调用表达式中的逗号,不是逗号运算符,是形参的分隔符

---------------------

嵌入式学习第三天,今天讲的内容明显比前两天更多更难,但还好不算很难理解。人生不就应该以迎难而上吗?继续加油吧!

  • 17
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值