4.5循环嵌套(课件)-《 C语言程序设计》同步教学(电子工业出版社)
2024-08-05
|
22页
|
79人阅读
|
10人下载
普通
内容正文:
项目四 循环结构程序设计
1
C语言程序设计基础
知识目标
了解循环结构
掌握while语句的用法
掌握do-while语句的用法
掌握for语句的用法
掌握循环嵌套
熟悉break和continue语句的用法
技能目标
学会在程序设计中利用循环结构解决实际问题
学会使用break语句和continue语句解决实际问题
思政目标
通过案例让学生理解——勤学如初起之苗,不见其增,日有所长,辍学如磨刀之石,不见其损,日有所亏,培养学生积极进取努力拼搏精神。
培养学生的软件工匠精神,提高综合职业素养。
2
任务5
——循环嵌套
3
在前面几章节中,介绍了while、do…while和for循环语句的使用方法,接下来,来看下循环较复杂的问题——循环嵌套。循环嵌套是指一个循环体内又包含另一个完整的循环结构,在C语言中,while、do…while、for循环语句之间可以互相嵌套,格式如图所示。
循环结构程序设计——基础篇
4
循环结构程序设计——基础篇
5
循环结构程序设计——基础篇
6
循环结构程序设计——基础篇
7
【例4-9】打印左下三角形的九九乘法表,如下图所示。
循环结构程序设计——基础篇
8
【解题思路】
九九乘法表是9行9列,但本题要求输出左下三角形,通过观察发现,第一行只有1列,第二行有2列,第3行有3列,那么,第i行就只有i列。因此,使用外层循环来控制行,内层循环来控制列,但是列的数量最多只能有i列。
循环结构程序设计——基础篇
9
【程序代码】
循环结构程序设计——基础篇
10
【运行结果】
循环结构程序设计——基础篇
11
【程序分析】
(1)定义两个变量i和j,分别用于表示行和列;
(2)外循环for语句用来控制行,从第1行至第9行,内循环for语句用来控制列,从第1列至第i列,当i=1时,输出1*1=1,然后输出一个换行,接着输出第二行的所有元素,直到输出第9行的所有元素。
循环结构程序设计——基础篇
12
任务6
——break和continue语句
13
在第三章学习switch语句时,其实,我们已经接触过break语句的用法了,同样地,break语句也可用于跳出循环体,结束循环。
6.1break语句
循环结构程序设计——基础篇
14
【例4-10】 阅读以下程序,请问sum的值为多少?
循环结构程序设计——基础篇
15
【运行结果】
【程序分析】
for循环语句是从1至10,但是在for的循环体中当i等于5时,执行break语句,跳出了当前循环语句,因此,该程序只计算了1+2+3+4的值,最终输出结果为:sum=10。
循环结构程序设计——基础篇
16
【例4-11】 阅读以下程序,请问sum的值为多少?
循环结构程序设计——基础篇
17
【运行结果】
【程序分析】
该程序是for循环语句的嵌套,外层循环是从1至3,内存循环也是从1至3,然后求每个i*j相加的值,但在内层for语句循环体中当j等于2时,执行break语句,跳出了当前循环语句,特别注意,break语句只能跳出当前循环,而此时的当前循环是指内层循环,因此,该程序最终输出结果为:sum=6。
循环结构程序设计——基础篇
18
有时,不希望终止整个循环,而只想结束本次循环,接着执行下一次循环,这时可以用continue语句。
6.2continue语句
循环结构程序设计——基础篇
19
【例4-12】 阅读以下程序,请问sum的值为多少?
循环结构程序设计——基础篇
20
【运行结果】
【程序分析】
for循环语句是从1至10,但是在for的循环体中当i等于5时,执行continue语句,跳过本次循环,接着执行下次一次循环即接着下次i=6继续执行,因此,该程序只计算了1+2+3+4+6+7+8+9+10的值,最终输出结果为:sum=50。
循环结构程序设计——基础篇
21
break语句和continue语句的区别是:
break语句是跳出当前循环。
continue语句是跳过本次循环,接着执行下一次循环。
循环结构程序设计——基础篇
22
(1)while
{
...
while()
{
...
}
...
}
(2)do
{
...
do
{
...
}while();
...
}while();
(3)for(;;)
{
...
for(;;)
{
...
}
...
}
(4)while
{
...
do
{
...
}while();
...
}
(5)do
{
...
while
{
...
}
...
}while();
(6)for(;;)
{
...
while()
{
...
}
...
}
(7)while
{
...
for(;;)
{
...
}
...
}
(8)do
{
...
for(;;)
{
...
}
...
}while();
(9)for(;;)
{
...
do
{
...
}while();
...
}
(1)while
{
...
while()
{
...
}
...
}
(2)do
{
...
do
{
...
}while();
...
}while();
(3)for(;;)
{
...
for(;;)
{
...
}
...
}
(4)while
{
...
do
{
...
}while();
...
}
(5)do
{
...
while
{
...
}
...
}while();
(6)for(;;)
{
...
while()
{
...
}
...
}
(7)while
{
...
for(;;)
{
...
}
...
}
(8)do
{
...
for(;;)
{
...
}
...
}while();
(9)for(;;)
{
...
do
{
...
}while();
...
}
(1)while
{
...
while()
{
...
}
...
}
(2)do
{
...
do
{
...
}while();
...
}while();
(3)for(;;)
{
...
for(;;)
{
...
}
...
}
(4)while
{
...
do
{
...
}while();
...
}
(5)do
{
...
while
{
...
}
...
}while();
(6)for(;;)
{
...
while()
{
...
}
...
}
(7)while
{
...
for(;;)
{
...
}
...
}
(8)do
{
...
for(;;)
{
...
}
...
}while();
(9)for(;;)
{
...
do
{
...
}while();
...
}
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。