循环语句和转移语句课件.ppt

上传人(卖家):晟晟文业 文档编号:3730395 上传时间:2022-10-07 格式:PPT 页数:20 大小:81.57KB
下载 相关 举报
循环语句和转移语句课件.ppt_第1页
第1页 / 共20页
循环语句和转移语句课件.ppt_第2页
第2页 / 共20页
循环语句和转移语句课件.ppt_第3页
第3页 / 共20页
循环语句和转移语句课件.ppt_第4页
第4页 / 共20页
循环语句和转移语句课件.ppt_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、 循环语句和转移语句循环语句和转移语句4.0 4.0 引例引例求s=1+2+3+100之和。main()int s=0,i=1;start:s=s+i;i=i+1;if(i=100)goto start;printf(s=%d,s);getch();4.1 4.1 基本概念基本概念1.循 环 体:被重复执行的程序段,可以是一个语句,也可以是由多个语句组成的复合语句;2.循环变量:用于控制循环次数的变量,常用i,j,k等;3.嵌 套:一个控制结构中还包含另一个控制结构,如选择中包含选择,循环套循环,选择套循环,循环中套选择等;4.死 循 环:循环无法中止的情况被称为死循环,如果遇到死循环,可以用

2、Ctrl+Break键中断跳出;5.步 长:指循环变量每次变化的幅度。如经常可以看到的i+,表示步长为1。4.2 4.2 常用转移语句常用转移语句1.goto 语句标号:将程序流程转向指定标号处,已经很少使用;2.return(表达式):用于从函数返回表达式的值,在函数中使用,见第6章;3.break:强行中断语句,仅用于switch结构和循环结构中,使程序流程跳到结构之外的第一条语句;4.continue:仅用于循环结构中,使循环体中之后的语句不再被执行,请理解示例:int i;for(i=0;i10;i+)if(i%2=0)continue;printf(%5d,i);请先预测结果再运行!

3、4.3 4.3 循环第一结构循环第一结构forforfor结构是C语言中使用最广泛、最灵活的结构。可以通用于任何循环结构。一般形式:for(表达式1;表达式2;表达式3)循环体1.表达式1:一般用于为循环变量赋初值、为循环作准备等;2.表达式2:一般为一个条件表达式,当值为非0时循环得以执行;3.表达式3:一般用于改变循环变量的值,以使得条件表达式的值向趋于0方向发展,从而结束循环。4.3 4.3 循环第一结构循环第一结构forfor4.for循环执行过程 (1)先执行表达式1;(2)执行表达式2,值为真则执行循环体,否则结束循环;(3)执行循环体;(4)执行表达式3,然后goto第(2)步。

4、出口表达式2循环体真假表达式1表达式34.3 4.3 循环第一结构循环第一结构forfor5.循环注意问题 (1)无表达式1,循环变量没有赋初值;(2)无表达式2,循环没有结束控制;(3)无循环体,循环一般没有意义;(4)无表达式3,死循环,循环无法结束。(5)认真理解P104-105出口表达式2循环体真假表达式1表达式34.3 4.3 循环第一结构循环第一结构forfor示例1:用for语句改写引例出口i=100s=s+i真假s=0,i=1i+int i,s=0;for(i=1;i=100;i+)s=s+i;printf(s=%d,s);4.3 4.3 循环第一结构循环第一结构forfor示

5、例2:改写引例int i=1,s;for(s=0;i=100;i+)s=s+i;printf(s=%d,s);int i,s;for(i=1,s=0;i100)break;s=s+i;i+;printf(s=%d,s);4.4 4.4 循环第二结构循环第二结构whilewhileint i=1,s=0;for(;i=100;)s=s+i;i+;printf(s=%d,s);int i=1,s=0;while(i=n)j=j*i;i+;printf(s=%d,s);示例2:改写引例对比可以看出,while结构就是将表达式1移到了循环体前,表达式3移动了循环体中的for结构。4.5 4.5 循环第

6、三结构循环第三结构do-whiledo-while (1)之所以将其定为第三结构,是因为前两者循环控制语句只有一行,而它要两行才能完成;(2)前两者为前测试循环,它为后测试循环;(3)前两者循环体有可能不被执行,它的循环体至少被执行一次;(4)它一般用于循环条件放在前面不好写条件,而执行一次循环体后就可以写出循环条件的情况。(5)三种循环结构均可互换,没有最好!只有最适合!4.5 4.5 循环第三结构循环第三结构do-whiledo-while 示例2:输入一串字符,判断字母、数字分别有多少个,如果输入字符为“#”,则循环立即结束!x=#c=n=0;c+x=getche()x是字母x是数字n+

7、#include ctype.hmain()char x;int c=0,n=0;do x=getche();if(isalpha(x)c+;else if(isalnum(x)n+;while(x!=#);printf(nc=%d,n=%d,c,n);getch();4.5 4.5 循环第三结构循环第三结构do-whiledo-while1.while语句后的分号很重要,否则前一个do没有结束,而该while会被当成一个新的while循环;2.两个字符判断函数要注意加头文件;3.想想为什么不用getch及getchar函数;4.注意循环中嵌套的多分支选择结构。4.6 4.6 嵌套嵌套1.外层

8、一定要完全包含内层;2.内外层循环变量不能相同;3.最先开始的结构(外层结构)要最后完成,最后开始的结构(内层结构)要最先完成,即“后进先出”4.典型示例:打印九九乘法口诀表4.7 4.7 常用算法常用算法1.记数与累加相同,要求设置变量用作累加器并一般要求累加器初值为0,如前例中的求字母和数字个数、求多个数的平均值等等;2.累积要求设置一个变量为累积器,并一般要求累积器初值为1,如求阶乘;3.典型示例如引例,例4-1,习题中的2、3、4、5、6、7、10、20、22、23。4.7.1 记数、累加与累积4.7 4.7 常用算法常用算法1.将所有可能的解一一尝试的一种算法;2.典型示例:例4-1

9、0的百钱百鸡问题,例4-12求素数,例4-13,习题9、12、14、15、20、24,还有好多灯谜游戏如:AB -CD EF*G=HI 其中AI为19中的一个数字,互不相同;3.这类题目程序简单,难在优化。4.7.2 穷举法(枚举法)4.7 4.7 常用算法常用算法1.用一个新值取代替旧值,直到得到满足某一条件的结果;2.典型示例:例4-2,例4-4,例4-14,习题13、21;3.这种题看起来复杂,主要是要找出迭代规律。4.7.3 迭代法4.7 4.7 常用算法常用算法1.根据递推公式和初始条件推导出一个序列;2.典型示例:例4-2,习题13;3.这类题一般用数组解决会更简单。4.7.4 求数列4.7 4.7 常用算法常用算法1.典型示例:素数问题、最大公约数和最小公倍数问题;2.这是各种考试中考得最多的算法。4.7.5 整数4.7 4.7 作业与实习作业与实习 1.习题3、12、13、19 2.要求简单抄题,要有实验数据和预测结果,如果不能预测结果的必须写出实习结果。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(循环语句和转移语句课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|