c语言程序设计6章课件.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 循环结构程序设计 池州学院 计算机中心 本章主要内容 概述 goto语句及用goto语句实现循环控制 while循环控制 do-while循环控制 for循环控制 循环的嵌套 几种循环的比较 Break语句和continue语句 循环结构程序设计举例 6.1 用goto语句实现循环 Goto语句为无条件转移语句,它的一般形式为:goto 语句标号; 语句标号是用标识符表示,它的定义规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或者下划线。不能用整数来做标识。例如: Goto label_1为合法的, Goto 123 为非法的; 一般说来, goto语句有两种用途: (1)与if语句一起构成循环结构。 (2)从循环体中跳转到循环体外,在C语言中可以使用break语句和continue语句跳出本层循环和结束本次循环 6.2 while循环控制 实现“当型”循环。语句一般格式 while (表达式) 语句 功能: 计算表达式的值,为非0(逻辑真)时,重复执行内嵌语句,每执行一次,就判断一次表达式的值,直到表达式的值为0 时结束循环,转去执行while后面的语句。 例如: 【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100 算法和程序: main( ) { int i,sum; i=1; sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); } 注意: 如果while的 (表达式) 值为0,则循环体一次也不执行 (例如当i的初值=101) 。 在循环体中必须有使循环趋向结束的操作,否则循环将无限进行(死循环)。 在循环体中,语句的先后位置必须符合逻辑,否则会影响运算结果。 注意(续): 为了保证循环正常运行,应该特别注意: 循环控制条件的描述 控制条件的初始状态(初始值) 循环体内部对控制条件的影响 5.2 do-while语句 语句一般格式 do 语句 while (表达式); 功能: 先执行内嵌语句(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。 do-while循环的算法 main( ) { int i=1,sum=0; do { sum=sum+i; i++; } while (i<=100); printf("%d\n",sum); } 说明: while和do-while都能实现循环控制,while结构程序通常都可以转换成do-while结构 do-while语句的简单应用 【例5.3】用辗转相除法求m和n的最大公约数 算法和程序: main( ) { int m,n,r; scanf("%d, %d",&m,&n); if (m<n) { r=m; m=n; n=r; } do { r=m%n; m=n; n=r; }while(r!=0); printf("%d\n",m); } 5.3 for语句 语句一般格式 for (表达式1;表达式2;表达式3) 语句 for语句的算法 例如: main( ) { int i,sum; sum=0; for ( i=1; i<=100; i++) sum=sum+i; printf("sum=%d\n",sum); } 省略for语句的表达式 ⑴ 表达式1、2、3全省略,即: for ( ; ; ) 不设初值、不判断条件(认为表达式2为真值),循环变量不增值。无终止的执行循环体。就等同于:while (1),会无限循环(死循环) (4)省略表达式1,此时应在FOR之前赋初值。注意,省略表达式1时,其后的分号不能省略。 FOR(;表达式2;表达式3) (5)表达式3也可以省略,但此时程序设计时应另外保证循环能正常结束。 FOR(i=1;i<=100;) { sum=sum+1; i++; } I++的操作不放在FOR 语句的表达式3处,而作为循环体的一部分,效果是一样的,都能使循环正常结束。 (6)表达式一般是关系表达式(I<=0)或逻辑表达式(a<b&&x<y),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。书120页 例如: ⑴ i=1; for

文档评论(0)

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

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

1亿VIP精品文档

相关文档