C语言中 循环结构.ppt

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 循环控制结构 * 本章知识点: while语句的一般形式及应用 for语句的一般形式及应用 do...while语句的一般形式及应用 多重循环结构的使用 break语句和continue语句 * 5.1 while语句 语句的一般形式如下: while (表达式) 循环体语句 说明:while语句属于“当型”循环。 表达式 循环体语句 假(0) 真(非0) 图5.1 while语句流程图 说明: (1)while是关键字。while后圆括号内的表达式一般是关系表达式或逻辑表达式,但也可以是C 语言中任意合法的表达式。 (2)循环体语句可以是一条语句,也可以是多条语句,如果循环体语句包含多条语句,则需要用一对花括号“{}”把循环体语句括起来,采用复合语句的形式。 while (表达式) 循环体语句 【例5.1】 求前100个自然数的和 。 #include stdio.h int main() { int n,sum; n=1;sum=0; /*变量赋初值*/ while (n=100) { sum=sum+n; /*累加求和*/ n++; /*修改基本数据项n*/ } printf( sum=%d\n,sum); return 0; } * 需要注意的几个问题: (1)累加求和算法。这个程序采用的算法思想称为累加求和,即:不断用新累加的值取代变量的旧值,最终得到求和结果,变量sum也叫“累加器”,初值一般为0。 (2)必须给变量赋初值。 (3)正确判断条件的边界值。 (4) 避免出现“死循环”。 (5)可能出现循环体不执行。 (6)while后面圆括号内的表达式一般为关系表达式或逻辑表达式,但也可以是其它类型的表达式,. 【例5.2】 使用while语句求n!。 #include stdio.h int main() { int n,i=1; double sum=1; printf(请输入一个正整数:); scanf(%d,n); while (i=n) { sum=sum*i; /*累乘求积*/ i++; /*修改基本数据项i*/ } printf(%d!=%.0f\n,n,sum); return 0; } * 循环三要素之间的关系。 循环变量赋初值、判断控制表达式和修改循环变量是所谓的“循环三要素”。 一般来说,进入循环之前,应该给循环变量赋初值,确保循环能够正常开始;在控制表达式中判断循环变量是否达到循环的终止值;在循环体中对循环变量进行修改,以使循环正常的趋向终止。在编写程序时要注意他们的位置关系。 【例5.3】编写程序,输入一个字符序列,直至换行为止,统计出大写字母、小写字母、数字、空格和其他字符的个数。 int main() { char ch; int a,b,c,d,e; a=b=c=d=e=0; while((ch=getchar())!=\n) { if(ch=Ach=Z) a++; /*判断是否为大写字母*/ else if(ch=ach=z) b++; /*判断是否为小写字母*/ else if(ch=0ch=9) c++; /*判断是否为数字*/ else if(ch== ) d++; else e++; } printf(%d,%d,%d,%d,%d\n,a,b,c,d,e); return 0; } * 5.2 for语句 for语句的一般形式如下: for(表达式1;表达式2;表达式3) 循环体语句 说明:for语句属于“计数”型循环。 * 循环体语句 真(非0) 假(0) 表达式1 表达式2 表达式3 for语句流程图 For语句最常用、最简单的形式 for(循环变量赋初值;循环条件;循环变量增值) * 【例5.1】 求前100个自然数的和 。 #include stdio.h int main() { int n,sum=0; for (n=1;n=100;n++) sum=sum+n; printf(sum=%d\n,sum); return 0; } 【例5.4】设n=30,编写程序,计算并输出S(n)的值。 S(n)=(1*2)/(3*4)-(3*4)/(5*6)+(5*6)/(7*8)+…+(-1)(n-1)*

文档评论(0)

it + 关注
官方认证
内容提供者

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

认证主体阳春市夕秋图文设计有限公司
IP属地广东
统一社会信用代码/组织机构代码
91441781MA55YY8A1L

1亿VIP精品文档

相关文档