十一、运算符

运算符在C语言中我们主要有三种:算术运算符、关系运算符、逻辑运算符,下面一一学习:

1.算术运算符:+、-、*、/、%、++、--,下面让我们直接进入练习;

十一、运算符十一、运算符

 从上图中可以看出,c,d变量中所得到的值为和;注意,printf在显示浮点型常数的使用%f;

 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

 3.逻辑运算符:&&、||、!;

 逻辑与&&运算符有短路特性,逢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

 4.位运算符:~、&、|、^、>>、<<
 下面看下取反~例子:
 char x = 0x17;
y = ~x;
结果如下:
 十一、运算符
 下面让我们观察下按位与
 unsigned char x=0126, y=0xac, z;
 z = x & y;
 十一、运算符
 举例说明按位或:unsigned char x=076, y=0x89, z;
 z = x | y;
 十一、运算符
 举例说明按位异或:相同为假,相异为真;
 unsigned char x=75, y=0173, z;
 z = x ^ y ;
 十一、运算符
 
 位运算的功能可提高运算的效率,可处理硬件寄存器的速度;
让我们观察下0x01进行左移运算:
unsigned char x = 0x01;
X << 1 00000001 << 1 -> 00000010 结果从1变为2;
X << 1 00000010 << 1 -> 00000100 结果从2变为4;
X << 1  00000100 << 1  ->  00001000    结果从4变为8;
 从以上例子可以看出,左移1位相当于将原来的数*2,右移则是除以2;