收藏 分享(赏)

全国计算机等级考试2C课程第5讲循环结构程序设计.ppt

上传人:Facebook 文档编号:8987769 上传时间:2019-07-19 格式:PPT 页数:29 大小:274KB
下载 相关 举报
全国计算机等级考试2C课程第5讲循环结构程序设计.ppt_第1页
第1页 / 共29页
全国计算机等级考试2C课程第5讲循环结构程序设计.ppt_第2页
第2页 / 共29页
全国计算机等级考试2C课程第5讲循环结构程序设计.ppt_第3页
第3页 / 共29页
全国计算机等级考试2C课程第5讲循环结构程序设计.ppt_第4页
第4页 / 共29页
全国计算机等级考试2C课程第5讲循环结构程序设计.ppt_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、全国计算机等级考试 2C课程,第五讲 循环结构程序设计,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,2,概述,什么是循环? 循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。 C语言可实现循环的语句: while 语句 do while 语句 for 语句 goto 语句(不考),2019/7/19,作者:张旭仟 版权所有 欢迎盗版,3,while循环,while语句 一般形式:,while(表达式) 循环体语句;,执行流程:,特点:先判断表达式,后执行循环体 说明: 循环体有可能一次也不执行 下列情况,退出while循环 条件表达式不

2、成立(为零) 循环体内遇break,return,goto等语句 无限循环: while(1)循环体;,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,4,while循环,例程:用while循环求,#include main() int i,sum=0;i=1;while(i=100) sum=sum+i;i+;printf(“ sum=%dn“,sum); ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,5,小练习:,有以下程序(2010年3月) #include main() int m,n;scanf(“%d%d“,程序运行后,当输入14 63 时,输出结果是 【1】 。,

3、2019/7/19,作者:张旭仟 版权所有 欢迎盗版,6,dowhile循环,dowhile语句 一般形式:特点:先执行循环体,后判断表达式 说明:至少执行一次循环体 注意:循环体最后的“;”号不可丢掉,do 循环体语句; while(表达式);,执行流程:,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,7,dowhile循环,例:用dowhile循环求,#include main() int i,sum=0;i=1;do sum+=i;i+;while(i=100);printf(“%d“,sum); ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,8,while和dowhi

4、le比较,例 while和dowhile比较,#include main() int i,sum=0;scanf(“%d“, ,main() int i,sum=0;scanf(“%d“, ,一般情况下,用while语句和用do-while语句处理同一问题时,若二者循环体一样,则它们的结果也一样。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,9,小练习:,以下程序运行后的输出结果是【1】 (2010年3月) #include main() int a=1,b=7;do b=b/2; a+=b;while(b

5、1);printf(“%dn“,a); ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,10,for循环,for语句 for语句既可以用于循环次数已经确定的情况,也可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句 一般形式:说明: for语句中expr1, expr2 ,expr3 的类型可以使任意的,也可省略,但分号” ;”不可省 无限循环: for(;),for(expr1; expr2 ; expr3)循环体语句;,执行流程:,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,11,for循环,例 用for循环求,#include main()

6、int i,sum=0;for(i=1;i=100;i+)sum+=i;printf(“%d“,sum); ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,12,for循环,For循环和while循环的比较 for语句最简单的使用,例如:,for(i=1;i=100;i+) sum=sum+i;,i=1;while(i=100) sum=sum+i;i+;,如果用while循环表示,如下所示:,显然,用for语句更简单、方便。,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,13,#include main( ) int i;for(i=0;i10;i+)putchar(a+i)

7、; ,#include main( ) int i=0;for(;i10;i+)putchar(a+i); ,#include main( ) int i=0;for(;i10;)putchar(a+(i+); ,#include main( ) int i=0;for(;i10;putchar(a+i),i+); ,运行结果:abcdefghij,For循环的用法非常灵活 例如:要使用for循环输出10个字母可以有多种写法:,for循环,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,14,小练习:,有以下程序(2010年3月) #include main() int a=l,b=2;

8、for(;a8;a+) b+=a;a+=2;printf(“%d,%dn”,a,b);程序运行后的输出结果是A)9,18 B)8,11 C)7,11 D)10,14,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,15,循环的嵌套,while循环、do while循环、for循环可以互相嵌套,且层数不限。,(1) while() while() .,(2) do do while( );.while( );,(3) while() do while( );.,(4) for( ; ;) do while();while() . ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,16

9、,例程:输入6个学生5门课程的成绩,分别统计出每个学生5门课程的平均成绩。,#define N 6 #define M 5 main() int i,j;float g,sum,ave;for(i=1;i=N;i+) sum=0;for(j=1;j=m;j+) scanf(“%f”, ,嵌套for循环举例,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,17,break语句; 功能: break语句用在循环语句和switch语句中,终止并跳出循环体或开关体 说明: break只能用于循环语句和switch语句 break只能终止并跳出最近一层的结构,辅助控制语句break,2019/7/

10、19,作者:张旭仟 版权所有 欢迎盗版,18,break语句使用的场合,辅助控制语句break,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,19,break语句使用的场合,辅助控制语句break,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,20,#include main() char c;while(1) scanf(“%c%*c”, ,Break语句举例:小写字母转换成大写字母,直至输入非字母字符,辅助控制语句break,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,21,小练习:,有以下程序(2010年3月) #includemain() int i,j,m=

11、1;for(i=1;i0;j-) if(i*j)3) break;m=i*j;printf(“m=%dn“,m);程序运行后的输出结果是A)m=6 B)m=1 C)m=4 D)m=5,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,22,辅助控制语句 continue,continue语句 功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断 说明: continue语句仅用于循环语句中 一般形式:continue;,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,23,辅助控制语句 continue,continue语句的使用场合,2019/7/19,作

12、者:张旭仟 版权所有 欢迎盗版,24,辅助控制语句 continue,注意:continue语句只结束本次循环,而不终止整个循环的执行,如有下面程序片段:,while(表达式1) if(表达式2) continue; ,其流程如右图所示:,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,25,辅助控制语句 continue,注意:break语句则是结束整个循环过程,不再判断执行循环的条件是否成立,如有下面程序片段:,while(表达式1) if(表达式2) break; ,其流程如右图所示:,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,26,小练习:,有以下程序 (2008年4

13、月) #include main() int x=8; for( ; x0; x-) if(x%3) printf(“%d,”,x-); continue; printf(“%d,”,-x); 程序的运行结果是 A)7,4,2 B)8,7,5,2 C)9,7,6,4 D)8,5,4,2,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,27,利用循环寻找最大数问题,例如:从输入的若干个大于0的数中选出最大值。输-1结束,main() int x,max,i;printf(“Enter x(-1 to end): ”);doscanf(“%d“, ,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,28,利用循环处理素数问题,例程:求100200间的全部素数。,#include # include void main() int m,k,i,n=0; for(m=101;mk)printf(“%d ”,m); n=n+1; if(n%10=0) printf(“n”); printf (“n”); ,运行结果: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199,2019/7/19,作者:张旭仟 版权所有 欢迎盗版,29,Thank listen!,

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报