[工学]04第四章循环结构.ppt
文本预览下载声明
第四章 循环结构 用于解决语句的重复执行,以克服一条语句只能执行一次的限制。 while语句 do-while语句 break 和 continue 语句 循环嵌套 循环结构程序设计 什么是循环? 为什么要使用循环? 如何实现循环? 实现循环时,如何确定循环条件和循环体? 怎样使用while 和do-while语句实现次数不确定的循环? while 和do-while语句有什么不同? 如何使用break语句处理多循环条件? 如何实现多重循环? 4.1 用格里高利公式求π的近似值 如:for (i=1; i=10; i++) sum=sum+i; 可以写成 i=1; 循环变量必须有初值 while (i=10) 继续循环的条件 { sum=sum+i; i++; 循环变量的改变 } 4.2 统计一个整数的位数 while 是先判别条件,再决定是否循环; do-while 是先至少循环一次,然后再根据循环的结果决定是否继续循环。 4.3 判断素数 4.4 求1! + 2! + …. + 100! 4.5 循环程序设计 #include stdio.h double fact (int n); /* 函数声明 */ void main( ) { int i; double sum; sum = 0; for(i = 1; i = 100; i++ ) sum = sum + fact (i) ; /* 调用fact(i)求i!,共100次 */ printf(1! + 2! + 3! + … + 100! = %e\n, sum); } double fact (int n) /* 定义求 n! 的函数 */ { int i; double result; result = 1; for (i = 1; i = n; i++) result = result * i ; return result ; } 源程序: for (i = 1; i = 100; i++){ item = i 的阶阵; sum = sum + item; } for(i = 1; i = 100; i++) { item = 1; for (j = 1; j = i; j++) item = item * j; sum = sum + item; } 嵌套循环: 不使用函数也能实现求 i 的阶阵 sum = sum + 第 i 项 求累加和的for语句为: for (i = 1; i = 100; i++) sum = sum + i 的阶阵; #include stdio.h void main( ) { int i, j; double item, sum; sum = 0; for(i = 1; i = 100; i++) /* 外层循环重复100次,求累加和 * / { item = 1; /* 置初值为1,以保证每次求阶乘都从1开始连乘 */ for (j = 1; j = i; j++) /* 内层循环重复i次,算出item = i! */ item = item * j; sum = sum + item; } printf(1! + 2! + 3! + … + 100! = %e\n, sum); } for(i = 1; i = 100; i++) { item = 1; for (j = 1; j = i; j++) item = item * j; sum = sum + item; } item = 1; for(i = 1; i = 100; i++) { for (j = 1; j = i; j++) item = item * j; sum = sum + item; } 改成这样会有问题吗? 关于嵌套循环的说明: 分析程序中二重循环的执行过程 首先外层循环变量 i
显示全部