第五章-循环控制.pptVIP

  • 1
  • 0
  • 约1.06万字
  • 约 40页
  • 2019-12-03 发布于湖北
  • 举报
void main() { float x0,x1,x2,fx0,fx1,fx2; do { scanf(“%f,%f”,x1,x2); fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6; }while (fx1*fx20); do {x0=(x1+x2)/2; fx0=x0*((2*x0-4)*x0+3)-6; if ((fx0*fx1)0) {x2=x0;fx2=fx0; } else {x1=x0;fx1=fx0;} } while(fabs(fx0)=1e-5); printf(“x=%6.2f\n”,x0); } x y o x0 x1 x2 f(x) f(x2) f(x0) f(x1) 例用变步长梯形积分算法求函数的定积分 取任意数n, h=(b-a)/n x y f(x) a b xk-1 xk xk+1 h 每个积分区间增加一个二分点 Ik x0 Xn void main( ) { int k,done=0; int n,a=1,b=2; double h,Tn,T2n,fa,fb,fx; double esp=1e-7; n=1; h=b-a; fa=log(1.0+a)/(1.0+a*a); fb=log(1.0+b)/(1.0+b*b); Tn=h*(fa+fb)/2.0; //计算n=1时的积分值 while(!done) { double temp=0.0; for( k=0;kn;k++) { double x=a+(k+0.5)*h; fx=log(1.0+x)/(1.0+x*x); temp+=fx; } T2n=(Tn+h*temp)/2.0; //变步长梯形法计算 if(fabs(T2n-Tn)esp) done=1; //判断积分误差 else //进行下一步计算 { Tn=T2n; n*=2; h/=2; } } printf(“%f”,T2n); } 1.若i为 整形,则以下循环执行的次数是--。 for (i=2 ; i= =0 ;i++) printf(“%d”,i--); a)无限次 b)0次 c)1次 d)2次 2、以下for循环执行的次数是 --。 for (x=1,y=0; (y=123)(x4); x++); a)无限 b)次数不定 c)4次 d)3次 3、执行语句 for (i=1 ; i++4 ;);后变量I的值是---。 A)6 B)4 C)5 D) 不定 4、1)for (i=1;i++=4;) printf(“i=%d\n”,i); 结果为: 2)for (i=1;i++=4;) ; printf(“i=%d\n”,i); 结果为: 1、B 2、D 3、C 4、 1) 2 3 4 5 2)6 5、下面程序的运行结果是---。 #include stdio.h main() { int y=10; do {y-- ;}while(--y); printf(“%d\n”,y--); } 6、以下不正确的语句是--。 if(xy); if (x=y)(x!=0) x+=y; if (x!=y) scanf(“%d”,x); else scanf(“%d”,y); if (xy) {x++;y++;} 5、0 6、B 7、执行以下语句后 a的值为(1),b的值为(2)。 int a=5,b=6,w=1,x=2,y=3,z=4; (a=wx)(b=yz); 8、以下if语句语法正确的是---。 A) if(x0) printf(“%f”,x) else printf(“%f”,-x); B) if(x0) { x=x+y; printf(“%f”,x);}; else printf(“%f”,-x); C) if(x0) { x=x+y; printf(“%f”,x);}

文档评论(0)

1亿VIP精品文档

相关文档