有谁帮我解释一下,C语言中i-=i+=i*=i-5,这个表达式,还有学习C语言怎么学会好点???

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
C语言里i+=i*=i+j怎么算

从右至左计算,假设:i=1,j=2
i=i*(i+j)=1*(1+2)=3
i=i+i=(3+3)=6

#includeint main(){int i = 5;++i; printf("Step1: ++i ---- ++5 ---->i = %d
", i);i /= i;printf("Step2: i/=i --- %d/=%d ->i = %d
", i, i, i);i *= i;printf("Step3: i*=i --- %d*=%d ->i = %d
", i, i, i);i -= i;printf("Step4: i-=i --- %d-=%d ->i = %d
", i, i, i);i += i;printf("Step5: i+=i --- %d+=%d ->i = %d
", i, i, i);return 0;}

希望能有帮助~~

先用i-5,然后,在用i去乘i-5的结果,结果存入i,然后,i*i结果存入i,然后,i+i结果存入i,然后,i-i结果存入i;
至于怎么学:关键在于多练,学习编程语言,多动手是最有效的方法;

就是i*(i-5)赋给i;然后i+i赋给i;再i-i赋给i,就是这个表达式的执行过程;
至于怎么学好C的话,整本好书,多练习,认真一点就好

从右往左看,首先i*=i-5 为 i=i*(i-5)
所以i+=(...)为i=i+i*(i-5)
最后i=i-(i+i*(i-5))
要想学好C,首先理解好书本,然后有疑问多上机调式;
还有要特别注意语法,有时因为一个细节可能半天都无法通过。

我是来做任务的!

  • 有谁帮我解释一下,C语言中i-=i+=i*=i-5,这个表达式,还有学习C语言怎么...
    答:先用i-5,然后,在用i去乘i-5的结果,结果存入i,然后,i*i结果存入i,然后,i+i结果存入i,然后,i-i结果存入i;至于怎么学:关键在于多练,学习编程语言,多动手是最有效的方法;
  • c语言中,i++,i--,m=i++,m=i--的区别
    答:i++ 和 ++i 都是 i=i+1 的意思 i-- 和 --i 都是 i=i-1 的意思 m=i++ 就是 m=i;i=i+1;m=i-- 就是 m=i;i=i-1;m=++i 就是 i=i+1; m=i;m=--i 就是 i=i-1; m=i;注意顺序
  • c语言中i--,--i和-i--有什么区别
    答:--i 是先执行i=i-1,然后再使用i的值, 这时的i 值就是表达式--i的值。i-- 是先使用i的值作为表达式i--的值,然后,执行i=i-1操作。include"stdio.h"void main(){int i=4,j,k;j=i--; //i先赋值给j,然后i在执行i=i-1;k=--i; //i先执行i=i-1,然后再赋值给;printf...
  • C语言中i++,++i,i--。--i是怎么运算的,有区别吗
    答:i=1; k=1; k=++i+k; k 就等于 3 ,因为先进行自加 i++ , i 变为 2 ,然后 i 再加上等于 1 的 k ,赋给 k 得 3 ,相当于先i=i+1;再k=k+i; i=1; k=1; k=k+i++ ; k 就等于 2 ,因为先进行 k+i , k变为 2 ,然后 i 再自加等于 2 ,相当于先k=k+i;然...
  • 请解释一下C语言中的 for(--i;i>=0;i--) 的意思。
    答:i--,--i的意思都是使i自减1(相当于i=i-1),但并非一样 区别就是,i--是先计算表达式结果,再使i的值减1 而--i是先使i的值减1,再计算表达式的值 举个例子 如果i=1 (i--)+1这个式子的值为2 (--i)+1的值为2的值为1(i的值1,先完成了一次自减1的计算,再计算+1)不知那么说,...
  • C语言中的无符号整型变量设i=0;如果执行i--;后i等于多少呀?
    答:如果是unsigned char,那么i=255;C语言中的无符号整型变量设i=0;如果执行i--;那就i=-1,因为它是无符号型量,所以就是2^(8*sizeof(i))-1。如果是unsigned char,那么i=255;如果是unsigned short int,那么i=65535;如果是unsigned int,那么i= 4294967295; (32位,4字节)...
  • c语言,请帮我详细分析一下这个程序。谢谢。
    答:fun2(i=i/2); //传递变量i=i/2是一个赋值式子,值为1,代入函数计算即可;printf("i=%d\n",i);fun2(i/2);printf("i=%d\n",i);fun1(i/2);printf("i=%d\n",i);} 有些重复的内容就没有说 /// include <stdio.h> int a1=300,a2=400;void sub1(int x,int y); //声...
  • 谁能 给我解释一下 c语言中 这个语句的意思;为什么可以这样写,我一直...
    答:以你的第一个for循环为例 for (i = t; i > 0; i--)执行一个for循环,一般会有一个循环变量,有循环终止与否的判断 1) i =t, 在进入for循环前,执行一次,对循环变量进行初始化,初始值为5 2)i>0,循环进行的条件,就是只要循环变量大于0,就一直执行 3)执行完循环体之后,就来这里...
  • 51单片机c语言,请解释一下这句的意思,还有=~的意思?提前谢谢了?_百度...
    答:这是位操作 这句话一说是首先i 向左移一位,再取反,最后i = i + 1 比如 i = 8, 假设 i 是16位,即0X00 08 那么左移一位是0X00 01 00 , 取反 0X FE FF, 然后i 变为0X 00 09
  • c++或c语言中的符号“+=”“-=”是什么意思
    答:a += b 等价于 a = a+b; 但是前者速度要快一些 a -= b 等价于 a = a-b; 同样, 前者速度要快一些 但是对于a是数组元素的情况(如c[23]+=b), 这个速度优势就没了吧~(这个我也是猜测)个人理解, 如有偏差, 敬请指正