第五章总结

循环结构是结构化程序设计中的基本结构之一。
C语言提供了for语句、while语句和do- while语句三种循环语句。
5.1引例
例5.1
例5.2
说明:while语句是三种循环结构之一,while后括号中的表达式称为循环条件,循环开始时,一定要保证循环条件为真。需要重复执行的语句精神了循环体。
5.2使用或一句循环实现循环结构
for语句是C语言提供的功能强大、使用广泛的一种循环结构,不仅可以解决循环次数未知的循环问题,特别适合解决循环次数已知的循环问题。
5.2.1
for语句的基本语法
for语句的一般形式为:
for(表达式1;表达式2;表达式3)
循环体语句;
for语句的执行过程如下:
1.首先计算表达式1。
2.判断表达式2,若其值为真(非0),则执行循环体语句,然后执行第3步;若值为假(0),结束循环,转到第5步执行。
3.计算表达式3。
4.返回第2步继续执行。
5.循环结束,继续执行for语句的下一条语句。大部分情况下,循环体语句为一复合循语句。
注意,表达式1只在进行循环之前计算一次。表达式2、循环体语句和表达3将重复执行。
根据for语句格式的特点,其实际应用可以有多种形式。
1.可以应用于计数型的循环
格式如下:
for(循环变量赋初值;循环条件;循环变量增量)
循环体语句
说明:循环变量赋值是一个赋值语句,用于给循环变量赋初值;循环条件是一个条件表达式,决定何时终止循环(即确定循环的终值);循环变量增量决定循环变量在完成一次循环后如何变化。三部分之间以“;”隔开。
例5.3
例5.4
2.for语句的一般形式中省略表达式1
格式如下:
for(;表达式2;表达式3)
循环体语句;
说明:省略表达式1时,可以将循环变量赋初值放在for之前。注意,此事不能省略第一个“;”3.for语句的一般形式中省略表达式2
格式如下:
for(表达式1;;表达式3)
循环体语句;
说明:循环表达式2时,表示不对循环进行控制,这时如果没有其他处理的话,会形成死循环。应避免这样使用for结构
4.for语句的一般形式中省略表达式3
格式如下:
for(表达式1;表达式2;)
循环体语句;
说明:省略表达式3时,可以在循环体语句中加入修改循环变量的语句
5.for语句的一般形式中表达式1和表达式3也可以是逗号表达式
6.for语句的一般形式中表达式2的值只要非0,就执行循环体
7.for语句的一般形式中循环体句可以省略
5.2.2for循环使用示例
例5.5
例5.6
例5.7
例5.8
例5.9
例5.10
例5.11
例5.12
5.3使用while语句实现循环结构
在C语言中,使用while语句完成不定次数的循环。如果满足循环条件,则反复执行循环体语句,当循环条件不满足时退出循环。
5.3.1while语句的基本语法
while语句在使用时,总是先要判断一个条件,所以可以用while语句实现“当型”循环。while语句的一般形式如下:
while(表达式)
循环体;
执行流程图:
第1步:计算表达式的值,若表达式的值为“真”,则执行第2步;若表达式的值为“假”,则转到第4部。
第2步:执行循环体语句。
第3步:返回第1步。
第4步:结束循环,执行while语句的下一条语句。
注意:while语句的特点是先判断循环条件,后执行循环体。
5.3.2while循环使用示例
例5.13
例5.14
例5.15
5.4使用do-while语句实现循环结构
在C语言中,do-while语句也用于完成不定次数的循环控制。do-while语句不同的是,do-while语句首先执行一次循环体,然后判断循环条件,如果满足,则反复执行循环体语句;否则结束循环。
5.4.1do-while语句的基本语法
do-while语句在使用时,首先执行循环体语句,然后再判断条件。所以说可以用do-while语句实现“直到型”循环。do-while语句的一般形式如下:
do
循环体
while(表达式);
do-while执行流程如下:
第1步:执行循环体语句。
第2部:计算表达式的值,若表达式的值为“真”(非0),返回第1步;若表达式的值为“假”(0),则执行第3步。
第3步:结束循环,执行do-while语句的下一一条语句。
注意,do-while语句的特点是先执行循环体,后判断循环条件。因此,do-while循环至少要执行一次循环体。
5.4.2do-while循环使用示例
例5.16
在使用都do-while语句使用注意以下几点:
1.在do之后不能有语句结束符“;”因为该语句还没有结束。
2.在while(表达式)之后必须有语句结束符“;”表示do-while语句到此结束。
3.在循环体中必须有改变循环条件的语句,否则会出现死循环。
例5.17
例5.18
5.5 改变循环结构的跳转语句
在前面介绍的三种循环语句,即for循环语句、while循环语句及do-while循环语句中,控制循环是通过循环达到设定的次数或者循环的判断条件为“假”时结束循环,这种循环控制方式在实际的程序设计中是不够的。许多时候当循环结构中出现多个循环条件时,要求当某个条件满足时会立即结束循环,或者循环结构中根据条件会跳过某些语句继续循环,这就要在循环结构中配合使用break语句和continue语句
5.5.1 break语句
break语句在循环语句和switch语句中。
break语句的一般形式如下:
当break语句用于循环语句时,可使程序终止循环而转去执行循环语句的后继语句。通常break语句总是与if语句一起配合使用,即满足条件时便跳出循环。
例5.19
例5.20
例5.21
5.5.2 continue语句
continue语句的作用是跳过循环体中continue后面的语句,继续下一次循环。continue语句只能用在循环语句中,常与if语句一起使用。
continue语句的一般形式如下:
continue
例5.22
例5.23
5.5.3 goto语句
goto语句的一般形式如下:
goto语句标号;
说明:语句标号是一个有效的标识符,使用时在语句编号的后面跟一个“:”出现在函数中的某语句的前面。程序执行到goto语句时,会控制跳转到该语句标号处,达到控制循环的目的。例5.24
注意,语句标号必须与goto语句处于同一函数中。通常goto语句与if语句连用实现循环控制。大型循环中由于goto语句可能存在的不合理的使用,会使循环结构变坏,所以程序设计中,不建议使用goto语句。
5.6 循环嵌套
当一个循环的循环体内有包含了另一个完整的循环结构时,称为循环的嵌套或者是二重循环。根据问题的需要可以构成三重及以上的循环嵌套结构,但一般情况下最多使用到三重循环。
使用for语句、while语句及do-while语句相互嵌套,构成的嵌套结构有以下几种。
(1)for语句中嵌套for语句
for() }
{ … }
for() } }
} 内循环 }外循环
{…} } }
} }
(2)for语句中嵌套while语句
for() }
{ … }
while() } }
}内循环 }外循环
{…} } }
} }
(3)while语句中嵌套while语句
while() }
{ … }
while() } }
{…} }内循环 }外循环
… } }
} }
( 4)do-while语句嵌套for语句
do }
{ … }
for() } }
{…} }内循环 }外循环
… } }
}while() }
(5)do-while语句中嵌套do-while语句
do }
{ … }
do } }
{ … }内循环 }外循环
}while(); } }
… } }
}while(); }
(6)while语句中嵌套do-while语句
while() }
{ … }
do } }
{ … }内循环 }外循环
}while(); } }
… } }
} }
使用循环嵌套时,注意以下几点:
1)外循环执行一次,内循环要执行一轮。即外循环执行一次,内循环一直要执行的条件不满足是为一轮;再执行外循环一次,内循环又一直执行到条件不满足时为第二轮;如此重复执行,直到外循环条件不满足时,整个循环嵌套结束。
2)循环嵌套格式中的内外循环体不允许出现交叉,即外循环要完全包含内循环。
3)循环嵌套时,内循环体中使用break语句和continue语句时,只影响包含它们的内循环,与外循环无关
例5.25
例5.26
例5.27
例5.28
5.7 典型算法举例
例5.29
递推法的解题思路是:后项可由前项推出(称为正推),或前项可由后项推出(称为倒退)。找出前后项的关系以后,需要应用循环结构实现算法,其中确定前后相的关系是关键。
例5.30
5.7.2 迭代法
牛顿迭代法又称为牛顿切线法
例5.31
5.7.3 穷举法
例5.32
穷举法的解题思路是:在一个集合内对每个元素一一测试。集合即为集合即为取值范围,首先要确定问题的取值范围,然后对所有值逐个进行判断,用人工来做这项工作既单调而又繁琐,但对计算机来说,可以用它高速的运算来处理重复的工作。
例5.33
5.8循环程序设计示例
例5.34
例5.35
例5.36
例5.37

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值