计数循环:用一个变量作为循环计数器,负责为循环 计数,在重复足够次数后结束循环。 求n!=1*2之n maine 设定循环变量:i int i=ls=ln: scanf(%od", &n) 循环变量赋初值:i=1 while(i<=n) 设定循环条件:i<=n S=S 循环变量的值改变:i++ printf(s=% d",s); 定义变量s,存放n!。 s初值为:s=1 i++ 循环体内,对s的操作S=S*i 先输入n,再算n! 21*1*2 31*1*223 41*1*2*3*45
6 main() { int i=1,s=1,n; scanf("%d",&n); while (i<=n) { s=s*i; i++; } printf("s=%d",s); } 求n!=1*2*…*n 设定循环变量 : i 循环变量赋初值 :i=1 设定循环条件 :i<=n 循环变量的值改变 :i++ 定义变量s,存放n!。 s初值为 : 循环体内,对s的操作 : 先输入n , 再算 n! s=1 s=s*i i s i++ 1 1*1 2 2 1*1*2 3 3 1*1*2*3 4 4 1*1*2*3*4 5 计数循环:用一个变量作为循环计数器,负责为循环 计数,在重复足够次数后结束循环
求x main 设定循环变量: float n, X, s=1.0, i=l; scanf(%of%of', &n, &x); 循环变量赋初值:i=1 while (i<=n) 设定循环条件:i=n is=S*x; 循环变量的值改变:i++ i++ printf("s=%f"s) 定义变量s,存放x。 i+十 先输入n,x,再算x s初值为:s=1.0 21x*x 3 循环体内,s的动作:ss*3 l*x*x*x 41*x*xx*x5
7 求x n main() { float n , x , s=1.0, i=1; scanf("%f%f",&n,&x); while (i<=n) { s=s*x; i++; } printf("s=%f ",s); } 设定循环变量 : i 循环变量赋初值 :i=1 设定循环条件 :i<=n 循环变量的值改变 :i++ 定义变量s,存放x n 。 先输入n ,x, 再算 x n s初值为 : 循环体内,s的动作 : s=1.0 s=s*x i s i++ 1 1*x 2 2 1*x*x 3 3 1*x*x*x 4 4 1*x*x*x*x 5
小结:求和、求阶乘、求某数的n次方等运算,是计数循 环的典型例子 求1+2+3+4+.+n maino 求n=1*2*.*n i int i=1 求 float s=1.0.x XS0 scanf( %d, %f, &n, &x) while(i<=n)i 0+1=1 S=S X 1+2=3 ++; 234 +3=1+2+3=6 printf( s=%dn, s) 6+4=1+2+3+4=10
8 main() { int i=1; int s=0 ; while(i<=4 ) { s=s+i; i++; } printf(“s=%d\n”,s); } 小结:求和、求阶乘、求某数的n次方等运算,是计数循 环的典型例子。 long s=0 ; 求 1+2+3+4 i s 4 6+4=1+2+3+4=10 3 3+3=1+2+3=6 2 1+2=3 1 0+1=1 +…+n scanf(“%d”,&n); n 0 求 n!=1*2*…*n s=s*i; 求x n s=1 s=s*x; float s=1.0,x; scanf(“%d,%f”,&n,&x);
例62计算=∑x =x+- .. 234 算法: void maino 和式的项数n及x从键盘输入{inti,n Sum的初值为0; float x sum=0.0.m=1.0 分子m的初值为1; scanf(“%%d”,&x,&n) 分子的通式:m=mx; i=1 分母为循环变量i,初值为1 while(i<=n) 循环通式为: i m=m*x sum=sum+m/ mamX i+十 sum=summ/ printf(“sum=%8.2fn’",sum);
9 例 6.2计算 n x x x x x i x s n n i i = = + + + + + = ... 2 3 4 2 3 4 1 算法: 和式的项数 n 及x 从键盘输入 sum的初值为0; 分子m的初值为1; 分子的通式 : m=m*x; 分母为循环变量i,初值为1; 循环通式为: m=m*x sum=sum+m/i; void main() { int i,n; float x,sum=0.0,m=1.0; scanf(“%f%d”,&x,&n); i=1; while(i<=n) { m=m*x; sum=sum+m/i; i++; } printf(“sum=%8.2f\n”,sum); }
注意 while的灵活使用: 1) while语句中的表达式是关系表达式,但是,有 时侯也往往出现混合表达式。如 while(C= getchar)!=“2”) 又如 while(i++!=0等 2) while语句中的关系表达式,往往有一些简略 的写法。如: whil(x!=0)可以写成 while(x) whil(x=0)可以写成 while(!x)
10 注意while的灵活使用: 1)while语句中的表达式是关系表达式,但是,有 时侯也往往出现混合表达式。如: while((c=getchar())!=‘?’) 又如 while(i++!=0)等 2)while语句中的关系表达式,往往有一些简略 的写法。如: while(x!=0)可以写成 while(x) while(x==0)可以写成 while(!x)