第5章+循环控制结构程序设计.ppt

上传人:b****2 文档编号:2672836 上传时间:2022-11-06 格式:PPT 页数:36 大小:1.93MB
下载 相关 举报
第5章+循环控制结构程序设计.ppt_第1页
第1页 / 共36页
第5章+循环控制结构程序设计.ppt_第2页
第2页 / 共36页
第5章+循环控制结构程序设计.ppt_第3页
第3页 / 共36页
第5章+循环控制结构程序设计.ppt_第4页
第4页 / 共36页
第5章+循环控制结构程序设计.ppt_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

第5章+循环控制结构程序设计.ppt

《第5章+循环控制结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第5章+循环控制结构程序设计.ppt(36页珍藏版)》请在冰豆网上搜索。

第5章+循环控制结构程序设计.ppt

C语言程序设计基础教程第5章循环结构程序设计C语言程序设计基础教程2022/11/61C语言程序设计基础教程5.1while5.1while语句语句5.25.2dodowhilewhile语句语句5.35.3forfor语句语句5.45.4循环的嵌套循环的嵌套5.55.5几种循环的比较几种循环的比较5.65.6breakbreak和和continuecontinue语句语句5.75.7程序举例程序举例2022/11/62C语言程序设计基础教程循环结构是结构化程序设计的基本结构之一,它的特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。

给定的条件称为循环条件,反复执行的程序段称为循环体。

语言提供了多种实现循环的语句,可以组成各种不同形式的循环结构。

用while语句用do-while语句用for语句2022/11/63C语言程序设计基础教程while语句可以用来实现“当型”循环结构。

1)格式:

while(表达式)语句(表达式)语句2)执行过程其特点是:

先判断表达式,后执行语句。

5.1while语句2022/11/64C语言程序设计基础教程【例5-1】用while语句求1100的累计和。

#includestdio.hmain()inti=1,sum=0;while(i=100)sum=sum+i;i+;printf(%dn,sum);程序运行结果如下:

50505.1while语句2022/11/65C语言程序设计基础教程使用while语句应注意以下几点:

(1)while循环结构的特点是“先判断,后执行”。

如果表达式的值一开始为“假”,则循环体一次也不执行。

(2)while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0)即可继续循环。

(3)为使循环能够正确开始运行,需要对循环控制变量初始化。

(4)循环体中,如果包含一个以上的语句,则应用花括号括起来,构成复合语句,否则while语句的范围只到while后面第1个分号处。

(5)循环体内中应有使循环趋向于结束的语句。

5.1while语句2022/11/66C语言程序设计基础教程【例5-2】从键盘输入30个学生的成绩,对其进行处理;如果成绩及格,则输出“Passed”,否则输出“Failed”。

#includestdio.hmain()intn=1;floatscore;while(n=60.0)printf(Passedn);elseprintf(Failedn);n+;5.1while语句2022/11/68C语言程序设计基础教程dowhile语句可以用来实现“直到型”循环结构。

1)格式:

do语句语句while(表达式);(表达式);2)执行过程这个循环与while循环的区别在于,它先执行后判断,因此,do-while循环至少要执行一次循环体。

而while循环是先判断后执行,如果条件不满足,则循环体语句一次也不执行。

5.2dowhile语句2022/11/69C语言程序设计基础教程【例5-3】用do-while语句求1100的累计和。

#includestdio.hmain()inti=1,sum=0;dosum=sum+i;i+;while(i=100);printf(%dn,sum);程序运行结果如下:

50505.2dowhile语句2022/11/610C语言程序设计基础教程使用do-while语句应注意以下几点:

(1)do是C语言的关键字,必须与while联合使用。

(2)在if语句、while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面必须加分号,它表示do-while语句的结束,否则将产生语法错误。

(3)while后面一对圆括号中的表达式,可以是C语言中任意合法的表达式。

由它控制循环是否执行。

(4)和while语句一样,在使用do-while语句时,不要忘记初始化循环控制变量,否则执行的结果将是不可预知的。

(5)要在do-while语句的某处(表达式或循环体内)改变循环控制变量的值,否则极易构成死循环。

(6)按照语法规则,在do和while之间的循环体只能是一条可执行语句。

若循环体内需要多个语句,应该用花括号括起来,组成复合语句。

5.2dowhile语句2022/11/611C语言程序设计基础教程【例5-4】将输入的一串字符显示在屏幕上,遇到空格时停止。

#includestdio.hmain()charc;printf(nPleaseinputastring:

);doc=getchar();putchar(c);while(c!

=);程序运行结果如下:

Pleaseinputastring:

HomeworkintheschoolHomework5.2dowhile语句2022/11/612C语言程序设计基础教程【例5-5】while语句和do-while语句的比较。

main()ints=0,n;scanf(%d,&n);while(n=10)s=s+n;n+;printf(%d,s);main()ints=0,n;scanf(%d,&n);dos=s+n;n+;while(n10时,两者结果不同。

这是因为此时对while循环来说,一次也不执行循环体(表达式“i=100”为假),而对do-while循环语句来说,则要执行一次循环体。

可以得到结论:

当while后面的表达式的第1次的值为“真”时,两种循环得到的结果相同,否则,两者结果不相同(指两者具有相同的循环体的情况)。

5.2dowhile语句2022/11/614C语言程序设计基础教程for语句是循环控制结构中使用最广泛的一种循环控制语句,特别适合用于已知循环次数的情况。

1)格式:

