第三章程序流程控制结构.pptVIP

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章程序流程控制结构

【例3-9】求2个正整数 m,n 的最大公约数。 分析 对于这类问题,多用“辗转相除法”,又称欧几里德法。 ㈠ 输入 m,n; ㈡ 以 n 除 m,得余数 r (0≤r≤n); ㈢ 判断余数 r 是否为0,若=0,当前除数 n 即为最大公约数, 结束。否则执行㈣; ㈣ r≠0,更新被除数和除数(被除数为原除数,除数为余数), 再执行㈡。 #include stdio.h void main(void) { int m, n, a, b ,r; scanf(“%d%d”, m, n); a = m; b = n; do { r = a%b; a = b; b = r; } while (r != 0); printf(“ %d和%d的 最大公约数是 %d\n”, m, n, a); } 【例3-9】求2个正整数 m,n 的最大公约数。 #include stdio.h void main(void) { int m, n, r=0; scanf(%d%d, m, n); do r ++; while (m%r==0 n%r==0); printf(%d和%d的最大公约数是%d\n, m, n, --r); } for 循环 语法:for (表达式1; 表达式2; 表达式3) 语句S;  表达式2为真? 语句S 表达式1 表达式3 Y N 功能:先运算表达式1(赋初值)。 运算表达式2(循环终止条 件),若其运算结果≠0 (为真),则执行语句S,之 后先运算表达式 3(步进条 件),并再次运算表达式2, 若结果仍≠0,则再次执行 语句S,直至运算结果=0 (为假) ,结束循环。 【注】 ① 表达式1、2、3 分别对应初值、终值、步长(某种意义 上); ② 语句S可为简单/复合语句; ③ 表达式1只执行一次。表达式2、3可能执行多次; ④ 表达式1、2、3 可以省略之一、二或全部。但 2 分号不 可略; ⑤ 可使用逗号运算符来扩大for语句的作用范围(多句); ⑥ for 循环不仅可用于已知次数的循环,亦可用于未知次 数的循环;不仅可用于整数控制量,亦可实数控制量; ⑦ 允许嵌套; for 循环 【例】输出100~200之间的能被3整除的整数。 #include stdio.h void main(void) { int n; for (n=100; n=200; n++) if (n%3==0) printf(“%d\n”, n); } 【例】解释下列 for 语句的功能 for (x=0.3; x=5.0; x+=0.1) for (; ;) for (n=1; ;n++) int up, down; for (up=1, down=9; up=down; up++, down--) 置x初值0.3,终值5.0,每循环1次,步长加0.1 while (1) /* 无穷循环 */ n置初值1,无穷循环,每循环1次,n+1 置 up=1 每循环一次使 up ++ 直至 updown down=9 down -- (双向对进) #include stdio.h void main(void) { int m, n, i; printf(“输入2个整数:”); scanf(“%d%d”, m, n); // 求最小公倍数 for (i=mn? m: n; !(i%m==0 i%n==0); i++); printf(“%d和%d的最小公倍数为:%d

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档