C语言中sum+=i和sum=sum+i有什么区别

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-29
c语言sum+=i 是什么意思

在C语言中这个属于复合赋值运算符中的一种。
表示把左边的变量除于右边变量的值赋予右边的变量 sum=sum+i; 可以简写为 sum+=i;还有 如 sum-=i;sum*=i; /=、%=等等,很多,样的表示方法可以让程序更加简洁。

扩展资料:
和sum+=i类似的的sum+=1/i的意思:
sum是用来求和的 sum+=1/i 分解开来就是sum = sum+1/i
也就是说每次 sum都在本身已经有的基础上再加上一个1/i
比如说
第一次 sum=0 sum+=1/i 也就是说 sum=0+1/1=1
第二次 sum=1 sum+=1/i 也就是说 sum=1+1/2=3/2
.........
一直这样累加到循环终止为止

sum+=++i的意思就是 sum=sum+(++i);++i也是一种运算,等价于i=i+1,取i加1后的结果。相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。
postfix-expression ++,后缀自增
postfix-expression --,后缀自减

扩展资料:
优先级:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:
C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。
如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。
如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。所有的优先级中,只有三个优先级是从右至左结合的,它们是单目运算符、条件运算符、赋值运算符。其它的都是从左至右结合。
参考资料来源:百度百科-C语言运算符号

+= 是加后赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数,sum+=i 的结果 与 sum=sum+i 的结果一样。
= 是简单的赋值运算符,把右边操作数(表达式)的值赋给左边操作数。运算符优先级与 += 一样。
+ 是加法运算符,运算符优先级 高于 =。
sum+=i和sum=sum+i 的结果一样,只是语法含意不同。

sum/=i 等效于 sum = sum/i 相当于: 把sum除以 i ,所得的商,赋值给sum

一点区别也没有,完全等价,+=就是自加的简单表达方式。

  • C语言 急 求救 关于sum
    答:第一段代码while(i=5)应该是while(i<=5)第二段代码你要问为什么sum始终被赋为0,其实从这段程序中sum只有第一次被赋值为0,可能贴错代码了。sum始终被赋值为0的是当sum=0这条语句写到循环体内部时,如:while(i<=100){ sum = 0;sum = sum + i;i++;} printf("sum=%d",sum);这种...
  • 在c语言中sum+=i是什么意思
    答:就是等价于sum=sum+i,其实还有类似的一些其他的, 如:sum-=i,等价于sum=sum+i;sum/=i,等价于sum=sum/i;还有乘法,望楼主采纳!!!
  • C语言中的基础的问题
    答:如果你知道计算机怎么执行这个命令的 那就很好理解了 在执行这个语句的时候 计算机首先将sum中的值取出 送入cpu 然后给这个值加上1 最后再将加上1的值送回sum中 打个比方 你可以将sum看成一个杯子 现在sum这个杯子里有一杯白开水 执行sum+1这个操作就可以想成是把sum中的水倒到一个碗里 ...
  • 解释一下,C语言 sum+=i;i++;i++;什么意思
    答:sum+=i; 是 sum=sum+i; 的意思。i++; 就是 i=i+1; 的意思。下同
  • 帮忙编写一个C语言循环结构程序。 要求:计算1~20中是7的倍数的数值的和...
    答:{ if(0==i%7)//判断i是否是7的倍数,判断一个数是否是一个数的倍数就用这个数对另一个数取余,看结果是否为0,如果为0,则能被整除,反之,不能被整除 sum+=i;//如果是7的倍数的话,就把i加到sum里面去 } printf("1~20中是7的倍数的数值的和为: %d\n",sum);//输出sum的结果 }...
  • c语言:sum=sum+i++是先计算i++吗?还是先使用i,与sum加完之后再加一?即...
    答:楼主假设的情况完全正确。i++先使用i,后使i的值加1;++i先使i的值加1,再使用i进行运算。望采纳~
  • C语言中sum=sum+(i+=2)怎么理解?
    答:先是i=i+2 再算sum=sum+i;当i=1时 sum=0+3=3 i=3 当i=3时 sum=3+5=8 i=5 当i=5时 sum=8+7=15 i=7 当i=7时 sum=15+9=26 i=9 当i=9时 sum=26+9=35 因为先算i=i+2; i=9+2=11>10所以 i=9 ...
  • ...C语言 输入两个整数x,y,分别调用sum函数 求他们的和,调用sub函数 求...
    答:int sum(int x,int y);int sub(int x, int y);void main(){ int x,y,sum,sub;scanf("%d,%d",&x,&y);sum = sum(int x,int y);printf("x+y = %d",sum);sub = sub(int x ,int y);printf("x-y = %d",sum);} int sum(int x,int y){ return (x+y);} int sub...
  • C语言中sum+=++i;是是什么意思?
    答:sum+=++i的意思就是 sum=sum+(++i);++i也是一种运算,等价于i=i+1,取i加1后的结果。相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。postfix-expression ++,后缀自增 postfix-expression --,后缀自减
  • C语言中inti(1), sum(0)什么意思?
    答:【1】int是C++语言中基本数据类型中的整型。【2】sum指的是返回某一单元格区域中的数、逻辑值及数字的文本表达式之和。【3】int i(1),sum(0);即int i=1,sum=0;意思是把字母i定义为整型常量,把i赋值为1。把具有“总和”意思的英文单词sum定义为整型常量,把sum赋值为0。【4】延伸一下:...