#include
<
stdio.h
>
void main() ... {
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
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
//a+=5 等价于a=a+5
//x*=y+7 等价于x=x*(y+7)
//r%=p 等价于r=r%p
/**//*
unsigned x;
int p=4;
int n=3;
int z;
z=(x >> (p+1-n)) & ~(~0 << n);//z=3
printf("%d ",z);
*/
/**//*
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
z=(a*2)/c;// 与上面一样,不过()有更高的优先级:4/3=1;3/4=0;
printf("z=%d ",z);//z=1
h=(x+r)*8-(a+b)/7;//优先级与上一样128-1=127
printf("h=%d ",h);//h=127
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
w=(++i)-(j++)+(k--);
printf("w=%d ",w);//w=10
*/
}
void main() ... {
int a=2,b=4,c=6,x,y;
y=(x=a+b),(b+c);
printf("y=%d,x=%d",y,x);
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
//a+=5 等价于a=a+5
//x*=y+7 等价于x=x*(y+7)
//r%=p 等价于r=r%p
/**//*
unsigned x;
int p=4;
int n=3;
int z;
z=(x >> (p+1-n)) & ~(~0 << n);//z=3
printf("%d ",z);
*/
/**//*
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
z=(a*2)/c;// 与上面一样,不过()有更高的优先级:4/3=1;3/4=0;
printf("z=%d ",z);//z=1
h=(x+r)*8-(a+b)/7;//优先级与上一样128-1=127
printf("h=%d ",h);//h=127
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
w=(++i)-(j++)+(k--);
printf("w=%d ",w);//w=10
*/
}
#include
<
stdio.h
>
// 二元运算
void main()
... {
int a=1;
int b=3;
int x;
x = (a > b) ? a : b;
printf("x=%d ",x);
}
// 二元运算
void main()
... {
int a=1;
int b=3;
int x;
x = (a > b) ? a : b;
printf("x=%d ",x);
}
#include
<
stdio.h
>
void main()
... {
unsigned int x;
int p=4;
int n=3;
int z;
//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
z=(p>n)?1:0;
printf("%d ",z);
}
void main()
... {
unsigned int x;
int p=4;
int n=3;
int z;
//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
z=(p>n)?1:0;
printf("%d ",z);
}
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
*************************************