新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计

上传人:w****i 文档编号:92579890 上传时间:2019-07-11 格式:PPS 页数:72 大小:959KB
返回 下载 相关 举报
新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计_第1页
第1页 / 共72页
新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计_第2页
第2页 / 共72页
新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计_第3页
第3页 / 共72页
新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计_第4页
第4页 / 共72页
新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计》由会员分享,可在线阅读,更多相关《新编C语言程序设计教程 教学课件 ppt 作者 钱雪忠★★★《新编C语言程序设计教程》课件第6章 循环结构程序设计(72页珍藏版)》请在金锄头文库上搜索。

1、循环结构是程序中一种很重要的控制结构,它充分发挥了计算机擅长自动重复运算的特点,使计算机能反复执行一组语句,直到满足某个特定的条件为止,循环结构程序最能体现程序的功能魅力。C语言提供了实现重复操作的多种循环语句,它们是:while语句、dowhile语句和for语句等。这3种循环语句功能相当,都能实现在某条件下反复执行某程序段的功能。多种循环语句的综合或嵌套使用,可以实现各种不同的复杂程序功能,这很灵活也非常有用。能正确、灵活、熟练、巧妙地掌握和运用它们是程序设计的基本要求。,第6章 循环结构程序设计,学习重点和难点: 循环的概念 循环的基本语句结构和流程 continue语句和break语句

2、 循环的嵌套 循环在常用算法中的应用 学习本章后将会领略到C语言循环结构程序的复杂与功能魅力,将有能力编写更复杂功能的程序。,第6章 循环结构程序设计,6.1 概述 6.2 goto语句简介 6.3 while语句的用法 6.4 do-while语句的用法 6.5 for语句的用法 6.6 循环的比较及其嵌套,第6章 循环结构程序设计,6.7 break和continue语句用法 6.8 应用实例 6.9 本章小结 6.10 习题 实验6 循环结构程序设计,6.1 概述,循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,

3、反复执行的程序段称为循环体。语言提供了多种循环语句,可以组成如下4种不同形式的循环结构。 1)用goto语句和if语句构成循环; 2)用while语句; 3)用do-while语句; 4)用for语句。,6.2 goto语句简介,goto语句是一种无条件转移语句,与BASIC中的goto语句相似。 goto 语句的使用格式为:goto 语句标号; 其中标号是一个有效的标识符,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句后,程序将跳转到该标号处并执行其后的语句。另外,标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。通常goto语句与if条件语句连用,当满足某一条

4、件时,程序跳到标号处运行。,6.2 goto语句简介,【例6-1】 用goto语句计算从1加到100的值。 main() int i=1,sum=0; label1: sum=sum+i; i+; if (i=100) goto label1; printf(“%dn“,sum); ,6.2 goto语句简介,goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时,用goto语句则比较合理。,6.3 while语句的用法,while语句的一般形式为:while(表达式) 语句; 其中表达式是循环条件,语句为循环体,当语句是复合语句时一般应省略分号“;”。 while语句

5、的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句,一旦循环体语句执行完毕,表达式中的值将会被重新计算,如果还是为非0,语句将会再次执行,这样一直重复下去,直至表达式中的值为假(0)为止。,循环条件,循环体,6.3 while语句的用法,while语句执行过程如下图所示。,图6.1 while语句的执行逻辑,循环条件,循环体,6.3 while语句的用法,【例6-2】 用while语句计算从1加到100的值。用传统流程图和N-S结构流程图表示算法。,图6.2 例6-2流程图 图6.3 例6-2N-S结构流程图,6.3 while语句的用法,【例6-2】 用while语句计算从1加到1

6、00的值。,#include main() int i,sum=0; i=1;/变量定义与初始化不能少 while(i=100) /循环体为复合语句 sum=sum+i; i+; printf(“%dn“,sum); ,注意:本例的while循环也可改为: while(i=100) sum=sum+i+; /循环体为单语句,循环体,循环条件,6.3 while语句的用法,【例6-3】 统计从键盘输入一行字符的个数。 main() int n=0;printf(“input a string:n“); while(getchar()!=n) n+; / 循环体为n+ printf(“%d“,n)

7、; 说明:本例程序中的循环条件为getchar()!=n其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n+完成对输入字符个数的计数。 注意:使用while语句时,while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。,6.3 while语句的用法,【例6-4】 输出0、2、4、连续n个偶数(n0)。 main() int a=0,n; printf(“input n:“); scanf(“%d“, a+)。 思考:以上程序输入负的n值,程序的运行情况如何?该如何完善程序。 注意:循环体如果包括有一个以上的语句,则必须用括起来,组成复合语句。,6.

8、4 do-while语句的用法,do-while语句的一般形式为: do 语句; while(表达式); 这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真(非0),如果为真则继续循环;如果为假(0),则终止循环。,6.4 do-while语句的用法,因此,do-while循环至少要执行一次循环语句。其执行过程可用下图表示。 图6.4 do-while语句执行逻辑,【例6-5】 用do-while语句计算从1加到100的值 main() int i,sum=0; i=1; do / 循环体至少执行一次 sum=sum+i; i+; while(i=100); p

