流程控制结构之循环结构.ppt

上传人:小飞机 文档编号:6054268 上传时间:2023-09-18 格式:PPT 页数:24 大小:241.13KB
返回 下载 相关 举报
流程控制结构之循环结构.ppt_第1页
第1页 / 共24页
流程控制结构之循环结构.ppt_第2页
第2页 / 共24页
流程控制结构之循环结构.ppt_第3页
第3页 / 共24页
流程控制结构之循环结构.ppt_第4页
第4页 / 共24页
流程控制结构之循环结构.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《流程控制结构之循环结构.ppt》由会员分享,可在线阅读,更多相关《流程控制结构之循环结构.ppt(24页珍藏版)》请在三一办公上搜索。

1、第六章 流程控制结构之循环结构,杨章伟,课程内容安排,goto语句及其构成的循环。while语句及其构成的循环的应用。do while语句循环的应用for语句循环的应用。循环嵌套和循环结构的综合应用。,goto语句,C+提供了多种循环语句,可以组成各种不同形式的循环结构,比较常用的是goto语句、for语句、while语句和do.while语句。其中,goto语句也称为无条件跳转语句,其作用是跳转到一条指定的语句,然后从那条语句开始往下执行。使用goto 语句的目的是实现无条件分支,而这个分支只能是函数内部的分支。运行goto 语句将跳转到同一函数内部的某个位置,该位置由一个标号表明。在C+中

2、,goto语句的一般形式如下所示:goto label;其中,label是用户定义的标识符标号。label只能用作goto 的目标,并且必须由冒号结束。label起标识语句的作用,与goto语句配合使用。,while语句,while语句是最简单的循环语句,用于控制一个语句或语句块循环执行。while语句包含一个条件判断,只有条件为真时,其对应的语句或语句块才会循环执行,否则不执行循环体。在C+中,while语句的一般形式如下:while(表达式);,dowhile语句,dowhile语句是while语句的一种变化形式,其与while语句的区别在于dowhile语句不管循环条件是否成立,都先执行

3、一次循环体中的语句。因此,使用dowhile语句构成的循环,其循环体至少会被执行一次。在C+中,dowhile语句的一般使用形式为:do while();,for语句,在C+中,for语句是最常见的和功能最强的循环语句,它既可用于循环次数确定的情况,也可用于循环次数不确定而只给出循环结束条件的情况,其说明语句的一般形式为:for(表达式1;表达式2;表达式3);,多重循环,实际的应用中,还有一种循环方式使用很广泛,这就是多重循环,也称为循环嵌套,其是指循环语句的循环体内又包含另一个循环语句。在多重循环中,循环嵌套的执行顺序是先执行最里层的循环语句,依次往外执行,最后执行最外层的循环。,转向语句

4、是C+中用来实现无条件转移的语句。常用的转向语句有如下的4种:goto语句、break语句、continue语句和return语句.在C+中,break语句的作用是终止整个循环,执行循环语句后面的语句。在循环中使用break语句通常与一个if语句配合使用。,转向语句,C+中,除break语句可跳出循环外,continue语句也是一种可跳出循环的转向语句。但是,与break语句不同的是,break语句用于跳出本层循环,而continue语句又称继续语句,用来跳出本次循环而进入本层的下一次循环。continue语句的意义是:结束本次循环,即不再执行循环体中continue语句之后的语句,转入下一次

5、循环条件的判断与执行。,continue语句,在C+中有返回值的函数中,return语句的作用是提供整个函数的返回值,并结束当前函数返回到调用它的地方。在没有返回值的函数中也可以使用return语句,例如当检查到一个错误时提前结束当前函数的执行并返回。在主函数main中,如果定义其返回数据类型为int,则在结尾处应加上“return 数字;”的语句,表示程序是否成功执行。一般来说,语句return 0;表示成功执行并退出,语句return-1;表示失败并退出。,return语句,循环结构综合应用,循环结构是程序设计中最为复杂,也是最能体现计算机运算效率的结构。在具体程序设计中,使用好了循环结构

6、,可以使得问题的解决事半功倍。使用辗转相除法求两个数的最大公约数和最小公倍数的算法。,小结,本章主要介绍了C+中用于控制循环结构流程的实现语句,主要包括goto语句、while语句、do while语句和for语句。这些语句各有其应用特点,while语句先判断循环条件后执行循环体,do while语句则先执行循环体后判断循环条件,for语句的使用最为广泛,其语句最为精炼。本章通过了大量的示例介绍了这些循环语句的功能和具体应用,读者在使用中可根据需要选择不同的语句。,习题,【题目62】编写一个C+程序,要求从键盘接收用户输入的10个实数,求出最大值。【分析】该试题主要考查循环的实现。在该试题中,

