五章循环控制ppt课件.ppt
《五章循环控制ppt课件.ppt》由会员分享,可在线阅读,更多相关《五章循环控制ppt课件.ppt(38页珍藏版)》请在三一办公上搜索。
1、第五章 循环控制,概述,goto语句以及用goto语句构成循环,while 语句,do while 语句,for 语句,循环嵌套,几种循环的比较,break 与continue语句,程序举例,第五章 循环控制,本章要点:建立循环程序设计的基本概念和逻辑思维 掌握C语言循环程序设计的方法,第五章 循环控制,5.1 概述1.引入循环控制语句的作用 当满足一定条件时,重复执行一段程序。2.设置循环需要考虑的问题 循环初值;循环条件的设置;循环体应包括的语句;循环条件的修改。3.C语言中可用以下语句实现循环 循环结构主要有:(1)用goto语句和if语句构成循环;(2)用while语句;(3)用do-
2、while语句;(4)用for语句。,用if语句和goto语句构成循环,,第五章 循环控制,5.2 goto语句以及用goto语句构成循环,一般形式:goto 标号;标号:语句其中:标号用标识符表示,即由字母、数字和下划线组成,且首字符必须为字母或下划线。注意:不能用整数来作标号。用途:1.与if语句一起构成循环结构。2.从循环体中跳到循环体外(常指最深层)。3.改变程序自上而下的执行顺序。缺点:滥用goto语句,可使程序无规律、可读性差。,例5.1 用if语句和goto语句构成循环,main()int i,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;goto l
3、oop;printf(“%d”,sum);,用if语句和goto语句构成循环,main()int i,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;goto loop;printf(“%d”,sum);,例 5.1,示例,用if语句和goto语句构成循环,,第五章 循环控制,5.2 goto语句以及用goto语句构成循环,一般形式:goto 标号;标号:语句其中:标号用标识符表示,即由字母、数字和下划线组成,且首字符必须为字母或下划线。注意:不能用整数来作标号。用途:1.与if语句一起构成循环结构。2.从循环体中跳到循环体外(常指最深层)。3.改变程序自上而下的执行
4、顺序。缺点:滥用goto语句,可使程序无规律、可读性差。,例5.1 用if语句和goto语句构成循环,main()int i,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;goto loop;printf(“%d”,sum);,用if语句和goto语句构成循环,main()int i,sum=0;i=1;loop:if(i=100)sum=sum+i;i+;goto loop;printf(“%d”,sum);,例 5.1,示例,例 5.2,用while 循环求sum=1+2+100。,第五章 循环控制5.3 while 语句一般格式:while(表达式)语句 特点
5、:先判断,后执行。表达式为非 0 值时,执行语句,反之则不执行。属“当型”循环结构。,NS 流图,传统流程图,例 5.2 main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“%d”,sum);,用 while 循环计算sum=1+2+100 main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“%d”,sum);,示例,例 5.2,用while 循环求sum=1+2+100。,第五章 循环控制5.3 while 语句一般格式:while(表达式)语句 特点:先判断,后执行。表达式为
6、非 0 值时,执行语句,反之则不执行。属“当型”循环结构。,NS 流图,传统流程图,例 5.2 main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“%d”,sum);,用 while 循环计算sum=1+2+100 main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(“%d”,sum);,示例,示例,反例,说明:(1)循环体可以是一条语句或是复合语句。后者应有 号。(2)在循环体中应有使循环趋于结束的语句。如上述程 序中的 i+。(3)注意表达式可以是各种类型的表达式或数 值类型。
7、如:while(1)、while(2)、while(a)等。(4)留心“边界值”,注意循环次数。(5)注意 while(表达式)后不要加分号。,(4)示例 main()int n=0;while(n+=1)printf(“%d n”,n);printf(“%d n”,n);运行结果:123,(5)重点例5.2中若程序误写成:main()int i,sum=0;i=1;while(i=100);sum=sum+i;i+;printf(“%d”,sum);程序将进入“死”循环,无法得到正确结果。,留心“边界值”注意循环次数main()int n=0;while(n+=1)printf(“%d n”
8、,n);printf(“%d n”,n);运行结果:123,示例,注意 while(表达式)后不要加分号main()int i,sum=0;i=1;while(i=100);sum=sum+i;i+;printf(“%d”,sum);程序将进入“死”循环,无法得到正确结果。,示例,示例,反例,说明:(1)循环体可以是一条语句或是复合语句。后者应有 号。(2)在循环体中应有使循环趋于结束的语句。如上述程 序中的 i+。(3)注意表达式可以是各种类型的表达式或数 值类型。如:while(1)、while(2)、while(a)等。(4)留心“边界值”,注意循环次数。(5)注意 while(表达式)
9、后不要加分号。,(4)示例 main()int n=0;while(n+=1)printf(“%d n”,n);printf(“%d n”,n);运行结果:123,(5)重点例5.2中若程序误写成:main()int i,sum=0;i=1;while(i=100);sum=sum+i;i+;printf(“%d”,sum);程序将进入“死”循环,无法得到正确结果。,示例,反例,留心“边界值”注意循环次数main()int n=0;while(n+=1)printf(“%d n”,n);printf(“%d n”,n);运行结果:123,示例,注意 while(表达式)后不要加分号main()
10、int i,sum=0;i=1;while(i=100);sum=sum+i;i+;printf(“%d”,sum);程序将进入“死”循环,无法得到正确结果。,示例,5.4 do while 语句 一般格式:do 语句 while(表达式);特点:先执行,后判断。属典型的“直到型”循环结构。,用do while循环求sum=1+2+100,NS 流图,用 do while循环求sum=1+2+100 main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,例 5.3,示例,用 do while循环求sum=1+2
11、+100 main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,5.4 do while 语句 一般格式:do 语句 while(表达式);特点:先执行,后判断。属典型的“直到型”循环结构。,用do while循环求sum=1+2+100,NS 流图,用 do while循环求sum=1+2+100 main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,例 5.3,示例,用 do while循环求sum=1+2+100 main
12、()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,说明:一般情况下,用 while 和 do while 处理同一问题时若二者的循环体一样,则它们的结果一样。但如while后面的表达式一开始就为0时,两种循环体的结果是不同的。,(1)while循环示例main()int sum=0,i;scanf(“%d”,(2)do while循环示例main()int sum=0,i;scanf(“%d”,do while循环结果若输入 1 则结果为 55 若输入 11 则结果为 11,while循环结果若输入 1 则结果为
13、55 若输入 11 则结果为 0,while循环示例main()int sum=0,i;scanf(“%d”,(2)while循环示例,示例,用 do while循环求sum=1+2+100 main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,(1)do while循环示例,示例,while循环结果,while循环结果若输入 1 则结果为 55 若输入 11 则结果为 0,比较,do while循环结果,do while循环结果若输入 1 则结果为 55 若输入 11 则结果为 11,比较,说明:一般情况下,
14、用 while 和 do while 处理同一问题时若二者的循环体一样,则它们的结果一样。但如while后面的表达式一开始就为0时,两种循环体的结果是不同的。,(1)while循环示例main()int sum=0,i;scanf(“%d”,(2)do while循环示例main()int sum=0,i;scanf(“%d”,do while循环结果若输入 1 则结果为 55 若输入 11 则结果为 11,while循环结果若输入 1 则结果为 55 若输入 11 则结果为 0,while循环示例main()int sum=0,i;scanf(“%d”,(1)while循环示例,示例,用 d
15、o while循环求sum=1+2+100 main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%d”,sum);,(2)do while循环示例,示例,while循环结果,while循环结果若输入 1 则结果为 55 若输入 11 则结果为 0,比较,do while循环结果,do while循环结果若输入 1 则结果为 55 若输入 11 则结果为 11,比较,例:以下while循环执行的 次,输出结果为 main()int k=2;while(k)printf(“%d,”,k),k;printf(“n”);A)无限次 B)
16、0 次 C)1次 D)2 次 E)程序有错,答案:D输出为:2,1,求解表达式 1,求解表达式 3,表达式 2,语句,for 语句下的其它语句,真,假,5.5 for 语句 一般格式:for(表达式1;表达式2;表达式3)语句,最简单格式:for(循环变量赋初值;循环条件;循环变量增值)语句,例5.2 用for 循环实现 main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“%d”,sum);,(3)可把循环体中完成的内容放在表达式中来完 成,但应注意“;”,(2)for 语句中的表达式可以部分或全部省略,但“;”不能省略。,说明:for 语
17、句中的表达式可以是任何有效的 C语言表达式。,for 语句中的表达式main()int i,sum;for(i=0,sum=0;i=100;i+,sum+=i);printf(“%d”,sum);,例如,示例,for 语句中的表达式省略表达式1main()int i,sum;i=0;sum=0;for(;i=100;i+)sum+=i;printf(“%d”,sum);,示例,for 语句中的表达式省略表达式2main()int i,sum;sum=0;for(i=0;i+)if(i 100)break;sum+=i;printf(“%d”,sum);,示例,for 语句中的表达式省略表达式3
18、main()int i,sum;sum=0;for(i=0;i=100;)sum+=i;i+;printf(“%d”,sum);,示例,for 语句中省略表达式1和3main()int i,sum;sum=0;i=0;for(;i=100;)sum+=i;i+;printf(“%d”,sum);,示例,for 语句中省略表达式1、2和3main()int i,sum;sum=0;i=0;for(;)if(i 100)break;sum+=i;i+;printf(“%d”,sum);,示例,用while实现main()int i,sum;sum=0;i=0;while(i=100)sum+=i;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 控制 ppt 课件
链接地址:https://www.31ppt.com/p-5450119.html