C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章

上传人:E**** 文档编号:89381896 上传时间:2019-05-24 格式:PPT 页数:31 大小:625.50KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章_第1页
第1页 / 共31页
C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章_第2页
第2页 / 共31页
C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章_第3页
第3页 / 共31页
C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章_第4页
第4页 / 共31页
C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 曹玲焕 孙萍主编 第五章(31页珍藏版)》请在金锄头文库上搜索。

1、第5章,循环结构程序设计,一、 while循环语句 二、dowhile循环语句格式输出和输入 三、 for循环语句 四、 break语句和continue语句 五、循环结构的嵌套 六、循环结构程序设计举例,主要内容,一、while循环语句,while语句的一般形式如下: while (表达式) 语句 (即循环体部分),说明:,1. while语句的特点是先判断表达式的值,然后执行循环体中的语句,因此如果表达式的值一开始就为“假”,则循环体将一次也不执行。 2.当循环体由多个语句组成时,必须用左、右花括号括起来,使其形成复合语句。 3.为了使循环最终能够结束,而不至于产生“死循环”,在循环体中应

2、有使循环趋向于结束的语句。,例【5.1】 求123100的和。 # include main( ) int i,sum; i=1; sum=0; while (i=100) sum+=i; i+; printf (“ sum=%dn “,sum); ,程序运行结果:,back,二、dowhile循环语句,dowhile语句的一般形式如下: do 语句 (即循环体部分) while (表达式);,(a)流程图 (b)N-S图 图5-3 dowhile语句,说明:,1.由于dowhile语句是先执行循环体,然后再判断表达式的值,所以,无论一开始表达式的值为“真”还是为“假”,循环体中的语句都至少被

3、执行一次,这一点同while语句是有区别的。 2.如果dowhile语句的循环体部分是由多个语句组成的话,则必须用左、右花括号括起来,使其形成复合语句。 3.C语言中的dowhile语句是在表达式的值为“真”时重复执行循环体,这一点同别的语言中的类似语句有区别,在程序设计时应引起注意。,例【5.2】:用dowhile语句,编程求解例5.1题(求123100的和)。 # include main( ) int i,sum ; i=1; sum=0; do sum+=i; i+; while (i=100) ; printf (”sum=%dn”,sum); ,图5-4 例5.3程序流程图,程序运

4、行结果:,back,三、for循环语句,for循环语句的一般形式如下所示: for (表达式1;表达式2;表达式3) 语句 (即循环体部分),(a)流程图 (b)N-S图 图5-5 for语句,说明:,1.for语句中的任何一个表达式都可以省略,但其中的分号一定要保留,当省略表达式2时,相当于“无限循环”(循环条件总为“真”),这时就需要在for 语句的循环体中设置相应的语句来结束循环。 2.如果for语句的循环体部分是由多个语句组成的,则必须写成复合语句的形式。,3.for语句中的表达式1和表达式3 既要中是一个简单表达式,也可以是由逗号连接的多个表达式。 如: for (i=1,sum=0

5、;i=50;i+,i+) sum+=i ; 4.表达式1可以只有设置循环变量初值的赋值表达式,也可以还有与循环变量无关的其它表达式。表达式3也类似。,例【5.3】用for 语句编程统计50名学生成绩的平均值。 程序如下: #include main( ) int i,score ; float sum=0,ave ; printf(“Input score:n”); for (i=1 ;i=50 ;i+) scanf(“%d”, printf (”ave=%fn” ,ave) ; ,back,四、break语句和continue语句,5.4.1 break语句 break语句的一般形式如下所示

6、: break ;,说明: 1.break语句只能用于循环语句或switch语句中,如果在程序中有下列语句: if ( ) break ; 2.由于循环语句的循环体部分还可以是循环语句,这样,循环语句就可以嵌套使用。在循环语句嵌套使用的情况下,break语句只能跳出(或终止)它所在的循环,而不能同时跳出(或终止)多层循环,如: for ( ) for ( ) break; ,例【5.4】从键盘上连续输入字符,并统计其中大写字母的个 数,直到输入“换行”字符时结束。 程序如下: #include void main( ) char ch; int sum; sum=0; while (1) ch

7、=getchar( ); if (ch= =n) break; if (ch=A & ch=Z) sum+; printf (“ sum=%d “,sum); ,5.4.2 continue语句,continue语句只能出现在循环体中,它的一般形式如下: continue ;,【例5.8】 把100200之间的不能被7整除的数输出。 程序如下: #include main( ) int n ; for (n=100;n=200;n+) if (n%7= = 0) continue ; printf (“ %d “,n) ; ,back,五、循环结构的嵌套,当一个循环成为另一个循环的循环体时,就

8、形成了循环的嵌套,注意 :,1.内层循环必须完全包含在外层循环中,不得交叉。 2.并列循环允许使用相同的循环变量 。 3.允许用break或goto语句将控制从循环体内转移到循环体外,也允许用goto或continue语句将控制在循环体内转移,但不允许用任何方式从循环体外转移到循环体内。 4.在多重循环中,break只能退出其所在的一层循环 。,例【5.5】输出100200之间的所有素数。 程序如下: #include #include main( ) int n,m,i,flag,t=0; for ( n=100;n=200;n+) if (t%10=0) printf(“n“); /* 每

9、输出10个数,则换行 */ m=sqrt (n); flag=1; for (i=2;i=m;i+) if (n%i=0) flag=0; break; if(flag) printf (“%d “,n); t=t+1; ,程序运行结果:,back,六、循环结构程序设计举例,四种循环的区别: 1.四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。 2.while和dowhile循环,只在while后面指定循环条件,在循环体中包含应反复执行的操作语句,包括使循环趋于结束的语句(如i+,或i=i+1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,

10、甚至可以将循环体中的操作全部放到表达式3中。因此for 语句的功能更强,凡用while循环能完成的,用for循环都能实现。,3.用while和dowhile循环时,循环变量初始化的操作应在while和dowhile语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。 4.while和for 循环是先判断表达式,后执行循环体语句;而dowhile循环是先执行循环体语句,后判断表达式。 5.对while循环、dowhile循环和for循环,可以用break语句跳出循环体,用continue语句结束本次循环。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。,例【5.6】求斐波拉契(Fibonacci)数列:1,1,2,3,5,8的前40个数。 由题中给出的示例可以看到,此数列的数据变化满足下面的规律: F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n),程序如下: # include main( ) long int f1,f2; int i; f1=1;f21; for (i=1;i=20 ;i+) printf (”%10ld %10ld ”,f1,f2); if (i%2= = 0) printf (”n”); f1=f1+f2; f2=f2+f1; ,程序运行结果:,back,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号