C语言操作符

C语言的操作符可以分俩大点,一是其各类操作符,二是其表达式的求值。
我们今天对这些知识点进行一个整理。

一、操作符
1.算术操作符

+(加)    -(减)    *(乘)     /(除)    %(取模)

2.移位操作符

<<(左移)       >>(右移)

移位规则:
左移: 左边抛弃,右边补0
右移:
(1)逻辑移位:左边补0,右边丢弃
(2)算术移位:左边补符号位,右边丢弃
注:num>>-1//error 这个标准是未定义的

3.位操作符

&   (按位与)     |(按位或)    ^(按位异或)

4.赋值操作符

复合赋值符:
+=    -=     *=     /=     %=     >>=     <<=     &=     |=     ^=

5.单目操作符

!                    //逻辑反
-                     //负值
+                     //正值
&                     //取地址
sizeof                //操作数的类型长度
~                     //对一个数的二进制按位取反
-- /++                //前置、后置
*                     //间接访问操作符(解引用操作符)
(类型)                //强制类型转换

6.关系操作符

>      >=       <      <=      !=      ==

7.逻辑操作符

&&(逻辑与)        ||(逻辑或)

8.条件操作符

exp1 ? exp2 : exp3   //exp1成立取exp2,否则取exp3

9.逗号表达式

exp1,exp2,exp3,exp4    //整个表达式的结果是最后一个表达式的结果

二、表达式求值
在求值的过程中,我们会出现很多情况,比如说表达式中的字符char为短整型,而C的整型算术运算总是以缺省整型类型的精度来进行的,所以在这类的计算中,我们需要进行转换,而这种转换称为整型提升
通俗来讲,CPU内整形运算器的操作数的字节长度一般为int的字节长度,也是其寄存器的长度。所以,当俩个char类型相加时,要先成CPU内整型操作数的标准长度。

整型提升时看变量自身的类型
1.负数整型提升时,高位补充符号位1.
2.正数整型提升时,高位补充符号位0.
3.无符号整型提升时,高位补充0.

只要参与了运算,就会发生整型提升!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值