#include
<
stdio.h
>
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
void
main()
...
{
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
int i=8;
printf("%d ",++i);//9
printf("%d ",--i);//8
printf("%d ",i++);//8
printf("%d ",i--);//9
printf("%d ",-i++);//-8
printf("%d ",-i--);//-9
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//a+=5 等价于a=a+5
//x*=y+7 等价于x=x*(y+7)
//r%=p 等价于r=r%p
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*
unsigned x;
int p=4;
int n=3;
int z;
z=(x >> (p+1-n)) & ~(~0 << n);//z=3
printf("%d ",z);
*/
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
/**//*
int a=2;
int b=5;
int c=3;
int r=7;
int x=9;
int y=9;
int k=2;
int j=1;
int z,h,i,w,m,n;
m=j/y;//除不尽就为0,除的尽取整
printf("m=%d ",m);//m=0
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
z=(a*2)/c;// 与上面一样,不过()有更高的优先级:4/3=1;3/4=0;
printf("z=%d ",z);//z=1
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
h=(x+r)*8-(a+b)/7;//优先级与上一样128-1=127
printf("h=%d ",h);//h=127
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
i=x++&++y;
//n=n&0177; //n=76
n=n&~077; //-858993472 //------'&'按位与(and);经常用于屏蔽某些二进制位
printf("n=%d ",n);
printf("i=%d ",i);//i=8
//----'|'按位或(or)
//----'^'按位异或(xor)
//----'<<'左移
//----'>>'右移
//----'~'一元运算符,分别操作二进制位上1变0,0变1
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
w=(++i)-(j++)+(k--);
printf("w=%d ",w);//w=10
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
*/
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
#include
<
stdio.h
>
//
二元运算
void
main()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int a=1;
int b=3;
int x;
x = (a > b) ? a : b;
printf("x=%d ",x);
}
#include
<
stdio.h
>
void
main()
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
unsigned int x;
int p=4;
int n=3;
int z;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
//z=(x >> (p+1-n)) & ~(~0 << n);//z=3
//>> <<左右移动操作符 只能转换为二进制后在移。
//>>>右移,无符号的unsigned的右移
//~(~0<<n)=7
//~0<<n= -8
//逻辑运算符
// ~ 0 = -1;~ -1=0;~5=-6;~-5=4;
// z=13|10;//按为或,表示只要有一个运算对象为1,结果就是1
// z=13^10;//按位异或,表示只有对象不同的时候才为1.否则为0
// z=13&10;//按位与,表示只有运算对象相同的时候才为1,否则为0
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
z=(p>n)?1:0;
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
printf("%d ",z);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
2
**************************************
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);//y=6,x=69
*************************************