解法四: 第六章循环结构程序设计 main( Rint i-l; float sum1=0, sum2=0; while(i<=10) i suml=sum1+1.0/i; i=i+2;} while(i<=10) & sum2=sum2+1.0/i i=i+2;} printf(ofn", suml-sum2);
第六章循环结构程序设计 11 解法四: ◼ main( ) ◼ {int i=1;float sum1=0,sum2=0; ◼ while(i<=10) ◼ { sum1=sum1+1.0/i; ◼ i=i+2;} ◼ i=2; ◼ while(i<=10) ◼ { sum2=sum2+1.0/i; ◼ i=i+2;} ◼ printf("%f\n",sum1-sum2); ◼ }
第六章循环结构程序设计 第三节 do-while语句 格式:do语句 while(表达式) 功能: do-while语句用来实现“直到型”循环 执行过程:先无条件执行一次语句,然后再判 断表达式,当表达式的值为非0时,返回,再执 行该语句。一般,whie结构和do- while结构 实现时可以相互转换。 12
第六章循环结构程序设计 12 第三节 do-while语句 格式: do 语句 – while(表达式); 功能:do-while语句用来实现“直到型”循环 执行过程:先无条件执行一次语句,然后再判 断表达式,当表达式的值为非0时,返回,再执 行该语句。一般,while结构和do-while结构 实现时可以相互转换
第六章循环结构程序设计 例5用do- while语句计算1+2+,+10 main( i int i=1, sum=0 i sum=sum+i; i++} while(i<=10) printf( %d", sum) 13
第六章循环结构程序设计 13 例5 用do-while语句计算1+2+…+10 main( ) { int i=1 ,sum=0; do { sum=sum+i; i++;} while(i<=10); printf("%d",sum); }
第六章循环结构程序设计 例6:编写满足1+2+3+,+n<500中最大的n,并 求其和的程序。 main( int n=o, sum=0; do ++n sum+=n;] while(sum<500) printf("n%dsum=%dn", n-1, sum-n):
第六章循环结构程序设计 14 例6: 编写满足1+2+3+…+n<500中最大的n,并 求其和的程序。 main( ) {int n=0,sum=0; do {++n; sum+=n;} while (sum<500); printf("n=%dsum=%d\n",n-1,sum-n); }
第六章循环结构程序设计 第四节for语句 格式: for(表达式1;表达式2;表达式3)语句 执行过程:首先计算表达式1的值,给循环变 量赋初值,然后测试表达式2的值,若其值非0 则执行循环体语句,执行循环体一次后再计算 表达式3的值,自动修改循环变量的值,返回 再测试表达式2的值,直到表达式2的值为0假) 退出循环。三个表达式都可以省略。 15
第六章循环结构程序设计 15 第四节 for语句 格式: for(表达式1;表达式2;表达式3) 语句 执行过程:首先计算表达式1的值,给循环变 量赋初值,然后测试表达式2的值,若其值非0, 则执行循环体语句,执行循环体一次后再计算 表达式3的值,自动修改循环变量的值,返回 再测试表达式2的值,直到表达式2的值为0(假) 退出循环。三个表达式都可以省略