第4章 循环控制.ppt
《第4章 循环控制.ppt》由会员分享,可在线阅读,更多相关《第4章 循环控制.ppt(42页珍藏版)》请在麦多课文档分享上搜索。
1、第4章 循环控制,重复N次循环 While循环 Do while循环 循环的中途退出 枚举法 贪婪法,for循环语句,格式: for(表达式1;表达式2;表达式3)语句执行过程: 1.执行表达式1 2.执行表达式2 3.如果表达式2的结果为“true”,则执行循环体和表达式3,然后回到2,否则for语句执行结束,循环体,循环控制行,for循环语句 续,作为计数循环,可以理解为 for(循环变量赋初值;循环条件;循环变量增值)符合循环条件时的执行语句 循环体所有语句的一次完全执行称为一个循环周期 循环体可以是复合语句或空语句,逗号表达式,格式:表达式1,表达式2,,表达式n 执行过程:先执行表达
2、式1,再执行表达式2, ,再执行表达式n,整个表达式的计算结果为最后一个表达式的值 逗号运算符的优先级是所有运算符中最低的 如a的初值为0,则表达式 a += 1, a += 2, a += 3, a += 4, a += 5 的结果为 15,有了逗号表达式,从1加到100的问题就可以只用一个语句: for (i=1, s=0; i=100; +i) s += i; 或将所有的初始化都放在循环外,即 i=1; s=0; for ( ; i=100; +i) s += i; 建议还是用s=0;for (i=1; i=100; +i) s += i;,for循环的进一步讨论 续,表达式2也不一定是
3、关系表达式。它可以是逻辑表达式,甚至可以是算术表达式。当表达式2是算术表达式时,只要表达式的值为非0,就执行循环体,表达式的值为0时退出循环。 如果表达式2省略,即不判断循环条件,循环将无终止地进行下去。 无终止的循环称为“死循环” 最简单的死循环是 for (;); 要结束一个无限循环,必须从键盘上输入特殊的命令以中断程序执行并强制退出,For循环的进一步讨论 续,表达式3也可以是任何表达式,一般为赋值表达式或逗号表达式。表达式3是在每个循环周期结束后对循环变量的修正。表达式3也可以省略,此时做完循环体后直接执行表达式2。 如从1加到100,可以写为s=0; for (i=1; i=100;
4、 ) s += i, i+; 或s=0; for (i=1; i=100; s += i, i+) ;,For循环实例,求函数 在区间a, b之间的定积分 实现思想:函数与x轴围成的区域的面积。定积分可以通过将这块面积分解成一连串的小矩形,计算各小矩形的面积的和而得到,int main() double a, b, dlt, integral = 0;cout a b;cout dlt;for (double x = a + dlt / 2; x b; x += dlt)integral += (x * x + 5 * x + 1) * dlt;cout “积分值为:“ integral en
5、dl; return 0; ,第4章 循环控制,重复N次循环 While循环 Do while循环 循环的中途退出 枚举法 贪婪法,While 循环语句,格式:while (表达式) 语句 执行过程:先计算出条件表达式的值。如果是false,循环终止,并接着执行在整个while循环之后的语句。如果是true,整个循环体将被执行,而后又回到while语句的第一行,再次对条件进行检查。 用途:用于循环次数不定的循环。循环是否结束取决于某一个条件是否成立,eg 2.求,时结束。,ex=0; p = 1; while (p0.000001) ex += p;计算新的p;,问题: 如何计算p?计算第i个
6、p,需要两个i次的循环。第一个循环计算xi,第二个循环计算i!解决方案: 从前一项计算后一项。如果p是第i项的值,则第i+1项的值为 p*x/(i+1),int main() double ex, x, p;/ex存储ex的值,p保存当前项的值int i;cout x;ex=0; p=1; i=0;while (p 1e-6)ex += p; +i;p = p * x / i;cout “e的“ x “次方等于:“ ex endl;return 0; ,第4章 循环控制,重复N次循环 While循环 Do while循环 循环的中途退出 枚举法 贪婪法,DoWhile 循环语句,格式: do
7、语句 while (表达式) 执行过程:先执行循环体,然后判断循环条件。如条件成立,继续循环,直到条件为假 如将若干个输入数相加,直到输入0为止。total = 0;do cout value ;total += value; while (value != 0);,编程实例,计算方程f(x)在区间a, b之间的根 。注意,f(a)和f(b)必须异号 假设方程为 ,区间为-1, 1,计算方法,令x1 = a, x2 = b 连接(x1, f(x1)和(x2, f(x2)的弦交与x轴的坐标点可用如下公式求出若f(x)与f(x1)同符号,则方程的根在(x, x2)之间,将x作为新的x1。否则根在(
8、x1, x)之间,将x设为新的x2。 重复步骤和,直到f(x)小于某个指定的精度为止。此时的x为方程f(x)=0的根。,int main() double x, x1 = -1, x2 = 1, fx1, fx2, fx;do fx1 = x1 * x1 * x1 + 2 * x1 * x1 + 5 * x1 -1;fx2 = x2 * x2 * x2 + 2 * x2 * x2 + 5 * x2 -1;x = (x1 * fx2 - x2 * fx1) / (fx2 - fx1);fx = x * x * x + 2 * x * x + 5 * x -1;if (fx * fx1 0) x1
9、 = x; else x2 = x; while (fabs( fx ) 1e-7);cout “方程的根为:“ x endl;return 0; ,第4章 循环控制,重复N次循环 While循环 Do while循环 循环的中途退出 枚举法 贪婪法,循环的中途退出,考虑一个读入数据直到读到标志值的问题。如用自然语言描述,基于标志的循环的结构由以下步骤组成: 读入一个值 如果读入值与标志值相等,则退出循环 执行在读入那个特定值情况下需要执行的语句 当一个循环中有一些操作必须在条件测试之前执行时,称为循环的中途退出问题。,问题,由于循环语句是先判断条件再决定是否执行循环体,循环的中途退出将使得循
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 控制 PPT
