●运算符
c提供的算数运算符有:+(加)、-(减)、*(乘)、/(除)、%(取模/取余,相除取余数,且float和double不能进行取余)、++(自增)、--(自减)
++在变量前面,先自增,在运算
++在变量后面,先运算,在自增
--同理
关系运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、!=(不等于)、==(完全相等)
逻辑运算符:!(非/逻辑反)、&&(与/逻辑与)、||(或/逻辑或)
!:进行取反运算,是1为0,是0为1
&&:遇到0结果为0,同为1,结果为1;运算时,从左到右进行运算,两个条件同时为真即结果为1,但是只要其中一个条件不成立,结果为0,例:
2+2>3 && 8<10 4>3为真,且8<10为真,结果为1
2+2>4 && 8>10 4>4为假,且8>10为假,结果为0
2+2>3 && 8>10 4>3为真,且8>10为假,结果为0
2+2>4 && 8<10 4>4为假,且8<10为真,结果为0
||:遇到1结婚为1,同时为0,结果为0;从左到右进行运算,两个条件同时为假即结果为假,但是只要其中一个条件成立,结果为1,例:
2+2>3 && 8<10 4>3为真,且8<10为真,结果为1
2+2>4 && 8>10 4>4为假,且8>10为假,结果为0
2+2>3 && 8>10 4>3为真,且8>10为假,结果为1
2+2>4 && 8<10 4>4为假,且8<10为真,结果为1
●位运算
位运算符:~(取反/位逻辑反)、&(与/位逻辑与)、|(位逻辑或)、^(位逻辑异或)、>>(右位移)、<<(左位移)
~:和逻辑非一样
&:和逻辑与一样
|:和逻辑或一样
^:相同为假,不同为真,即0 0 为假,1 0为真,0 1为真,1 1 为假。
<<,>>:左移,或者右移一位,左移右边补零,右移左边补零
●赋值运算符和赋值复合运算符
=(赋值)、+=(加赋值复合运算符)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(求余赋值)、&=(位与赋值)、|=(位或赋值)、^=(位异或赋值)、>>=(位右移赋值)、<<=(位左移赋值)
●三目运算符
条件运算符"?:"是三目运算符
<表达式1> ? <表达式2> : <表达式3>
换算成if语句,如果if里面的表达式1成立,执行表达式3,否则执行表达式3。
if(表达式1)
表达式2;
else
表达式3;
●特殊运算符
逗号运算符","
一般在括号内使用,运算顺序是从左到右,在括号内取逗号运算符最右边的值,即最后一个表达式的值是整个表达式的值
sizeof运算符
sizeof(<类型或者变量名>)
它只针对数据类型,不针对变量,用于计算变量占内存的长度