若迭代的初始点为x0 假设在x1处取到解,即f(x1)=0 我们将f(x1)在x0处展开 f(x1)=f(x0)+f(x0)'(x1-x0)=0 解得x1=x0-f(x0)/f(x0)' (你的程序中的 x=x0-f0/f0d,就是这一步) 然后令x0=x1继续迭代求出x,所以我觉得程序有一点表达不好,(f0=((a*x0+b)*x0+c)*x0+d; f0d=(3*a*x0+2*b)*x0+c这养的表达更好一些) while(fabs(f0)>=1e-6);是判断结束的语句