嵌入式学习的第三天

先对昨天的内容进行一些补充

转义字符的使用

运算符和表达式

(1)基本的算数运算符

+(加法运算符);-(减法运算符);*(乘法运算符);/(除法运算符);%(取余运算符)

使用 / 需要注意:当两个整形数相除时,相当于整除;除数不能为0

使用%需要注意:运算数只能是整数;结果的符号取决于左操作数的符号;除数不能为0.

表达式

由运算符 和 运算数构成字符序列;表达式都是有值的;表达式都是有数据类型的

C语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行。如果在一个运算对象两侧的运算符的优先级别相同,则按照结合性进行结合

优先级和结合性

在C语言中,运算符的优先级和结合性如下

 

隐式类型转换

强制类型转换

语法:(类型名)转换目标

例如(int)12.462   就是把12.462转换为int性的数据

(2)自增自减运算符

作用是使变量的值增 或减 1

i++        (后置加加——先用后加)

++i        (前置加加——先加后用)

注意:i++,++i如果单独使用,效果上没有区别;先用后加,先加后用只在参与其他运算时才起作用;自增自减的运算数必须是一个可修改的变量

如遇到 i+++i 这种组合,可用贪心法来分割

贪心法:从做到右逐个扫描,将字符尽可能多的组合成C语言运算符

分割后为 i++  +i

(3)赋值运算符

赋值符号"="就是赋值运算符,它的作用是将一个数据赋给一个变量

int a;
a = 10; //运算结果就是a的值,类型就是a的类型

 在不同类型间赋值时

int a;
a = 1.23;  //1.23是个浮点型的数据,a是个整形数据,最后输出的a = 1

当高精度的数据如double/float 向低精度的数据类型赋值时会发生精度丢失的情况

而在整形中

像int这种长类型向short这种短类型赋值时,会发生高位截断现象

short i;
i = 0x12345678; //short类型的大小只有2字节,0x12345678有4字节
                  最后输出的i = 0x5678 只保留低位的数据

在短类型向长类型赋值时,分有符号signed和无符号unsigned两种情况

无符号时会在输出结果的高位补0,有符号时则会在高位上补符号位

(4)逗号运算符

’ 就是逗号运算符。

语法为:表达式1,表达式2,表达式3,······表达式n

过程:1 + 2,i + 1,3+4  //从左到右挨个运算;结果是整个式子中最后一个表达式的运算结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值