9、rintf(“%dn“,sum); ,6.4 do-while语句的用法,6.4 do-while语句的用法,同样当有许多语句参加循环时,要用“和“把它们括起来。而循环体为单语句时,可以省略“和“。如本例可改为: main() int i,sum=0; i=1; do sum=sum+i+; / 循环体为单语句 while(i=100); printf(“%dn“,sum); ,6.4 do-while语句的用法,【例6-6】 while和do-while循环比较。如下两段程序输入i,从i累加到10,并显示累加值。 思考:请能实际运行比较,说出两程序的不同点。,6.5 for语句的用法,在C语

10、言中,for语句使用最为灵活,它完全可以取代 while 语句或do-while语句。 它的一般形式为: for(表达式1; 表达式2; 表达式3) 语句;,设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值执行,6.5 for语句的用法,在C语言中,for语句使用最为灵活,它完全可以取代 while 语句或do-while语句。 它的一般形式为: for(表达式1; 表达式2; 表达式3) 语句;,循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环,6.5 for语句的用法,在C语言中,for语句使用最为灵活,它完全可以取代 while 语

11、句或do-while语句。 它的一般形式为: for(表达式1; 表达式2; 表达式3) 语句;,作为循环的调整器,例如使循环变量增值,它是在执行完循环体后才进行的,6.5 for语句的用法,for语句执行过程如下: 1)先求解表达式1。 2)求解表达式2,若其值为真(非0),则执行for语句中指定的(内嵌)语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。 3)求解表达式3。 4)转回上面第2)步继续执行。 5)循环结束,执行for语句下面的一个语句。,6.5 for语句的用法,for语句执行过程可用下图表示,图6.5 for语句执行逻辑,循环前最先执行,并只执行一次,

12、表达式2值为“真”,才执行循环体“语句”,6.5 for语句的用法,for语句最简单的应用形式也是最容易理解的形式如下: for(循环变量赋初值; 循环条件; 循环变量增量) 语句; 循环变量赋初值总是一个赋值语句,它用来给循环控制变量赋初值;循环条件是一个关系表达式,它决定什么时候退出循环;循环变量增量,定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用“;”分开。,6.5 for语句的用法,例如: for(i=1; i100时,结束循环。相当于: i=1; while(i=100) sum=sum+i; i+; ,试着改变表达式1、2或3来领会for循环的不同功能。,6.5 fo

13、r语句的用法,对于for循环中语句的一般形式,就是如下的while循环形式: 表达式1; While(表达式2) 语句; 表达式3; ,6.5 for语句的用法,6.5 for语句的用法,6.5 for语句的用法,6.5 for语句的用法,for (sum=0 ; i=100; i+) sum=sum+i;,与循环变量无关 合法,6.5 for语句的用法,for(sum=0,i=1 ; i=100; i+) sum=sum+i;,逗号表达式 合法,for(i=0,j=100 ; i=j; i+,j- ) k=i+j;,6.5 for语句的用法,for(i=0; (c=getchar()!=n;

14、 i+=c) ;,合法,for( ; (c=getchar()!=n; ) printf(%c,c);,6.6 循环的比较及其嵌套,1、循环的比较 四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环。 while和do-while循环,循环体中应包括使循环趋于结束的语句。 for语句功能最强,强在其语句表达简洁、紧凑,能完全替代while和do-while循环。 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在“表达式1”中实现循环变量的初始化。,6.6 循环的比较及其嵌套,2、循环的嵌套

15、一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多重循环。上述三种循环(while循环,do-while循环和for循环)语句之间可以相互嵌套使用。,6.6 循环的比较及其嵌套,例如,下面几种都是合法的嵌套形式: 二层嵌套有至少有9种组合嵌套形式(不包含并列内循环的情况),若嵌套到三层四层嵌套组合形式将更多,真可谓不胜枚举。实际编程中往往按方便性按需采用嵌套形式。,6.6 循环的比较及其嵌套,【例6-7】 显示3位二进制数的各种可能值得情况。 #include main() int i,j,k; printf(“i j kn“); for (i=0;

16、i2; i+) for(j=0; j2; j+) for(k=0; k2; k+) printf(“%d %d %dn“, i, j, k); ,6.7 break和continue语句用法,6.7.1 break语句 6.7.2 continue语句,语言循环中可以利用break或continue语句,来控制本循环是否提前结束或本次循环是否提前结束而进入下一次循环等,这样循环语句更具有灵活性与适应性。,6.7.1 break语句,break语句只能用在循环语句(while、do-while、for循环)和开关语句(switch语句)中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,循环语句可能会形成一个死循环而无法退出。break在switch 中的用

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

当前位置:首页 > 高等教育 > 其它相关文档

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