第六章循环结构程序设计 主讲福州大学数学与计算机学院韩晓芸 E-mail:hxy@fjtv.net
1 第六章 循环结构程序设计 主讲 福州大学数学与计算机学院 韩晓芸 E-mail: hxy@fjtv.net
第六章循环结构程序设计 第六章循环结构程序设计 第一节引例 第二节 while语句 第三节do-Whle语句 第四节for语句 第五节循环的嵌套 第六节 break和 continue语句
第六章循环结构程序设计 2 第六章 循环结构程序设计 第一节 引例 第二节 while语句 第三节 do-while语句 第四节 for语句 第五节 循环的嵌套 第六节 break和continue语句
第六章循环结构程序设计 第一节引例 例1编程计算1+2+,+10main() i int i=1, sum=0; 这是一个典型的循环 while(i<=10) 结构程序,认1开始 I sumsum+i; 每次增加1,然后累加 i++; 到一个称之为累加器 的变量中,累加操作 当诞10时一直进行。 printf(%dn"sum);
第六章循环结构程序设计 3 第一节 引例 例1 编程计算 1+2+... +10 这是一个典型的循环 结构程序,i从1开始 每次增加1,然后累加 到一个称之为累加器 的变量中,累加操作 当i≤10时一直进行。 main( ) { int i=1 ,sum=0; while(i<=10) { sum=sum+i; i++; } printf("%d\n",sum); }
第六章循环结构程序设计 第二节 while语句 格式:whil(表达式)语句 功能: while语句用来实现“当型”循环 执行过程:首先判断表达式,当表达式的值为 非0时,反复执行whie中的语句。 句
第六章循环结构程序设计 4 第二节 while语句 格式:while(表达式) 语句; 功能:while语句用来实现“当型”循环 执行过程:首先判断表达式,当表达式的值为 非0时,反复执行while中的语句
第六章循环结构程序设计 第二节 while语句 注意事项 1)当条件满足时,执行一次,执行到则返回 while语句开始下一次。 2)如果第一次条件就不满足,循环则一次都不 作,直接结束。执行后的语句。 3)循环体中应有使循环趋向结束的语句。 4)一些变量的赋值操作要在 while的前面完成 5)循环体如果包含一个以上的语句,应用花括 弧括起来
第六章循环结构程序设计 5 第二节 while语句 注意事项 1)当条件满足时,执行一次{},执行到}则返回 while语句开始下一次。 2)如果第一次条件就不满足,循环则一次都不 作,直接结束。执行}后的语句。 3)循环体中应有使循环趋向结束的语句。 4)一些变量的赋值操作要在while的前面完成。 5)循环体如果包含一个以上的语句,应用花括 弧括起来
第六章循环结构程序设计 例2计算10=1*2*3.*10 man fint i-1; long fac=1; while(i<=10 f fac*=i; i++; printf("%ldIn",fac) 6
第六章循环结构程序设计 6 例2 计算10!=1*2*3…*10 ◼ main( ) ◼ {int i=1;long fac=1; ◼ while(i<=10) ◼ { fac*=i; ◼ i++; ◼ } ◼ printf("%ld\n",fac); ◼ }
第六章循环结构程序设计 例3计算1+1/2+.+1/10 main( ( fint i-l; float sum=0 while(i<=10) isum=sum+1.0/i; i++;} printf(%ofn", sum);
第六章循环结构程序设计 7 例3 计算1+1/2+…+1/10 ◼ main( ) ◼ { int i=1;float sum=0; ◼ while(i<=10) ◼ {sum=sum+1.0/i; ◼ i++;} ◼ printf("%f\n",sum); ◼ }
第六章循环结构程序设计 例4计算1-1/2+13+.1/9-1/10 解法一: maino Rint i=l, sign=l; float sum=0; while(i<=10) tsum=sum+1. 0/i*sign; i++ sign=-sign printf("%\n", sum)
第六章循环结构程序设计 8 例4 计算1-1/2+1/3+…+1/9-1/10 解法一: ◼ main( ) ◼ {int i=1,sign=1;float sum=0; ◼ while(i<=10) ◼ {sum=sum+1.0/i*sign; ◼ i++; ◼ sign=-sign;} ◼ printf("%f\n",sum); ◼ }
第六章循环结构程序设计 解法二: maino Rint i=l; float sum=0; while(i<=10) tsumsum+1.0/i; sum=sum-1.0/(i+1); i+=2; printf(%fn"sum);
第六章循环结构程序设计 9 解法二: ◼ main( ) ◼ {int i=1;float sum=0; ◼ while(i<=10) ◼ {sum=sum+1.0/i; ◼ sum=sum-1.0/(i+1); ◼ i+=2;} ◼ printf("%f\n",sum); ◼ }
解法三: 第六章循环结构程序设计 maint Rint i=l; float sum=0 while(i<=10 fif(i%2==0 sum=sum-1.0/i: se sum=sum+1.0/i: i++;} printf("%f\n", sum); 10
第六章循环结构程序设计 10 解法三: ◼ main( ) ◼ {int i=1;float sum=0; ◼ while(i<=10) ◼ {if(i%2==0) ◼ sum=sum-1.0/i; ◼ else ◼ sum=sum+1.0/i; ◼ i++;} ◼ printf("%f\n",sum); ◼ }