第四章 循环控制结构程序设计v1.0.pptVIP

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

大一考四六级与大二考,大一先看英语分数=79? * 发现作弊就不用再考了,作业也是;买不超过一1000元的东西,一发现就不买了,然后再看其他东西 * 屏幕宽80字符,中间就是40,中间左边有38个空格 40-2*i或者40-i都可以; 在第二个for循环中i的值还是1,不是2 * * * * 1. C中的三种循环语句while(),do-while(), for() 都可由表达式控制重复执行一个循环体,都可以用来解决同一个问题,一般情况下,可以相互代替。 2. 三种循环各有特点: ( 1 ) 当循环次数及条件在程序运行中才能确定时,选用while( )或do-while( )语句 两者区别:while( ) 顶部测试,可能一次也不执行 do-while( ) 底部测试,至少执行一次 5.5.1 三种循环语句的区别 * * ( 2 ) 如果初值,条件明显,循环次数已给出,选用for()语句,功能最强 ( 3 ) 出现“死循环”的几种情况 for(… ;… ; … ) for( … ; 非零常数表达式;……) while(非零常数表达式) do_while(非零常数表达式) 三种循环各有特点 * * 在循环体中,又包含有循环结构。例如: main() { int i,j,k; k=0; for ( i=1;i=10;i++ ) for ( j=1;j=10;j++ ) k++; printf(“k=%d\n\n”,k); getch(); } 5.5.2 循环语句的嵌套 一、循环嵌套的概念 循环嵌套的运行过程:外层循环取一个值,内层循环取遍所有的值。故上述程序的输出结果为: k=100 * * 1 2 3 4 5 6 7 8 9 -------------------------------------------------- 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 在循环体中,又包含有循环结构。 行循环中包含了列循环。 外层循环 i 控制打印9行,内层循环 j 控制每行打印i列。 例如打印九九表 * * 外循环 内循环 交叉循环 ? 外循环 入口 内循环出口 内循环出口 外循环出口 百钱百鸡问题:每只公鸡5个钱,每只母鸡3个钱,每3只小鸡1个钱,用100个钱,买100只鸡,问公鸡、母鸡和小鸡各买几只? 二、嵌套结构的规则及应用 内外循环不能交叉 * * 分 析 定义变量x,y,z ,表示公鸡、母鸡和小鸡的只数 main( ) { int x,y,z; for( x=1;x=100;x++) for( y=1;y=100;y++) for( z=1;z=100;z++) if(5*x+3*y+z/3==100x+y+z==100) printf(“%d,%d,%d\n”,x,y,z); } 程序运算100万次 百钱百鸡问题程序 * * x最多为20,y最多为34,当x,y已确定时,z的值为100-x-y main() { int x,y,z; for(x=1;x20;x++) for(y=1;y34;y++) { z=100-x-y; if(5*x+3*y+z/3==100) printf(“%d,%d,%d\n”,x,y,z); } } 共六组解: x y z 3 20 77 4 18 78 7 13 80 8 11 81 11 6 83 12 4 84 所求的z不能被3整除如何解决? 百钱百鸡程序的改进 * * 解决所求的z不能被3整除用z%3==0 main() { int x,y,z; for(x=1;x20;x++) for(y=1;y34;y++) { z=100-x-y; if((5*x+3*y+z/3==10

文档评论(0)

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

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

1亿VIP精品文档

相关文档