7、要求用户从键盘上输入10个实数,则应该定义一个浮点型变量用于接收,同时使用一个循环语句循环接收。由于每次新接收的实数都会替换变量中原有的实数,因此接收一个后应马上进行比较,并将较大值保存在另一个变量中,直到用户输入10个实数完成。,【题目63】当执行以下程序时,循环体将被执行多少次?k=1;do k=k*k;while(!k);【分析】该试题主要考查dowhile语句的执行情况。dowhile语句不管循环条件是否满足,都至少会执行一次循环体,执行一次后判断循环条件是否成立。此处k的初值为1,执行完语句k=k*k;后,k的值仍然为1。因此,循环条件!k的值为false,该循环不会再继续下去,从而

8、退出循环。因此,该循环体被执行了一次。,【题目64】编写一个程序,要求在屏幕上输出具有7行的正三角形,如下所示。,【题目65】有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?编写一个程序输出所有无重复数字的三位数。【分析】该题目主要考察嵌套循环和多个表达式的逻辑判断。为了方便理解,分析题目要求:(1)由于是三位数,所以假设百位数、十位数、个位数依次为x、y和z。(2)由于从1、2、3和4选取,所以1=x=4、1=y=4和1=z=4。(3)由于互不重复,所以x!=y,且y!=z,且z!=x。所以,只需要让x、y和z依次取值,然后判断条件,只要满足条件,就可以。,【题目66】编写

9、一个程序,求12+22+32+42+202的值。【分析】该题目考察的是读者的归纳能力和循环语句使用能力。首先分析该表达式的特点。该表达式是计算数十个数字的和。为了方便读者找出规律,我们将所有的数字都列出,从这些数字,可以总结出以下规范:每个数字都比前一个数字大10;这些数字个数为20。所以,第一个数字可以表示为a1=2+10=12;第二个数字可以表示为a2=a1+10=22;第三个数字可以表示为a3=a2+10=32ai=ai-1+10a20=a19+10=202。,【题目67】编写一个C+程序,找出200内能被7整数的所有自然数,并将其输出到用户屏幕。【分析】该试题主要考查continue语

10、句的应用。continue语句用于结束本次循环,跳到下一次循环。在该试题中,通过一个循环在1200之间依次进行查找,能够被7整除则输出,否则使用continue语句结束本次循环,继续查找。,【题目68】编写一个程序打印图形,按输入的边长,打印一个正方形。其偶数行(从0行开始计算)填充=,奇数行填充+。例如,如果输入为1,则打印=,如果输入为5,则打印:=+=+=【分析】该试题主要考查循环嵌套的应用。该试题需要使用两层循环结构,例如以外层循环变量为行号,内层变量为列号;在内层打印字符时,使用选择结构:判断行号,如果为奇数,打印,否则,打印。,【题目69】计算1至70中是7的倍数的数值之和。【题目

11、70】求下面分数序列的前13项之和:2/1,3/2,5/3,8/5,13/8,21/13,【题目71】要用0至9之间不同的三个数构成一个三位数,编写程序统计出共有多少种方法。【题目72】根据/4=1-1/3+1/5-1/7+求的近似值,直到最后一项的值小于0.000001为止。,【题目73】输入一个自然数,输出其各因子的连乘形式,如输入12,则输出12=1*2*2*3。【题目74】求一个整数任意次方的最后三位数。【题目75】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第

12、10天早上想再吃时,发现只剩一个桃子了,求猴子第一天究竟摘了多少个桃子?,【题目76】已知6a30,15b36,求满足不定方程2a+5b=126的全部整数组解。如(13,20)就是一个整数组解,并以(x,y)样式输出每个解。【题目77】输出从键盘上输入的10个整数中的最大值,要求输入变量用x表示,存储最大值的变量用max表示。【题目78】有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.。输出该数列的前20项之和。,【题目79】一个5位数,判断它是不是回文数。例如,12321是回文数,个位与万位相同,十位与千位相同。【题目80】求1+2!+3!+.+10!的和。【题目81】将一个正整数分解成质因数。例如:输入84,输出84=2*2*3*7。【题目82】输入两个正整数i和j,输出两者的最大公约数和最小公倍数。,【题目83】求s=n+nn+nnn+nnnn+nn.n的值,其中n是一个数字。例如3+33+333+3333+33333(共有5个数相加)。输出s的值。【分析】该试题考查数字如何通过循环构成更大的数字。该程序可通过循环语句,为用户输入的变量进行累乘,每循环一次乘以数字10,再加上n,这样就得到了nn的数字,依次循环即可得到nn.n的值,将其累加就到了表达式n+nn+nnn+nnnn+nn.n的值。【题目84】输出九九乘法表。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号