【试题050】复合赋值运算符例题合集

1.题目:

设int a=3;

执行语句printf("%d\n",a+=(a-=a*a));后输出的结果是?

  • [ ] 分析:复合赋值运算符拆解扩展表达式时一定要加括号
  • [ ] 注意运算时是否有赋值!!!
  • a-=aa→ a-=(aa) → a=a-(aa) →a=a-(33) →a=3-9=-6
  • 此时a=-6,接着a+=-6→a=a+(-6)→a=(-6)+(-6)=-12

2.题目:

设int n=2;执行语句n+=n-=n-n;后n的值是 ?

  • [ ] 分析:赋值运算符右结合
  • n-=n-n→n-=(n-n)→n=n-(n-n)→n=n-(2-2)→n=n-0→n=2
  • 此时n=2,接着n+=2→n=n+2=2+2=4

3.题目:

设int i=8,a,b;

a+=(b=4)*(a=3)表达式的值是?
  • 分析:根据优先级和结合性
  • (b=4)(a=3)→43=12
  • a+=12→a=a+12→a=3+12=15

4.题目:表达式x*=y+3等价于

  • x=x*(y+3)

5.题目:int a=2,b=5;执行语句a%=10-b;后a的值是?

  • [ ] 分析:10-b=10-5=5
  • [ ] a%=5→a=a%5→a=2%5=2

6.题目:设inta=2,b=3,c=4;

执行语句a%=b+c; printf('%d\n',a);后的输出结果是?

  • 分析:b+c=3+4=7
  • a%=7→a=a%7→2%7=2

7.题目:设int a,b=5;,则执行表达式a=b-2==3后a的值是?

  • 分析:-优先级第四,==优先级排第七,=排十四
  • a=b-2→a=5-2=3
  • 3==3是真的1
  • a=1

8.题目:设int a=10;,则执行语句a+=a-=a+a;后a的值是?

  • 分析:a-=a+a→a-=(a+a)→a-=20→a=a-20→10-20=-10
  • 此时a=-10
  • a+=-10→a=a+(-10)→a=(-10)+(-10)=-20

9.题目:

int x=5; X+=X-=X+X; 则执行printf("%d\n",x);后输出的值是?

  • 分析:X-=X+X→X-=(X+X)→X-=(5+5)→X-=10
  • X-=10→X=X-10→X=5-10=-5
  • 此时X=-5
  • X+=(-5)→X=X+(-5)→X=(-5)+(-5)=-10

10.题目:设int a=2;,则执行a+=a*=15;后,变量a的值是?

  • 分析:a*=15→a=a15→a=215=30
  • 此时a=30
  • a+=30→a=a+30→a=30+30=60

11.题目:x+=y等价于:x=x+(y)

12.题目:设char a,b;与表达式a^=b-2等价的另一表达形式是?

  • 分析:a^=b-2→a=a^(b-2)
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值