for(表达式(表达式1;表达式;表达式2;表达式;表达式3)语句)语句2)执行过程5.3for语句2022/11/615C语言程序设计基础教程【例5-6】用for语句求1100的累计和。

#includestdio.hmain()ints=0,n=1;for(n=1;n=100;n+)s=s+n;printf(s=%dn,s);程序运行结果如下:

50505.3for语句2022/11/616C语言程序设计基础教程使用for语句应注意以下几点:

(1)for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺少,但“;”不能缺少。

(2)省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。

(3)省略了“表达式2(循环条件)”,则不做其他处理时便成为死循环。

(4)省略了“表达式3(循环变量增量)”,则不对循环控制变量进行操作,这时可在循环体中加入修改循环控制变量的语句。

5.3for语句2022/11/617C语言程序设计基础教程使用for语句应注意以下几点:

(5)省略了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。

(6)3个表达式都可以省略。

(7)表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。

(8)表达式1和表达式3可以是简单表达式,也可以是逗号表达式。

(9)表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。

5.3for语句2022/11/618C语言程序设计基础教程【例5-7】输出1001000之间同时能被4和6同时整除的数及其和。

#includestdio.hmain()floats=0;inti;for(i=100;i=1000;i+)if(i%4=0&i%6=0)s=s+i;printf(%5d,i);printf(s=%fn,s);5.3for语句2022/11/619C语言程序设计基础教程【例5-8】在3100之间所有3的倍数中,找出个位数为2的数。

#includestdio.hmain()inti=0;for(i=3;i=100;i+)if(i%3=0&i%10=2)printf(%4d,i);printf(n);5.3for语句程序运行结果如下:

1242722022/11/620C语言程序设计基础教程【例5-9】一个球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。

求它在第10次落地时,共经过多少米?

第10次反弹多高?

#includestdio.hmain()floatsn=100.0,hn=sn/2;intn;for(n=2;n=10;n+)5.3for语句2022/11/621C语言程序设计基础教程sn=sn+2*hn;hn=hn/2;printf(thetotalofroadis%fn,sn);printf(thetenthis%fmetern,hn);5.3for语句程序运行结果如下:

thetotalofroadis299.609375thetenthis0.097656meter2022/11/622C语言程序设计基础教程5.4循环嵌套一个循环的循环体中有另一个循环称为循环嵌套。

这种嵌套过程可以有很多重。

一个循环外面仅包围一层循环称为二重循环;一个循环外面包围两层循环称为三重循环;一个循环外面包围多层循环称为多重循环。

循环嵌套的层数理论上无限制。

2022/11/623C语言程序设计基础教程在使用循环嵌套时应注意以下几点:

(1)在嵌套的各层循环中,应使用复合语句(即用一对花括号将循环体语句括起来),以保证逻辑上的正确性;

(2)内层和外层循环控制变量不应同名,以免造成混乱;(3)嵌套循环最好采用右缩进格式书写,以保证层次的清晰性;(4)循环嵌套不能交叉,即在一个循环体内必须完整地包含另一个循环。

循环嵌套执行时,先由外层循环进入内层循环,并在内层循环终止之后接着执行外层循环,再由外层循环进入内层循环。

当外层循环全部终止时,程序结束。

5.4循环嵌套2022/11/624C语言程序设计基础教程【例5-11】打印九九乘法口诀表。

#includestdio.hmain()inti,j;for(i=1;i=9;i+)for(j=1;j=i;j+)printf(%d*%d=%-3d,j,i,i*j);printf(n);程序运行结果如下:

1*1=11*2=22*2=41*3=32*3=63*3=91*4=42*4=83*4=124*4=165.4循环嵌套2022/11/625C语言程序设计基础教程5.5几种循环的比较几种循环的比较如下:

(1)3种循环都可以用来处理同一个问题,一般可以互相代替。

(2)while和do-while循环,循环体中应包括使循环趋于结束的语句。

for语句功能最强。

(3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。

(4)while循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环(break语句和continue语句见5.6节)。

2022/11/626C语言程序设计基础教程5.6break语句和continue语句5.6.1break语句当break语句用于while、do-while、for循环语句中时,可使程序终止循环而执行循环后面的语句。

1)格式:

if(表达式)(表达式)break;2)执行过程:

while(表达式(表达式1)if(表达式(表达式2)break;2022/11/627C语言程序设计基础教程【例5-14】读入5个正整数并且显示它们。

当程序读入的数据为负数时,程序立即终止。

#includestdio.hmain()inti,n;for(i=1;i=5;i+)printf(pleaseentern:

);scanf(%d,&n);if(n0)break;printf(n=%dn,n);printf(Programisover!

n);5.6break语句和continue语句程序运行结果如下:

pleaseentern:

10n=10Pleaseentern:

-10Programisover!

2022/11/

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

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1