第章循环控制.pptx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第章循环控制.pptx》由会员分享,可在线阅读,更多相关《第章循环控制.pptx(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 6.1 goto 6.1 goto 语句语句 goto语句被称为无条件转向语。语句被称为无条件转向语。 格式:格式:goto 语句标号语句标号; 功能:功能: 遇到遇到 goto语句,就转到语句标号处继语句,就转到语句标号处继 续执行。多与续执行。多与if语句配合实现循环。语句配合实现循环。 一般说来求和分为两种情况:数据有规律与无规律。一般说来求和分为两种情况:数据有规律与无规律。100211001ii9152i 1、设一个变量、设一个变量sum作为累加器并赋初值作为累加器并赋初值0; 2、输入数据或利用某变量自动产生一个数据;、输入数据或利用某变量自动产生一个数据; 3、利用赋值语句先算
2、右边表达式的特点,执行语句:、利用赋值语句先算右边表达式的特点,执行语句: sumsum+变量变量; 求累加和。求累加和。例程例程 6-1 6-1 : :算法:算法:100211001iivoid main ( ) int i=1, sum=0; L: if ( i=100 ) / 判断结束条件判断结束条件 sum=sum+i; i+; goto L; printf(”sum=%d, sum);结果:结果:sum=5050void main ( ) int sum=0, i=0; L: sum=sum+i; i + +; if (i=100) goto L; printf (%d , sum)
3、;算法二算法二:建议:建议:尽可能的不用尽可能的不用gotogoto语句,以免破坏语句,以免破坏程序的结构化。程序的结构化。void main() int x, sum=0; L1: scanf(“%d”,&x); if(x=-999) goto L2 sum=sum+x; goto L1; L2: printf(“x=%d”,x);算法三算法三: -999是结束标志,只是结束标志,只要是不参与运算的数均要是不参与运算的数均可作为结束标志。可作为结束标志。C语言一般采用三种形式循环语言一般采用三种形式循环 1. while 语句语句 2. do while 语句语句 3. for语句语句1.
4、while1. while语句格式语句格式: :while( 表达式表达式 ) 1句或复合句句或复合句do 1句或复合句句或复合句 while( 表达式表达式) do-while do-while格式语句:格式语句:6.2 6.2 循环结构循环结构下一语句下一语句表达式表达式语句语句=1=0while( 表达式表达式 ) 多条语句多条语句 语句语句 表达式表达式=1=0下一语句下一语句do 多条语句多条语句 while( 表达式表达式)2. 2. 流程图流程图: :while语句:语句: 先判断,后执行,先判断,后执行, 最小循环次数最小循环次数=0。3. 3.特点:特点:dowhile语句:
5、语句: 先执行,后判断,先执行,后判断, 最小循环次数最小循环次数1 100211001iiwhile(i=100) sum+=i; i+;do sum+=i; i+; while(i=100) 例如:例如: 1. 循环体中循环体中至少应有一条能改变表达式值的语至少应有一条能改变表达式值的语句,使循环进行若干次后,句,使循环进行若干次后,表达式值为假结束循表达式值为假结束循环,否则将造成无限循环。环,否则将造成无限循环。 2若不改变循环控制条件,可利用若不改变循环控制条件,可利用break或或if-goto语句强行退出本层循环。语句强行退出本层循环。4. 4.说明:说明: #include v
6、oid main( ) char ch ; int num=0, chn=0 ; while( ( ch=getchar() ) !=n ) if ( ch= 0 & ch= 9 ) num+; else chn+; printf( “ num=%d , chn=%d n”, num , chn ) ;例程例程6-2:6-2:分别统计输入的字符串中数字和其他分别统计输入的字符串中数字和其他字符的个数。字符的个数。从键盘输入一个数,将其数字按逆序输出。从键盘输入一个数,将其数字按逆序输出。void main() int x,d; printf(“输入一个正整数:输入一个正整数:”); scanf
7、(“%d”,&x); do d=x%10; printf(“%d”,d); x=x/10; while(x!=0);例程例程6-3 :6-3 :格式:格式:一种形式更为灵活的循环语句。一种形式更为灵活的循环语句。for( 初始初始表达式表达式; 条件表达式条件表达式; 循环表达式循环表达式 ) n条条语句语句 赋初值赋初值判断表达式判断表达式2 2语句语句 改变循环条件改变循环条件结束结束forfor语句语句=0(=0(假假) )1 1流程图流程图: :用用for语句求累加和:语句求累加和:for ( i=1; i=100; i+) sum+=i;for语句与语句与whilewhile、do-
8、whiledo-while互换用互换用, ,但但for直观、简单、方便。直观、简单、方便。i=1;while(i=100) sum+=i; i+i=1;do sum+=i; i+; while( i=100 ) for语句中的三个语句中的三个表达式均可部分或全部省表达式均可部分或全部省略略, 但须但须保留分号保留分号; 见见P.111。 for语句中条件测试总是在循环语句中条件测试总是在循环开始开始时进行。时进行。 x=10; for (y=10; y!=x; +y) / for循环一循环一次也不执行次也不执行 printf(“%d”,y);说明说明: :例如:例如: 条件表达式是任意合法的条
9、件表达式是任意合法的C表达式,一般不表达式,一般不 可省略可省略, 否则为无限循环。否则为无限循环。for ( i=1 ; ; i+ ) sum=sum+i ; while (1) sum=sum+i ; i+ ; 无限无限循环循环例如例如: : 循环表达式亦可省略循环表达式亦可省略, 但在循环体中必须有语句但在循环体中必须有语句 修修 改循环变量,能正常结束循环;改循环变量,能正常结束循环; 赋值表达式赋值表达式 可移至可移至for语句之前,不影响循环执行。语句之前,不影响循环执行。sum=0; i=1; for ( ; i=100 ; ) sum=sum+i; i+; for ( i=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 控制
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内