c语言第6章 循环控制.ppt

上传人:思*** 文档编号:1080179 上传时间:2019-09-22 格式:PPT 页数:32 大小:551.50KB
返回 下载 相关 举报
c语言第6章 循环控制.ppt_第1页
第1页 / 共32页
c语言第6章 循环控制.ppt_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《c语言第6章 循环控制.ppt》由会员分享,可在线阅读,更多相关《c语言第6章 循环控制.ppt(32页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第 六 章 循环控制,用于解决语句的重复执行,以克服一条语句只能执行一次的限制。几种简要的循环结构 break 和 continue 语句 for 语句的变化形式循环嵌套,第六章 循环控制,问题: 10 求 sum= i i=1 int sum; sum = 1+2+3+4+5+6+7+8+9+10; 100 求 sum= i ? i=1 n 求 sum= i ? (n由键盘输入) i=1,第六章 循环控制,问题: 10 求 sum= i i=1 i=1;sum=0; sum = 部分累加和 + i (i=110),sum = sum + i ; i+; . 十行 sum = sum + i

2、; i +;,6.1几种简要的循环结构,1.用 for 语句实现#include main() int i,sum=0; for (i=1; i=10; i+) sum=sum+i; printf(%d,sum); ,重复执行的语句,规定重复次数,i=100; i+),for 语句,for 语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 一条要反复执行的语句 ;,三个独立的表达式,for (i=1; i=10; i+) sum=sum+i;,循环继续表达式,for 语句,for 语句格式: for(初值表达式;循环继续表达式;循环变化表达式) 一条要反复执行的语句 ; 执行流

3、程:,循环变量初值表达式,一条要反复执行的语句,循环变量变化表达式,下一条语句,不满足,i=10,for 语句,执行流程:,i=1,sum=sum+i,i+,printf(%d,sum);,不满足,循环结构后面的语句,for (i=1; i0; i- -) sum=sum+i; printf(%d,sum);,while 语句,while (条件) 重复执行的一条语句; 不满足 满足,重复执行的语句;,后一语句;,条件?,复合语句,while 语句,while 实现要点 整个循环由 i 控制,i 称循环变量 i=1; 循环变量必须有初值 while (i=10) 继续循环的条件 sum=sum

4、+i; i+; 循环变量的改变 ,循环体,while 语句,for 语句与while 语句比较 main() int i,sum=0; i=1; for (i=1; i=10; i+) while (i0) sum+ = x ; scanf(“%d”, ,sum-x);,scanf(“%d”, ,编写数列求和程序: 1+ 1/2+1/3+1/4+.+1/n,main( ) int i, n; float y=0; scanf(“%d”, ,1/1+1/2+1/3+1/4+.+1/n,当精度达到: 第n项 4 ? (1) 12345%100/10 (2) 12345/10%10,(1)反复执行

5、x%10 x=x/10(2)何时结束 x= =0scanf( “%d”, ,循环结构的实现,循环实现要点:(1) 找出什么要反复执行 (2) 重复到何时结束 假定输入x=12345 顺序输出,从高位开始分割,12345 /10000 = 1 12345 %10000 =23452345 /1000 = 2 2345%1000 =345345 /100 = 3 345%100 =4545 /10 = 4 45%10 =55/1= 5 5%1=5,(1)开始如何得到10000 找输入数据的位数 d=1; for ( i=10; x/i0 ; i=i*10) d+ ;(2) 每次循环缩小10倍(3)

6、 缩小到 0 结束,6.2 break 和 continue 语句,例:读入一行字符(不超过10个),给予输出 #include stdio.h main() char c; int i=0; for (i=0;i=10 是结束条件 */ c=getchar(); putchar(c); ,if (c=n) break;,/* c=回车 也是结束条件 */,有两个条件决定循环的结束,main() char c; int i=0; for (i=0; i10 & c! =n; i+) putchar(c);两个结束条件合并 c=getchar(); ,c=getchar();,真(非0),bre

7、ak 流程,for的下一条语句,假(0),表达式1,表达式2,语 句1,表达式3,否,break,语 句2,循环体,是,程序:for (表1;表2;表3) 语句1 ; if ( . ) break ; 语句2 ; for后的下一条语句;,是,真(非0),continue 流程,for的下一条语句,假(0),表达式1,表达式2,语 句1,表达式3,否,continue,语 句2,循环体,程序:for (表1;表2;表3) 语句1 ; if ( . ) continue; 语句2 ; for后的下一条语句;,continue 语句例子,#include stdio.h main() char c;

8、 int i; for (i=0;i=10 是结束条件 */ c=getchar(); if (c=n) continue; putchar(c); /* c=回车 也是结束条件 */ 问:若把break 改成 continue, 结果会怎样?,输入:abc efgh 123 ,输出:abcefgh1,6.3 for 语句的变化形式,原形: int i,sum=0; for (i=1; i=10; i+) sum=sum+i; i=10,sum=0;,i=1;,sum=sum+i,i+,下一条语句,变形1 int i=1 , sum=0; for ( ;i=10; i+) sum= sum+i

9、;,变形2 int i=1, sum=0; for ( ; i=10 ; ) sum = sum+i; i+; ,相当于: while,6.3 for 语句的变化形式,原形: int i,sum=0; for (i=1; i=10; i+) sum=sum+i; i=10,sum=0;,i=1;,sum=sum+i,i+,下一条语句,变形3 int i=1,sum=0; for( ; ; ) 无限循环 sum=sum+i ; i+ ,变形4 int i,sum; for(i=1,sum=0;i10) break;,6.3 for 语句的变化形式,原形: int i,sum=0; for (i=

10、1; i10) break; 无限循环 sum=sum+i ; i+ 变形 int i,sum; for (i=1,sum=0 ; i=10; sum+=i, i+) ; 不管那一种变形,循环变量的初值、判断和变化表达式仍都存在,只是改变了所处的位置。,不管那一种变形,三个表达式的功能缺一不可,且执行流程不得改变。,原形: int i,sum=0; for (i=1; i=10; i+) sum=sum+i; i10) break; sum=sum+i ; i+ ,变形4 int i,sum; for(i=1,sum=0;i=10;sum+=i,i+); 无循环体语句,6.4循环嵌套,循环体中

11、又包含了循环语句称循环嵌套。例:求 S = 1!+2!+3!+ + n! 分析: 首先要循环n次来累加 i! for (i=1; i=n; i+) s = s + i! ; 如果存在求阶乘的运算!,计算完成。,嵌套,for (i=1; i=n; i+) t = i! ;s = s + t ; ,for (t=1, j=1 ; j=i; j+) t = t * j ;,t = t * i ;,6.4循环嵌套,循环嵌套均是大循环包小循环 绝对不允许循环体交叉 ! for ( ) . do . while(.),for ( ) . do . while(.) ,程序举例,2.打印以下图案: * * * * *,

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

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com