- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第5章循环结构
5.1while循环结构
5.2do-while循环结构
5.3for循环结构
5.4与循环有关的控制语句
5.5三种循环语句的比较
5.6循环的嵌套
5.7循环结构程序举例;5.1while循环结构
5.1.1while语句的格式
while语句的一般格式为:
while(表达式)
语句
while语句中的表达式表示循环的条件,可以是任何表达式,常用的是关系表达式和逻辑表达式。表达式必须加圆括号。语句是重复执行的部分,称作循环体。;while语句的执行过程:;注意:
(1)循环体只能是单个语句。当循环体由多个语句构成时,必须用复合语句,否则会产生逻辑错误。
(2)在while语句前,循环体内的某些变量应赋初值,否则会造成不确定值参加运算。在循环体内必须有修改表达式值的语句,使其值趋向0,否则会造成死循环。;5.1.2while循环的应用
【例5-1】计算1+2+3+…+100的值。
【例5-2】已知y,求y3时的最大n值及对应的y值。;请思考3个问题:
(1)求y≥3时的最小n,如何修改程序?
(2)求y的值,直到累加项小于10-6为止,如何修改程序?
(3)n取100,求y的值,如何修改程序?;【例5-3】翻译密文。为使电文必威体育官网网址,往往按一定规律将其转换成密文,收报人再按约定的规律将其译回原文。例如,可以按以下规律将电文变成密文:将字母A变成字母E,a变成e,即变成其后的第4个字母,W变成A,X变成B,Y变成C,Z变成D。字母按上述规律转换,非字母字符不变。如Windows!转换为Amrhsaw!。输入一行字符,要求输出其相应的密文。;5.2do-while循环结构
5.2.1do-while语句的格式
do-while语句的一般格式为:
do
语句
while(表达式);
do-while语句中的表达式表示循环的条件,可以是任何表达式,常用的是关系表达式和逻辑表达式。表达式必须加圆括号。语句是重复执行的部分,称作循环体。;do-while语句的执行过程:;注意:
(1)在do-while语句中,循环体内的某些变量应事先赋初值,否则会造成不确定值参加运算。在循环体内必须有修改表达式值的语句,使表达式的值趋向0,否则会产生死循环。
(2)执行do-while语句是先执行循环体一次,然后判???表达式值,确定是否再执行循环体。因此,do-while语句控制的循环次数至少为一次。;5.2.2do-while循环的应用
【例5-4】输入两个整数m和n,求m~n之间的所有奇数之和。
【例5-5】求sinx,直到最后一项的绝对值小于10-6时,停止计算。x为角度,其值从键盘输入。;5.3for循环结构
5.3.1for语句的格式
for语句的一般格式为:
for(表达式1;表达式2;表达式3)
语句
for语句中的3个表达式可以是任何C语言表达式,语句是重复执行的部分,称作循环体。;for语句的执行过程如图所示。具体由以下几步完成:
(1)求表达式1。
(2)求表达式2,并判定其值为0或非0。若值为非0,转步骤(3);否则结束for语句。
(3)执行语句,然后求表达式3。
(4)转向步骤(2)。
由for语句的执行流程可知,表达式1的作用是为循环控制的有关变量赋初值,表达式2是循环控制条件,表达式3用于修正有关变量,语句是重复执行部分。;for语句可以用while语句描述:
表达式1;
while(表达式2)
{
语句;
表达式3;
}
;5.3.2for循环的应用
【例5-6】求Fibonacci数列的前30项。;通过本例可以知道:
(1)程序中if语句用于控制输出格式,使得输出5项后换行,每行输出5个数。
(2)编写程序时,要注意选择合适的数据类型,否则会得到错误的结果。若将程序中f、f1、f2的类型定义为short类型(输出时对应的格式说明改为%12d),则在VisualStudio环境下运行程序时,前23项是对的,从第24项开始结果不正确,如第24项输出为-19168。出现错误的原因是从第24项起超出了int型数据的表示范围。VisualStudio为short型数据分配2个字节,其表示数据的范围为-215~215-1,即-32768~32767,而第24项已达到46368。;为什么46368时输出为-19168呢?
46368的二进制形式为:
1011010100100000
以%d格式输出,将该数看作一个带符号的数,所以这是一个数的补码表示,其原码是:
1100101011100000
对应的十进制数是-19168。;【例5-7】输入20个数,求出其中的最大值与最小值。;5.3.
您可能关注的文档
- 专题训练 全等三角形压轴题型-《讲亮点》2022-2023学年八年级数学上册教材同步配套讲练(苏科版)(解析版).pdf
- 第3课时分数除以分数.pdf
- 专题训练 全等三角形压轴题型-《讲亮点》2022-2023学年八年级数学上册教材同步配套讲练(苏科版)(原卷版).pdf
- 第3课时合格率(2).pdf
- 专题训练 一次函数30道经典压轴题型专项训练(解析版).pdf
- 专题训练 整式的混合运算与化简求值(解析版).pdf
- 第3课时天安门广场(1).pdf
- 第3课时一个数除以分数.pdf
- 专题训练 轴对称30道压轴题训练-《讲亮点》2022-2023学年八年级数学上册教材同步配套讲练(苏科版)(解析版).pdf
- 专题训练 轴对称30道压轴题训练-《讲亮点》2022-2023学年八年级数学上册教材同步配套讲练(苏科版)(原卷版).pdf
文档评论(0)