5.2 for循环结构-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
2023-06-12
|
22页
|
189人阅读
|
0人下载
精品
内容正文:
第五章循环结构
1
第五章循环结构
while循环结构
while循环结构的用法
for循环结构
break语句和continue语句
循环的嵌套
do-while循环结构
典型例题
for循环结构
for循环结构与while循环结构只是形式上的区别,这节课我们讨论for循环结构。
3
for循环结构的一般形式
由输出5个星号的while循环结构可知,决定循环结构执行次数的三要素
是循环变量的初值、循环条件和循环变量的调整。
for循环结构的一般形式:for(表达式1; 表达式2; 表达式3)
语句;
表达式1设置循环变量的初值,表达式2是循环条件,表达式3调整循环变量的值。
for循环结构执行时,先表达式1求值,且只求值一次;接着表达式2求值,若值为真,则先执行语句,再表达式3求值;然后,重复表达式2求值,若值为真,则先执行语句,再表达式3求值;若在重复的过程中表达式2的值为假,则退出循环结构的执行。
由输出5个星号的while循环结构可知,决定循环结构执行次数的三要素是循环变量的初值、循环条件和循环变量的调整。
for循环结构的一般形式:for(表达式1; 表达式2; 表达式3)
语句;
表达式1设置循环变量的初值,表达式2是循环条件,表达式3调整循环变量的值。
for循环结构执行时,先表达式1求值,且只求值一次;接着表达式2求值,若值为真,则先执行语句,再表达式3求值;
然后,重复表达式2求值,若值为真,则先执行语句,再表达式3求值;若在重复的过程中表达式2的值为假,则退出循环结构的执行。
for循环结构将控制循环执行次数的三要素集中在一行,简洁明了,可读性好。
用for循环结构输出5个*号时,先设置循环变量i的初值为5,即i = 5是表达式1;循环条件i > 0是表达式2;执行循环体输出一个*号后,循环变量减1,即--i是表达式3。
4
分析for循环结构的执行过程
执行过程如图所示。
循环控制 循环体 表达式3
i i > 0 printf("*"); --i
5 真 * 5→4
4 真 * 4→3
3 真 * 3→2
2 真 * 2→1
1 真 * 1→0
0 假 × ×
用for循环结构输出5个*号时,先表达式1i=5求值,循环变量i赋初值5,只执行一次;接着,作为循环条件,表达式2i > 0求值,为真,
先执行循环体输出一个*号,再表达式3--i求值,调整循环变量i的值为4;然后重复这个过程,直到表达式2为假,退出循环。
详细执行过程画表分析如下。
由于表达式3不是循环体的一部分,因此,画表分析时循环体与表达式3用双线分隔。
5
例5-8 用for循环结构实现百僧百馍问题。
循环控制 循环体 表达式3
i i < 100 if选择结构 i += 3
3 真 假,不执行语句 3→6
6 真 假,不执行语句 6→9
…… …… …… ……
用for循环结构实现百僧百馍问题时,穷举小僧人数,循环变量i的初值是3,循环条件是i < 100,小僧人数每次增加3人,
即用i += 3调整循环变量。for循环结构为for(i = 3; i < 100; i += 3)。
画表分析如图所示。
程序流程图可知,for循环结构的循环体是if选择结构。
6
例5-9 输出100以内奇数之和与偶数之和。
可以在程序中先求出1+3+...+99之和再求出2+4+ ...+100之和,
也可在一个循环中求出它们的和,如下面的程序所示。
第1个程序,求奇数之和时,循环变量i的初值为1,循环条件i <= 100,调整循环变量用i += 2;
求偶数之和时,循环变量i的初值为2,循环条件i <= 100,调整循环变量用i += 2;
第2个程序,for(i=1; i<=100; ++i)即从1重复到100,在循环体中用if-else选择结构判断奇偶后求和。
第3个程序,for(i=1; i<=99; i+=2)即从1到99穷举奇数,循环体中先求奇数之和,再用i+1作加数求偶数之和。
第3个程序只重复了50次就求出了奇数和偶数之和,效率较高。
7
例5-10 输入两个正整数,求它们的最小公倍数。
两个数的最小公倍数不会大于这两个数的积。以4和6为例,最小公倍数在1,2,3,4,5,……,24中。用穷举法。
for(i=1; i<=4*6; ++i){若i是4的倍数且i是6的倍数,则输出i。}
最小公倍数必在4,8,12,16,20,24中,穷举4的倍数。
for(i=4; i<=4*6; i+=4){若i是6的倍数,则输出i。
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。