c语言变量运算
⑴ 在c语言中11种赋值运算符的具体含义,用法
1.=
赋值运算符
变量=表达式
如:a=3;将a的值赋为3
2./=
除后赋值
变量/=表达式
如:a/=3;即a=a/3
3.*=
乘后赋值
变量*=表达式
如:a*=3;即a=a*3
4.%=
取模后赋值
变量%=表达式
如:a%=3;即a=a%3
5.+=
加后赋值
变量+=表达式
如:a+=3;即a=a+3
6.-=
减后赋值
变量-=表达式
如:a-=3;即a=a-3
7.<<=
左移后赋值
变量<<=表达式
左移就是将《左边的数的二进制各位全部左移若干位,《右边的数指定移动位数,高位丢弃,低位补0,
移几位就相当于乘以2的几次方
8.>>=
右移后赋值
变量>>=表达式
右移运算符是用来将一个数的各二进制位右移若干位,移动的位数由右操作数指定(右操作数必须是非负值),移到右端的低位被舍弃,对于无符号数,高位补0。对于有符号数,某些机器将对左边空出的部分用符号位填补(即“算术移位”),而另一些机器则对左边空出的部分用0填补(即“逻辑移位”)。注意:对无符号数,右移时左边高位移入0;对于有符号的值,如果原来符号位为0(该数为正),则左边也是移入0。如果符号位原来为1(即负数),则左边移入0还是1,要取决于所用的计算机系统。有的系统移入0,有的
系统移入1。移入0的称为“逻辑移位”,即简单移位;移入1的称为“算术移位”。
9.&=
按位与后赋值
变量&=表达式
按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,A=true,B=true,则A∩B=true
10.
^=
按位异或后赋值
变量^=表达式
参与运算的两个量按照对应的位进行异或运算,且
0^0→0,
0^1→1,
1^0→1,
1^1→0
此外,一个数与0异或仍保持不变,即a^0=a
一个数与自己异或结果为0,即a^a=0
11.|=
按位或后赋值
变量|=表达式
参与运算的两个量按照对应位进行或运算,且
0|0→0,
0|1→1,
1|0→1,
1|1→1
这些位运算都是与二进制码有关的,所以多弄弄也就会了
⑵ c语言中的+=是什么意思怎么使用的
自增1的意思,比如int i=1; i++后i的值就变为了2.
两种用法:
假如定义了一个变量i=1
1、若使用i++, 指代先取i的值再另i=i+1
2、若使用++i,指代先使i=i+1再取i的值
注意的就是i++和++i的区别,前者是运算完后自增1,后者是自增1后再运算。
(2)c语言变量运算扩展阅读:
C语言运算符
一、常见的加减乘除运算
1、加法:+还可以表示正号
2、减法:-还可以表示负号
3、乘法:*非数学意义上的X
4、除法:/注意1/2的值为0而非0.5
5、取余(模运算):两个整数相除之后的余数(注意两边都必须是整数,带符号只和左值有关)
二、自增自减运算
Inta=10;
把a的值加1有四种方法:
1、a=a+1;
2、a+=1;
3、a++;
4、++a;
简单区分a++和++a。
Intb;
Inta=10;
b=++a; //a==11,b==11;a先把值加1为11,再赋值给b
b=a++; //a==11,b==10;a先把值10复制给b,a自己再加1为11
b=(a++)+(++a);//a1==10,a2==12,b==22
b=(++a)+(a++);//a1==11,a2==11,b==22
注意:intd=10++;//这种写法是错误的,因为对常量进行自加和自减没有任何意义。
⑶ C语言中+=和-=是什么意思
+=:加法赋值运算符,将运算符前面的变量加上后面的值再赋值给前面的变量。
-=:减法赋值运算符,将运算符前面的变量减去后面的值再赋值给前面的变量。
比如:
a+=b;//等价于a=a+b
a-=b;//等价于a=a-b