自增运算符为“++”,其功能是使变量的值自增1;自减运算符为“--”,其功能是使变量值自减1。它们经常使用在循环中。自增自减运算符有以下几种形式:
注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1。
请分析如下代码输出结果:
#include<stdio.h>
int main(){
int a = 100;
printf("%d\n",a++);
printf("%d\n",++a);
printf("%d\n",--a);
printf("%d\n",a--);
printf("%d\n",a+1);//在此处需注意这里并没有改变 a的数值
printf("%d\n",a);
}
小伙伴们,别急着看运行结果,自己先想想看结果是什么?
运行结果:
赋值运算符
注意:复合运算符中运算符和等号之间是不存在空格的
那么C语言中的赋值运算符又是什么呢?
C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,之前我们已经接触过简单赋值运算符“=”号了,下面讲一下复合赋值运算符:
复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。
看一个小例子:
分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a
注意:复合运算符中运算符和等号之间是不存在空格的
#include <stdio.h>
int main()
{
int x = 10;
int y = 10;
//使用简单赋值语句实现x乘以2。
x+=10;
//使用复合赋值语句实现y乘以2。
y =y+10;
printf("x=%d\n", x);
printf("y=%d\n", y);
printf("x+y=%d\n,x+y");
return 0;
}