自增/自减运算符

  C语言中有两个特殊的运算符,即自增运算符“++”和自减运算符“--”。自增、自减运算符对变量的操作效果分别是使变量增加1和减少1。

--counter;        //自减前缀符号
grade--;          //自减后缀符号
++age;            //自增前缀符号
height++;         //自增后缀符号

自增、自减运算符可以放在变量的前面或后面。上述代码比较简单,只有自增、自减,没有其他的表达式运算,因此,运算符无论是前缀还是后缀不重要,得到的结果是一样的,自减就是变量减1,自增就是变量加1。

下面来看一下自增、自减运算

#include<stdio.h>
int main()
{
	int iNumber1 = 3;
	int iNumber2 = 3;


	int iresult1, iresult2;//定义变量 存储结果
	int iresult3, iresult4;

	iresult1 = ++iNumber1;//前缀自增运算
	iresult2 = iNumber2++;//后缀自增运算

	printf("The Addself ...\n");
	printf("the number1 is:%d\n", iNumber1);
	printf("the iresult1 is:%d\n", iresult1);
	printf("the number2 is:%d\n", iNumber2);
	printf("the iresult2 is:%d\n", iresult2);

	 iNumber1 = 3;//重新恢复变量值大小
	 iNumber2 = 3;


	iresult3 = --iNumber1;//前缀自减运算
	iresult4 = iNumber2--;//后缀自减运算


	printf("The Deleteself ...\n");
	printf("the number1 is:%d\n", iNumber1);
	printf("the iresult3 is:%d\n", iresult3);
	printf("the number2 is:%d\n", iNumber2);
	printf("the iresult4 is:%d\n", iresult4);


		return 0;

}

(1)在程序代码中,定义iNumber1和iNumber2两个变量用来进行自增和自减运算。

(2)进行自增运算,分为前缀自增和后缀自增。运行程序后可以知道,自增变量iNumber1和iNumber2的结果同为4,但是得到表达式结果iresult1和iresult2却不一样,结果分别为4、3,前缀自增使得iresult1变量先进行自增操作,然后再赋值操作;后缀自增是先进行赋值操作然后再自增。因此两个表达式的结果是不一样的。

(3)在自减运算中,前缀自减和后缀自减与自增运算方式是相同的。 

 总结:

一、自增运算符:

1、自增表达式i++和++i的基本功能与赋值表达式i=i+1都是相当的;

2、语句i++;与语句++i;是完全等价的,而表达式j=i++与表达式j=++i则是完全不同的。

3、前自增表达式++i的值,是i加1之后的值。(先加1后引用);后自增表达式i++的值,是i+1之前的值。(先引用后加1)

int main()
{
	int i = 0;
	int j;
	j = i++;
	printf("%d\n", j);
	i = 0;
	j = ++i;
	printf("%d\n", j);
	return 0;
}

二、自减运算符

1、自减表达式i--和--i的基本功能与赋值表达式i=i-1都是相当的;

2、语句i--;与语句--i;是完全等价的,而表达式j=i--与表达式j=--i则是完全不同的。

3、前自减表达式--i的值,是i减1之后的值。(先减1后引用);后自减表达式i--的值,是i-1之前的值。(先引用后减1)

int main()
{
	int i = 0;
	int j;
	j = i--;
	printf("%d\n", j);
	i = 0;
	j = --i;
	printf("%d\n", j);
	return 0;
}

另外:自增、自减运算符是单目运算符,因此表达式和常量不可以进行自增、自减运算。例如,1++,(a+5)++都是不合理的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值