c语言中的复合运算符

a =a+1;相当于 a += 1

同理 a-=2表示a=a-2;

 

自增自减运算符:

i = i+1相当于 i++或者++i;同理减也是如此。

两者的区别是什么呢?

i++:表示先赋值给i在自增;++i表示先增在赋值。

单独使用两者没有差别,但如果前面有赋值的话那就有差别了,比如:

前者打印的是6和5

后者则是6和6

因为前者先给i自增,后者则是先赋值在自增;

#include <stdio.h>

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

}

逗号运算符:逗号运算符的结果是最后一个表达式的值。

a=i,k,z;

结果是a的值是z;

当然,如果有计算的话,c语言执行是按照从左到右执行的。

a=(b=3,(c=b+4)+5)

打印a的值是12

因为先b=3,在c=7,再加5,最后a等于逗号的最后一个表达式。

条件运算符:表达式1?表达式2:表达式3

表达式1为真,执行表达式2,为假,执行表达式3(使用问号加冒号,条件运算符)

很多时候运用条件运算符可以减少代码的使用资源:比如下面这个完全可以写成:m=i>j?i:j

#include <stdio.h>

int main()
{
   int i=5,j=2,m=6;
   if(i>j)
   {
       m=i;
   }
   else
   {
       m=j;
   }
}

注释:规范

1、变量命名可以加上注释,方便以后自己观看(这个变量是干嘛的,它的使用范围是多少)

2、程序和函数:写清楚它的功能、参数和返回值

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值