黑马程序员——自增和自减运算符

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

一.自增、自减运算符介绍

 在程序设计中经常用到i=i+1和i=i-1这两种操作用的非常多。C语言中为这两种操作提供了更为简洁的运算符,即++和--,分别叫做自加运算符和自减运算符。它们是单目运算符,是从右向左结合的运算符。

二.自增、自减运算符求值过程

1.前缀表达式:++x,--x;其中x表示变量名,先完成变量的自增自减运算,再用x的值作为表达式的值,即“先变后用”,也就是变量的值先变,再用变量的值参与运算。即先变后用。

例:前缀表达式:++a,求值:先让a的值+1,再取出a的值作为表达式的值,a的初始值为3,则

(1)a的值:4

(2)++a表达式的值:4

2.前缀表达式:x++,x--;先用x的值作为表达式的值,再完成变量的自增自减运算,即“先用后变”,也就是先用变量的值参与运算,变量的值载进行自增自减变化。即先用后变

例:后缀表达式:a++,求值:先取出a的值作为表达式的值,再让a的值+1,a的初始值为3,则

(1)a的值:4

(2)a++的值:3

三.实例分析

例1:

int main(int argc,const char*argv[]){
int a=3,result=0;
result=(a++);//先取出a的值,a的本身再+1
printf("result=%d,a=%d\n",result,a);
return 0;
}
程序运行结果:result=3,a=4

例2:

int main(int argc,const char*argv[]){
int a=3,result=0;
result=(++a);//先使a+1,再将a的值赋给result
printf("result=%d,a=%d\n",result,a);
return 0;
}

程序运行结果:result=4,a=4

例3:

int main(int argc,const char*argv[]){
int a=3,b=5;
int result=a+++b++;
printf("a=%d,b=%d,result=%d\n",a,b,result);
return 0;
}

程序运 行结果:a=4,b=6,result=8

分析:a++表达式的值为3,b++表达式的值为5,所以result的值为8
注意:

1.不管是a++还是++a,最终执行过,a的值都会加1

例:计算a的值,int a=3,(++a)+b+(a++)。a的值为5

2.自加运算符和自减运算符只能用于变量,不能用于常量
例:以下为错误的使用:(1)++3;(2)int a=3,++(a+3)

四.技巧

i++    先看到的是变量,表达式的值就是变量的值
++i    先看到的是++,表达式的值是i的值+1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值