嵌入式学习笔记三——C语言运算符与表达式

转义字符

需要注意的几个点

\b\n打印   \n的换行效果显现在下一行,不会覆盖前面打印的内容

\r              含义是回车,效果是光标回到本行开头

 \\              打印一个\,可用于打印路径

算术运算

运算符:+ - * / %

在进行/ (除) 运算时要注意:

(1).如果是两个整型数相除,此时相当于是整除的效果

(2).除法运算中 除数不能为 0

在进行%(除余)运算时需要注意:

(1).除数不能为0  

(2).求余运算,运算数不能是小数,必须是整数 

(3).结果的符号 ,取决于左操作数的符号

%的运用: 利用%2判断奇数偶数,%n可以得到0~n-1的值。

运算符有优先级和结合性不同优先级的运算混合运算时,高优先级的先结合,同一优先级的运算混合运算时,按照结合性进行结合。

表达式:

由运算符和运算数构成,有值,有数据类型。

隐式类型转换

运算过程中char、short型数据运算时会转成int型,float型进行运算时会转成double,此为必转。低精度与高精度混合运算时,数据类型由低精度往高精度转。这是表达式在运算过程中的隐式类型转换。记住从下到上(低精度到高精度),从右往左(必转).

我们还可以手动进行强制类型转换,格式为:(类型)运算数。强制类型转换为运算符,不会影响运算数本身。

++:自增,表示一次+1

--:自减,表示一次-1

i++与++i的区别:

i++  后置++,先用后加

++i  前置++,先加后用      //用(用表达式的结果);加(让i自加)

如果单独使用,效果上没有区别,参与到其他运算中才有前置和后置的效果。

i++在运算时会产生临时存储空间,所以++i效率更高。

左值和右值

左值可以定位,可以放到等号的左边。一般常量为左值

右值不可定位,只能放到等号的右边。常量、表达式都为右值。 

++和--的运算数必须为可以修改的变量,不能为常量和表达式(右值),也不能是用const修饰的变量,因为const修饰的变量不可以修改。

浮点型数也可以自减自加。

赋值运算

赋值符号是‘=’号,作用是将一个数据赋给一个变量,结合方向是从右往左。赋值运算符还有+=、-=、/=等,a+=1就是a=a+1,这些赋值运算符的作用是简化代码。

不同类型数据间的混合赋值,

将高精度类型赋给低精度类型,会发生精度丢失,丢失小数位。低精度赋给高精度,基本无影响。

将长类型赋给短类型,会发生高位截断。短类型赋给长类型,如果是无符号短类型 赋给长类型,在高位补0,如果是有符号短类型 赋给长类型,将进行符号位扩展,用符号位补齐高位。

逗号运算(顺序求值运算符)

表达式1,表达式2,表达式3,...,表达式n

从左到右,挨个运算,式子中最后一个表达式运算的结果  为逗号运算的结果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值