第六章循环结构程序设计 本章内容 1循环结构概述 2goto语句及用got语句构成的循环 3 While语句的使用 4 Do While语句的使用 5For语句的使用 6循环的嵌套 7 Break语句和 Continue语句的使用 8程序举例
第六章 循环结构程序设计 本章内容 1.循环结构概述 2.go to语句及用go to语句构成的循环 3.While语句的使用 4.Do While语句的使用 5.For 语句的使用 6.循环的嵌套 7.Break语句和Continue语句的使用 8.程序举例
概述 ■循环结构是程序中一种很重要的结构。其特点是,在给定 条件成立时,反复执行某一程序段,直到条件不成立为止。 ■给定的条件称为循环条件,反复执行的程序段称为循环体 C语言提供多种循环语句,组成各种不同形式的循环结构。 (1)用goto语句和语句构成循环 (2)用 while语句 (3)用do- while语句 (4)用for语句
概 述 循环结构是程序中一种很重要的结构。其特点是,在给定 条件成立时,反复执行某一程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供多种循环语句,组成各种不同形式的循环结构。 (1)用goto语句和if语句构成循环 (2)用while语句 (3)用do--while语句 (4)用for语句
循环结构类型 a)当型循环 b)直到循环 表达式 语句 Y 语句 表达式>
表达式 语句 表达式 语句 a) 当型循环 b) 直到循环 Y N N Y 循环结构类型
goto语句及用goto语句构成的循环 无条件转移语句—g0to语句 般格式:goto语句标号; ■语句标号是按标识符规定书写的符号,放在某一语句行的 前面,标号后加冒号(:) ■语句标号起标识语句的作用,与goto语句配合使用。 如: labell:i++; goto labell; C语言不限制程序中使用标号的次数,但各标号不得重名。 ■goto语句的语义是改变程序流向,转去执行语句标号所标识 的语句
无条件转移语句——goto语句 一般格式: goto 语句标号; 语句标号是按标识符规定书写的符号,放在某一语句行的 前面,标号后加冒号(:)。 语句标号起标识语句的作用,与goto语句配合使用。 goto语句及用goto语句构成的循环 C语言不限制程序中使用标号的次数,但各标号不得重名。 goto语句的语义是改变程序流向,转去执行语句标号所标识 的语句。 如: label1: i++; goto label1;
用goto语句与i语句实现循环 形式1: 形式2: loop loopl 语句; if(表达式) goto loop2; if(表达式) goto loop1; 语句; goto loopl; loop. 注意:在结构化程序设计中一般不主张使用goo语句,以 免造成程序流程的混乱,使理解和调试程序都产生困难
用goto语句与if语句实现循环 形式1: loop1: 语句; if (表达式)goto loop1; 形式2: loop1: if (表达式)goto loop2; 语句; goto loop1; loop2 : 注意:在结构化程序设计中一般不主张使用goto语句, 以 免造成程序流程的混乱,使理解和调试程序都产生困难
例1:编程序求:s=1+2+3+.+100 10 main main dint s=0, n=1; fint s=0, n=1 loopl: loop: if(n>100)goto loop2; s=S+n S=S+n: n++ n++; if(n<=100) goto loop; goto loop1; p rn itf( S=%d",s); loop2: printf("s=ood" S
例1: 编程序求:s=1+2+3+……+100 main() { int s=0,n=1; loop: s=s+n; n++; if (n100) goto loop2; s=s+n; n++; goto loop1; loop2: printf("S=%d",s); }
例2:统计从键盘输入一行字符的个数。 #include' stdio h void main Int n=u printf( input a string in) loop: if(getchar="n") n+十 goto loop printf("%d,n);
#include"stdio.h" void main() { int n=0; printf("input a string\n"); loop: if(getchar()!='\n') { n++; goto loop; } printf("%d",n); } 例2:统计从键盘输入一行字符的个数
while语句 whle语句的一般形式为: whil(表达式) 表达式N 语句; 其中表达式是循环条件,语句为循 环体,若是多个语句则必须用{}组成 语句 复合语句。 执行过程是:计算表达式的值,当值为真(非0)时 执行循环体语句。如右上图
while 语句 执行过程是:计算表达式的值,当值为真(非0)时, 执行循环体语句。如右上图。 while语句的一般形式为: while(表达式) 语句; 其中表达式是循环条件,语句为循 环体,若是多个语句则必须用{ }组成 复合语句。 表达式 语句 Y N
例1:编程序求:s=1+2+3+.+100 void maino fint s=0, n=1; while(n<=100) f S=S+n n++ printf(s=%d " s);
例1: 编程序求:s=1+2+3+……+100 void main() { int s=0,n=1; while (n<=100) { s=s+n; n++; } printf("S=%d",s); }
Do- while语句 do-whil语句的一般形式为: do 语句; 语句 while(表达式); 其中:语句是循环体, 表达式 表达式是循环条件。 执行过程是:先执行循环体语句一次,再判别表达 式的值,若为真(非0)则继续循环,否则终止循环
do-while语句的一般形式为: do 语句; while (表达式); 其中:语句是循环体, 表达式是循环条件。 表达式 语句 N Y 执行过程是:先执行循环体语句一次, 再判别表达 式的值,若为真(非0)则继续循环,否则终止循环。 Do—while语句