文档详情

六章循环结构程序设计.ppt

发布:2017-03-24约9.27千字共43页下载文档
文本预览下载声明
第六章 循环结构程序设计 6.1 while语句 6.2 do-while语句 6.3 for语句 6.4 多重循环 6.5 continue和break语句 6.6 练习 6.7 程序设计举例 6.8 作业和实验 6.1 while语句 1. 形式:while(表达式) 循环体 2. 执行过程:先判断,后执行。 例1 用while语句求1+2+3+…+99+100的值。 3. 说明 (1)while语句是先判断, 后执行。 如果循环条件一开始就不成立(条件表达式为假), 则循环一次都不执行。 (2)while循环中的表达式一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非零,就可执行循环体。 (3)循环体为多条语句时, 必须采用复合语句,要加上一对花括号。 (4)循环体中必须有改变循环条件的语句, 否则循环不能终止, 形成死循环。 #includestdio.h main( ) {int m=0; char ch; ch=getchar( ); while(ch!=‘\n’) {m++; ch=getchar( ); } printf(“%d”, m); } 6.2 do-while语句 1. 形式:do 循环体 while(表达式) ; 2. 执行过程:先执行,后判断。 例3 用do-while语句求1+2+3+…+99+100的值。 3. 说明 (1)do-while语句是先执行, 后判断。如果循环的条件一开始就不成立, 循环也将执行一次。 (2)do-while循环中的表达式一般也是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非零,就可执行循环体。 (3)循环体为多条语句时必须采用复合语句。  (4)与while语句一样, 循环体中同样必须有改变循环条件的语句, 否则循环不能终止,将形成死循环。  (5)对于同一个问题,while循环与do-while循环的条件表达式是完全相同的。 6.3 for语句 1. 形式: for( 表达式1 ; 表达式2 ; 表达式3) 循环体 2. 执行过程:先判断,后执行。 例 for(a=1; a=3; a++) printf(“%d”, a); 执行步骤: ①执行a=1,a值为1。 ②判断a=3,成立,输出1。 ③执行a++,a值为2。 ④判断a=3,成立,输出2。 ⑤执行a++,a值为3。 ⑥判断a=3,成立,输出3。 ⑦执行a++,a值为4。 ⑧判断a=3,不成立,循环结束。 3. 说明 (1)for语句是先判断,后执行。如果循环条件一开始就不成立,则循环一次都不执行。 (2)for语句的使用很灵活,形式多样化。 (3)循环体为多条语句时, 必须采用复合语句,要加上一对花括号。 (4)循环变量的增值并不受限于1,可以为正,也可为负。但必须使循环变量的值发生改变,使循环条件能趋向假,否则会造成死循环。 4. for语句的灵活使用 (1)for语句中的初始化表达式和增值表达式也常为逗号表达式。 如:for(sum=0, i=1; i=100; i++) sum=sum+i; 又如:for(a=0, b=8; ab; a++, b--) x=a+b; (2)for语句中的初始化表达式和增值表达式可以省略,但两个分号不能省略。此时,for语句与while语句完全等价。 例5可改写成如下形式: main( ) {int i, sum=0; i=1; for( ; i=100 ; ) {sum=sum+i; i++; } printf(“%d”, sum); } (3)循环条件不一定是循环变量和某个目标值的比较。 例4可改用for语句来实现: #includestdio.h main( ) {int m ; char ch; for(m=0; ( ch=getchar( ) ) !=‘\n’ ; m++ ) ; printf(“%d”, m); } 比较:几种循环可互相替换,其中for语句的功能最强,使用最灵活。 goto语句(无条件转向语句) 1. 形式:goto 标号; 2. 功能:将程序流程无条件地转移到标
显示全部
相似文档