网站大量收购独家精品文档,联系QQ:2885784924

循环结构for语句资料.ppt

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
上次课的内容提要 循环结构程序的编写要点 分析问题,在求解过程中: 存在一个(些)运算(动作)需要重复进行(循环)若干次。 重复的次数是事先确定的,或者是根据条件确定的。 处理循环计算需要明确的三个问题: 循环体:哪些运算(动作)是需要重复进行的; 循环条件:重复这些运算的条件是什么,即在什么情况下终止/继续这个重复的过程。 循环准备:在进行重复的运算处理之前,需要进行的准备工作是什么; 这次课的主要内容 for语句 break语句 continue语句 循环嵌套 for语句的格式和含义 for语句的基本格式: for语句:1+2+...+100 for语句中的表达式 for语句的基本格式: 求最大公约数程序(for) for语句与while语句的等价关系 for语句的基本格式: 判断素数算法及程序 for语句小结 for语句小结(续) break语句的作用 break语句的作用(续) break语句的作用(续) continue语句的作用 continue语句的应用举例 循环嵌套的概念 筛法求不大于正整数N的所有素数 排列2,3,...,N,取出2,再从中删除2的倍数; 取出3,再从中删除3的倍数; 剩余的数中最小者k必为素数,取出k,再从中删除k的倍数;重复这一步,直到所有的数都已取走或被删除; 所有取出的数汇集在一起就形成了不大于N的素数表 筛法求素数 设有两个筛子,分别用sieve和prime标识,初始时prime为空,元素2~n放在sieve中 算法结束时,sieve为空,而不大于n的素数都放在prime中 百钱百鸡问题 中国古代数学家张丘建在他的《算经》中曾提出著名的“百钱百鸡问题”,其题目如下: 鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何? 百钱百鸡问题 百钱百鸡问题 百钱百鸡问题 百钱百鸡问题(for) 百钱百鸡问题(for续) 语句小结 表达式语句、赋值语句 if switch goto while do...while for break continue 作业 Programming in C 西安电子科技大学计算机学院 - School of Computer Science Engineering, Xidian University, China * C程序设计 Programming in C 西安电子科技大学计算机学院 张淑平 p A 成立 不成立 a b 循环结构1(while) p A a b 循环结构2(until) while语句的循环体执行0次或多次 while(表达式p) 循环体语句A; do-while语句的循环体执行1次或多次 do 循环体语句A; while(表达式p); for(表达式1;表达式2;表达式3) 循环体语句A for语句的含义: 1) 计算表达式1; 2) 计算表达式2,若表达式2的值为“假”,则结束for语句的执行,转4);否则,执行循环体语句A; 3) 计算表达式3, 然后转2); 4) 执行for语句之后的第一条语句; 表达式2? A 真 假 表达式1 表达式3 #include stdio.h main( ) { int i, s; printf( %d\n ,s); } TC2.0 B Y N I ← 1 S ← 0 I=100? S← S+I 输出S的值 开始 结束 I ← I+1 A C for(i = 1,s = 0; i = 100;i++) { s += i; } for(表达式1;表达式2;表达式3) 循环体语句A 一般情况下 表达式1进行循环计算的初始化处理 表达式2是循环的条件 表达式3进行的计算能够对表达式2的值产生影响 表达式2? A 真 假 表达式1 表达式3 #include stdio.h main( ) { int m, n, r; printf(input two integers:); scanf(%d%d,m,n); printf(\ngcd = %d\n ,n); } TC2.0 Y N r不等于0? 输出n的值 输入正整数m和n 开始 结束 m ← n; n ← r r←m被n除的余数 r←m被n除的余数 for(r = m % n; r != 0; r = m % n) { m = n; n = r; } fo

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档