目录
一、算术运算符
C语言提供了40多个运算符,其中算术运算符为:+,-,*,/,%,++。如图所示:
注意:float/double不能参与取余运算。
例如:
int a=15,b=8,c;
c = a + b; //将a与b的和赋值给c
c = a – b; //将a与b的差赋值给c
c = a * b; //将a*b的积赋值给c
c = a / b; //将a/b的商赋值给c
c = a % b; //将a/b的余数赋值给c
二、关系运算符
在程序中经常需要通过比较两个值的大小关系决定程序下一步的工作,比较两个值的运算符称为关系运算符。关系运算符对两个表达式进行比较,返回一个真假值。
例如:
int a=5, b=6;
a>(b-1); //结果值为0
(a +1)== b; //结果值为1
a>=(b-2); //结果值为1
a<100; //结果值为1
(a+3)<=b; //结果值为0
a != (b-1); //结果值为0
三、逻辑运算符
C语言提供了3种逻辑运算符:与运算符(&&)、或运算符(||)和非运算符(!),其中与运算符(&&)和或运算符(||)是双目运算符,具有左结合性,非运算符(!)是单目运算符,具有右结合性。如下图:
口诀:
逻辑与“&&”运算符的运算规律如下:短路特性-全1为1,逢0截止
逻辑或“||”运算符的运算规律如下:短路特性-全0为0,逢1截止
例如:
int x=5, y=18;
(x>=5) && (y<20); //结果值为1
((x+1)>=0) && (y<17); //结果值为0
((x-8)>=0) && (y==18); //结果值为0
((x-5)>0) && (y!=18); //结果值为0
((x>=5)) || (y<20); //结果值为1
((x+1)>=0) || (y<17); //结果值为1
((x-8)>=0) || (y==18); //结果值为1
((x-5)>0) || (y!=8); //结果值为1
四、位运算符
位运算符是指进行二进制位的运算。C语言位运算符如下表:
注意:
异或运算:相同为0,不同为1
同或运算:相同为1,不同为0
五、赋值运算符
赋值运算符为“=”,其运算的一般形式如下:
<左值表达式> = <右值表达式>
赋值复合运算符其运算的一般形式如下:
<变量> <操作符>= <表达式>
赋值复合运算符如下表:
六、条件运算符
条件运算符(?:)是C语言中唯一一个三目运算符。其运算的一般形式是:
<表达式1> ? <表达式2> : <表达式3>
例如:
int main()
{ int x, y=25;
x=70;
y= x++ > 70 ? 100 : 0 ;
printf(“x=%d y=%d”, x, y);
return 0;
}
运行结果:x=71,y=0
七、sizeof运算符
运算的一般形式:sizeof(<类型或变量名>)
注意:它只针对数据类型,而不针对变量!
运算符优先级总结
C语言的优先级分为15级,1级最高,15级最低。当表达式中有多个不同级别的运算符出现时,优先级高的运算符总是优先于运算符低的运算符进行运算。优先级表格如下:
简单来说就是:!> 算术运算符 > 关系运算符 > && > || > 赋值运算符 > 逗号运算符