全!面!的!c语言操作符详解

算术操作符:

+,-,×,/,%

  1. 除了%操作符以外,其他几个操作符都可以作用与整数和浮点数
  2. 对于/操作符若两数都是整数执行整数除法;只要有浮点数就执行浮点数除法
  3. %操作符的两个操作数必须是整数

移位操作符:

<< 左移操作符
>> 右移操作符

**左移操作符移位规则:**左边抛弃,右边补0
**右移操作符移位规则:**右边丢弃,左边补符号位(算数移位法)或者右边丢弃,左边补0(逻辑移位法),我们常采用算数移位法。

注释:移位运算有时可以替换除2运算,这样是程序效率更高

**

位操作符:

& 按位与
| 按位或
^ 按位异或
他们的操作数必须是整数。

复合赋值符:

+=,*=,-=,/=,%=.>>=,<<=,&=,|=,^\

单目操作符:

!= 逻辑反操作
- 负值
+ 正值
& 取地址
sizeof 操作数的类型长度,以字节为单位,应该注意sizeof是操作符而不是函数!!!
– 前置,后置–
++ 前置,后置++
*简介访问操作符(解引用操作符)
(类型)强制类型转换

关系操作符:

,<,>=,<=,!=,==

**逻辑操作符:

**&&逻辑与
|| 逻辑或
注意:&&和||又是短路操作符
&&:左边式为假,则后面不在进行运算
||:左边式为真,则后面不再进行运算

条件操作符:

exp1?exp2:exp3

**逗号表达式:**exp1,exp2,…,expn
从左向右依次执行。整个表达式结果是最后一个表达式的结果。

*隐式类型转换:

**整型提升:**对于所有比int小的类型,包括char, signed char, unsigned char, short, unsigned short,首先会提升为int类型。算数转换是在运算过程中自动完成的。

**

操作符的属性

:**优先级,结合性,是否控制求值顺序。
全!面!的!c语言操作符详解
全!面!的!c语言操作符详解