菜鸟转行嵌入式_(第4天)C语言基础_运算符1

186 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1 运算符

优先级(顺口溜):单算移关与,异或逻条赋

1.1 算术运算符

C提供的算术运算符:+,-,*,/,%,++,如下:float/double不能取余

++:前置和后置

前置:先计算,后赋值(二级优先级)

后置:先赋值,后计算(一级优先级)

--:前置和后置 前置:先计算,后赋值(二级优先级)

后置:先赋值,后计算(一级优先级)

1.2 关系运算符

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

例如,
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

1.3 逻辑运算符

逻辑与:&&,并且的关系,&&符号的左右两边条件都成立的时候整个条件才是成立的

短路原则:遇到条件为假则结束,后面的不进行判断

逻辑或:||,或者的关系,||符号左右两边有一个条件成立的时候整个条件都成立

短路原则:遇到条件为真则结束,后面的不进行判断

逻辑非:! ,真为假,假为真

例如,
int  k=8;
! ( k ==0)        结果值为1
! ((k-8) == 0)    结果值为0
! (k<= 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

1.4 赋值运算符

赋值运算符为“=”,其运算的一般形式如下:

<左值表达式> = <右值表达式>

赋值复合运算符其运算的一般形式如下:

<变量> <操作符>= <表达式>

将等号右边的值赋值给等号左边,要求左边必须是一个变量

1.5 赋值复合运算符

+= -= /= *= >>=

a+=b  ==>  a=a+b
a >>= b  ==>  a=a>>b
#include <stdio.h>
int main(int argc, char **argv)
{
   int count, sum;   
   count = 0; sum = 0;
   while (count++ < 20) {   sum +=count; } 
   printf("sum = %d\n", sum);
   return 0;
}
---->1+2+3+...+20