C语言自增自减

 ++i, --i   :使用i之前,先使i的值加(减)1。
 i++, i--   :使用i之后,再使i的值加(减)1。
 其中++i和i++的作用相当于i=i+1。但是++i和i++不同之处在于++i是先执行i=i+1后,再使用i的值;而i++是先使用i的值后,再执行i=i+1。
 **例如:**
 i=6
 a=++i; //i的值先变成7,再赋值给a,a的值才为7
 b=i++; //先将i的值6赋给b,b的值为6,然后i变为7
 **例如:**
 i=3;
 cout<<++i;  //输出4,此时i=4
 **若改为:**
 cout<<i++;  //输出3,此时i=4

一、设x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是
cout<

#include<iostream.h>
void main()
{
    int x=10,y=3;
    cout<<x--<<--y;
}

这里写图片描述
此题是最基本的,自增自减的运算。
二、以下程序的输出结果是 ( )

#include<iostream.h>
void main()
 {
    int a=12,b=12;
  cout<<--a<<" "<<++b<<endl;
}

这里写图片描述

三、以下程序的输出结果是 ( )

#include<iostream.h>
void main()
{
    int y=3,x=3,z=1;
cout<<(++x,++y)<<" "<<z+2<<endl;
}

这里写图片描述
z= (x++, y++);
因为逗号操作符的关系 执行x++值丢弃 再执行z = y++;
所以这行类似于
x++;
z = y++;

//以上程序结果为1.
#include<iostream.h>
void main()
{
    int x,y;
      x=y=3;
    int t=++x||++y;
   cout<<t<<endl;
}

注意:
1、 自增运算符和自减运算符只能用于变量,而不能用于常亮或表达式,如6++或(a+b)++都是不合法的。因为6是常量,常量的值不能改变。(a+b)++也不可能实现,如果a+b的值为6,那么自增后得到的7放到什么地方呢?无变量可供存放。
2、 ++ 和—的结合方向均是“自右向左”。一般情况下算数运算符的结合方向为“自左向右”,如果有-i++,i的左面是负号运算符,右面是自加运算符。如果i的原值等于3,若按照左结合性,相当于(-i)++,而(-i)++是不合法的。
3、如果cout<<-i++<<endl;则先取i的值6,输出-i的值-6,然后i增加为7。而-(i++)是先用i的原值3加上负号输出-3,再对i加1,不要认为先加完1后再加负号,输出-4,这是不对的。
4、 自增(减)运算符常用于循环语句中,使循环变量自动加1;也用于指针变量,使指针变量指向下一个内存地址。

#include<iostream.h>
void main()
{int n='c';
switch(n++)
{ default: cout<<"error";break;
case 'a':case 'A':case 'b':case 'B':cout<<"good";break;
case 'c':case 'C':cout<<"pass";
case 'd':case 'D':cout<<"warm";}
}//结果为passwarm

若从键盘输入58,则以下程序输出的结果是585858

#include<iostream.h>
main()
{ int a;
cin>>a;
if(a>50) cout<<a;
if(a>40) cout<<a;
if(a>30) cout<<a;
}
  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值