- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)*
您可能关注的文档
- C&C++跨平台编码教程.ppt
- C&C08交换机的系统概述.ppt
- c语言指针教程.ppt
- c语言循环结构.ppt
- C语言数组教程.ppt
- C语言顺序结构.ppt
- C语言最后练习.ppt
- c语言插值算法.ppt
- 趣味程序C语言.ppt
- C语言数据类型.ppt
- 江苏省江阴四校2024届4月高三学业水平考试数学试题试卷.pdf
- 最新国家开放大学电大本科《外科护理学》名词解释题题库及答案(试卷号完整版.pdf
- 最新国家开放大学电大《机械制图》机考网考题库及答案.pdf
- 氢氧化钠MSDS_原创精品文档.pdf
- 机械设计基础期末考试试题答案解析.pdf
- 最新高处安装-维护-拆除作业人员资格完整考试题库必背100题(含答案).pdf
- 智能交通系统知到章节答案智慧树2023年山东大学 .pdf
- 最新国家开放大学电大《建筑材料》网络核心课形考网考作业及答案.pdf
- 最新国家开放大学电大本科《营销管理》单项选择题题库及答案(试卷号.pdf
- 校2023-2024学年八年级上学期期末数学试题(含答案) .pdf
文档评论(0)