5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)

2023-06-12
| 24页
| 130人阅读
| 0人下载
精品

内容正文:

第五章循环结构 1 第五章循环结构 while循环结构 while循环结构的用法 for循环结构 break语句和continue语句 循环的嵌套 do-while循环结构 典型例题 do-while循环结构 do-while循环结构的执行与while循环结构的稍有不同,这节课我们讨论do-while循环结构。 3 do-while循环结构 do-while循环结构的一般形式: do 语句 while(表达式); 关键字do和while之间只能有一条语句。 do-while循环结构执行时,先执行语句,再对表达式求值,若值为真,重复上述过程,……,若表达式的值为假,则循环结构执行完毕。 do-while循环结构的一般形式: do 语句 while(表达式); 关键字do和while之间只能有一条语句。 do-while循环结构执行时,先执行语句,再对表达式求值,若值为真,重复上述过程,……,若表达式的值为假,则循环结构执行完毕。 do-while循环结构执行的流程如图所示。先执行循环体,再判断循环条件的真假,是do-while循环结构与while循环结构的区别。 4 例5-18 用do-while循环结构改写例4-23。 程序将百分制成绩转换成ABCDE五级成绩,程序运行一次只能处理一个数据,使用起来非常不方便。 可以将处理算法作为do-while循环结构的循环体,先处理一次数据,再由用户决定是退出程序还是继续处理数据。 程序用使用do-while循环结构先处理一次数据,若用户的输入不是-1,则会一直处理数据。 此外,用户输入错误就直接退出程序的作法也不友好。 程序中当用户输入错误时,使用continue语句忽略处理过程,并再次让用户输入,极大地提升了程序的可用性。 5 例5-19 用户输入一个小于1的正数时,编程求出ln(1+x) = x - x2/2 + x3/3 -…… + (-1)k-1xk/k 0<x<1的值,要求精确到小数点后第9位(10-9)。 求出并加上第1项,求出并加上第2项,求出并加上第3项,……,求出并加上第k项。可用循环结构实现连加求和的过程,关键在于求第k项。 第k项(-1)k-1xk/k可改写成-(-x)k/k,表达式为-pow(-x, k)/k,其中pow是进行幂运算的库函数。直接求第k项会有大量的重复计算,效率比较低。 分母比较简单,可只分析相邻项分子的关系。由于第k项分子÷第k-1项分子=(-1)k-1xk ÷ (-1)k-2xk-1 = -x,因此,第k项的分子=第k-1项的分子 * -x。有了迭代公式,就可以方便地用迭代法求出第k项的分子了。 求出并加上第1项,求出并加上第2项,求出并加上第3项,……,求出并加上第k项。可用循环结构实现连加求和的过程,关键在于求第k项。 第k项(-1)k-1xk/k可改写成-(-x)k/k,表达式为-pow(-x, k)/k,其中pow是进行幂运算的库函数。直接求第k项会有大量的重复计算,效率比较低。 分母比较简单,可只分析相邻项分子的关系。由于第k项分子÷第k-1项分子=(-1)k-1xk ÷ (-1)k-2xk-1 = -x,因此,第k项的分子=第k-1项的分子 * -x。 有了迭代公式,就可以方便地用迭代法求出第k项的分子了。用迭代法求值的效率更高。 6 ln(1+x)=x-x2/2+x3/3 - …… + (-1)k-1xk/k 分子用变量fm表示。第1项的分子fm=x;,第2项的分子fm = fm * -x;,第3项的分子fm = fm * -x;,……。 用变量fn表示第k项,变量s表示结果。 处理第1项:k=1; fn=fm=x; s += fn; 处理第2项:++k; fm *= -x; fn = fm / k; s += fn; 处理第3项:++k; fm *= -x; fn = fm / k; s += fn; ……。 分子用变量fm表示。第1项的分子fm=x;,第2项的分子fm = fm * -x;,第3项的分子fm = fm * -x;,……。 用变量fn表示第k项,变量s表示结果。 处理第1项:k=1; fn=fm=x; s += fn; 处理第2项:++k; fm *= -x; fn = fm / k; s += fn; 处理第3项:++k; fm *= -x; fn = fm / k; s += fn; ……。 重复的非常明显,但第1项与其它项不同,与例5-11的情况类似,需要变通一下。 7 ln(1+x)=x-x2/2+x3/3 - …… + (-1)k-1xk/k 用变量fn表示第k项,变量s表示结果。 先求出第一项k=1; fn=fm=x; ,再开始重复“求和;求出下一项” 。 处理第1项: s

资源预览图

5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
1
5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
2
5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
3
5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
4
5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
5
5.4 do-while循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。