kj-第5章循环结构程序的设计课件.ppt

kj-第5章循环结构程序的设计课件.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 循环结构程序的设计;本章概述;本章的学习目标;主要内容; 5.1 while语句和do-while语句;例 5.1 求1+3+5+7+…+99的值;;5.1.2 do-while语句;执行过程: (1)先执行循环体语句组。 (2)计算“循环继续条件”表达式。若“循环继续条件”表达式的值为非 0(真),则转向(1)继续执行;否则,转向(3)。 (3)执行do-while的下一条语句。;例5.2 从键盘输入若干个数求和,当和大于200时停止执行。 # include <stdio.h> int main() {int x,sum=0; do {scanf("%d",&x); sum+=x; }while(sum<=200); printf("sum=%d\n",sum); return 0; };本题思路:为了实现逆序输出一个正整数,需要把该数 按逆序逐位拆开,然后输出。从一个数中分离一位数, 可以对10求余.; 5.2 for语句; for语句是C语言中最灵活也是应用最广泛的循环结构, 可以替代while和do-while语句;1、for后面括号里的3个表达式都可以省略,但其中 的两个分号不能省略 for( ; ; ) printf(“######”);;5、若省略表达式1和表达式3,只有表达式2, 即只给循环条件,则在这种情况下,完全等 同于while语句 i=1; sum=0; for(;i<=10; ) {sum+=i; i++;} ;例5.5 输入一行字符并计算出字符个数 ;5.3 嵌套循环结构; 思路: 九九乘法表,共有9行;我们可以用一个循环变量i来依次表示第i(1 ≤ i ≤9)行; 对于第i行来说,它又有i个等式, 可以用一个循环变量j来依次表示第j(1 ≤ j ≤i)个等式;第i行第j列的等式刚好是j和i相乘的式子。 ;例5.7 在计算机屏幕上输出如下图形。 * *** ***** ******* ********* ;5.4 break语句和continue语句;例5.8 输入一个正整数m,判断它是否为素数。;2、continue语句;例5.9 输入100个整数,求其中正整数之和 ;5.5 goto语句和用goto语句构成循环;goto语句与if语句一起构成循环结构,如下的例子即是二者组成的循环结构。 例5.10 用if语句和goto语句构成循环,求1+2+3+…+n的值。 # include <stdio.h> int main() { int i,n,sum=0; i=1; scanf(“%d”,&n); loop: if(i<=n) {sum+=i; i++; goto loop; } printf("sum=%d\n",sum); return 0; } goto语句可使程序的流程变的毫无规律、可读性差,在程序设计中尽量不用。;5.6 程序设计举例;例5.12 古代某工地需要搬砖块,已知男人一人 搬3块,女人一人搬2块,小孩两人搬1块。问用 45人正好搬45块砖,有多少种搬法。 ;# include <stdio.h> int main() {int men,women,child; for(men=0;men<=45;men++) for(women=0;women<=45;women++) for(child=0;child<=45;child++) if(men+women+child==45       && men*3+women*2+child*0.5==45) printf("men=%d women=%d child=%d\n", men,women,child); return 0; };改进后的程序如下: # include <stdio.h> int main() {int men,women,child; for(men=0;men<=15;men++) for(women=0;women<=22;women++) { child=45-men-women; if(men*3+women*2+child*0.5==45) printf("men=%d women=%d child=%d\n",

文档评论(0)

187****8936 + 关注
实名认证
内容提供者

答案 课件 教案 试卷 最新精品整理

1亿VIP精品文档

相关文档