- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1 循环语句概述 求1~100的累计和。 根据已有的知识,可以用“1+2+……+100”来求解,但显然很繁琐。现在换个思路来考虑: 首先设置一个累计器sum,其初值为0,利用sum += n来计算(n依次取1、2、……、100),只要解决以下3个问题即可: (1)将n的初值置为1; (2)每执行1次“sum += n”后,n增1; (3)当n增到101时,停止计算。此时,sum的值就是1~100的累计和。 根据已有的知识,单独实现每一步都不难。但是,由于需要经常使用这种重复计算结构(称为循环结构),C语言提供了3条循环语句来实现,以简化、并规范循环结构程序设计。 在C语言中,可用以下语句实现循环: (1)用for语句。 (2)用do-while语句。 (3)用while语句。 (4)用goto语句和if语句构成循环。使用goto语句实现求解1~100累计和的程序可以如下: main() { int n=1, sum=0; loop: sum += n; n++; if (n=100) goto loop; printf(“sum=%d\n”, sum); } 其中“loop:”为语句标号(格式:标号: 语句行),其命名遵循标识符命名规则。goto语句格式:goto 标号,功能为:使系统转向标号所在的语句行执行。 注意:结构化程序设计方法,主张限制使用goto语句。因为滥用goto语句,将会导致程序结构无规律、可读性差。 另外,从功能上说,for语句可完全代替当型循环语句while,所以该语句也不是必需的。 [Return] 5.1.1 while语句 (1)一般格式 while(循环继续条件) { 循环体语句组; } (2)执行过程 1. 求解“循环继续条件”表达式。如果其值为非0,转 2;否则转3。 2. 执行循环体语句组,然后转1)。 3. 执行while语句的下一条。 显然,while循环是for循环的一种简化形式(缺省“变量赋初值”和“循环变量增值”表达式)。 [案例5.3] 用while语句求1~100的累计和。/*案例代码文件名:AL5_3.C*//*程序功能:求1~100的累计和*/main() { int i=1,sum=0; /*初始化循环控制变量i和累计器sum*/ while( i=100 ) { sum += i; /*实现累加*/ i++; /*循环控制变量i增1*/ } printf(“sum=%d\n”,sum); } [程序演示] 程序运行情况如下:sum=5050 5.循环嵌套 (1)循环语句的循环体内,又包含另一个完整的循环结构,称为循环的嵌套。循环嵌套的概念,对所有高级语言都是一样的。 (2)for语句和while语句允许嵌套,do-while语句也不例外。 [Return] 5.2 直到型循环do-while语句 1.一般格式 do { 循环体语句组; } while(循环继续条件); /*本行的分号不能缺省*/ 当循环体语句组仅由一条语句构成时,可以不使用复合语句形式。 2.执行过程 执行过程如图5-3所示。 (1)执行循环体语句组。 (2)计算“循环继续条件”表达式。如果“循环继续条件”表达式的值为非 0(真),则转向(1)继续执行;否则,转向(3)。 (3)执行do-while的下一条语句。 do-while循环语句的特点是:先执行循环体语句组,然后再判断循环条件。 [案例5.4] 用do-while语句求解1~100的累计和。/*案例代码文件名:AL5_4.C*//*程序功能:求1~100的累计和*/main() { int i=1, sum=0; /*定义并初始化循环控制变量,以及累计器*/ do { sum += i; /*累加*/ i++; } while(i=100); /*循环继续条件:i=100*/ printf(“sum=%d\n”,sum); } [程序演示] do-while语句比较适用于处理:不论条件是否成立,先执行1次循环体语句组的情况。除此之外,do-while语句能实现的,for语句也能实现,而且更简洁。 [Return] 1.for语句的一般格式 for([变量赋初值];[循环继续
您可能关注的文档
- 2015届高考物理一轮复习跟踪训练:第5章 第3节 机械能守恒定律和能量转化与守恒定律及其应用.doc
- abdcjhy杨_思卓:职场必读十本书.doc
- ACE及CYP11B2基因多态性与高血压合并左心室肥厚相关性分析.doc
- 2015届高考物理一轮复习跟踪训练:第5章 第3节《机械能守恒定律和能量转化与守恒定律及其应用》.doc
- 2015届高考物理一轮复习跟踪训练:第5章 第4节 实验 探究动能定理 验证机械能守恒定律.doc
- 2015届高考物理一轮复习跟踪训练:第6章 第1节 电场的力的性质.doc
- 2015届高考物理一轮复习跟踪训练:第6章 第1节《电场的力的性质》.doc
- 2015届高考物理一轮复习跟踪训练:第6章 第2节 电场的能的性质.doc
- 2015届高考物理一轮复习跟踪训练:第6章 第2节《电场的能的性质》.doc
- ADS的设计带通滤波器.doc
- 黄河文化新媒体传播的逻辑与路径.pdf
- 2023年连云港市公务员考试行测试卷历年真题附答案详解(名师推荐).docx
- 2023年连云港市公务员考试行测试卷历年真题附答案详解(典型题).docx
- 2023年连云港市公务员考试行测试卷历年真题精编答案详解.docx
- 2023年连云港市公务员考试行测试卷历年真题有答案详解.docx
- 2023年连云港市公务员考试行测试卷历年真题附答案详解(模拟题).docx
- 2023年连云港市公务员考试行测试卷历年真题完整答案详解.docx
- 2024-2025 年全国六年级小升初语文真题汇编专题09成语积累(学生版+教师版) .docx
- 2023年连云港市公务员考试行测试卷历年真题带答案详解.docx
- 2023年连云港市公务员考试行测试卷历年真题含答案详解.docx
文档评论(0)