- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]第5章-循环控制
概述 在许多问题中需要用到循环控制。例如,要输入全校学生成绩;求若干个数之和;迭代求根等。几乎所有实用的程序都包含循环。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。 因此熟练掌握选择结构和循环结构的概念及使用是程序设计的最基本的要求。 (1) 用while语句; (2) 用do | while语句; (3) 用for语句。 在下面各节中将分别作介绍。 5.1 while语句 while语句用来实现“当型”循环结构。其一般形式如下: while (表达式) { 循环体; } 需要注意: (1) 循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。如果不加花括弧,则while语句的范围只到while后面第一个分号处。 (2) 在循环体中应有使循环趋向于结束的语句。 练习题 1、下面程序段的运行结果是( ) x=y=0; while(x15) y++, x+=++y; printf(“%d,%d”,y,x); 2、用While语句编写程序。有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完。 main( ) { int day=0,s=1020; while(s=0) { s=s/2-2; day++; } printf(“%d”,day); } 5.2 do while语句 do while语句的特点是先执行循环体,然后判断循环条件是否成立。其一般形式为 do 循环体语句 while (表达式); 它是这样执行的:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”) 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。可以用图5.2表示其流程。 图5.2 练习题 1、以下程序段循环执行几次。 x=-1; do { x=x*x; } while(!x); 2、下面程序的运行结果是( ) main( ) { int y=10; do { y--; }while(--y); printf(“%d\n”,y--); } 5.3 for 语 句 C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。 for语句的一般形式为: for (表达式1;表达式2;表达式3) 语句 for(循环变量赋初值;循环条件;循环变量增值) 语句 它的执行过程如下: (1) 先求解表达式1。 (2) 求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)步。若为假(值为0),则结束循环,转到第(5)步。 (3) 求解表达式3。 (4) 转回上面第(2)步骤继续执行。 (5) 循环结束,执行for语句下面的一个语句。 可以用图5.3来表示for语句的执行过程。 对于以上for语句的一般形式也可以改写为while循环的形式: 表达式1; while(表达式2) { 语句 表达式3; } 例如: for(i=1;i=100;i++) sum=sum+i; 可以看到它相当于以下语句: i=1; while(i=100) { sum=sum+i; i++; } 说明: for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。注意省略表达式1时,其后的分号不能省略。如: for(;i=100;i++) sum=sum+i;执行时,跳过“求解表达式1”这一步,其他不变。 (2) 如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。见图5.4。 (3) 表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。 (4) 可以省略表达式1和表达式3,只有表达式2,即只给循环条件,如: int i=0; int i=0; for(;i=1
您可能关注的文档
- [计算机软件及应用]巧用excel数据透视表.ppt
- [计算机软件及应用]嵌入式软件基础4-接口与网络系统.ppt
- [计算机软件及应用]常考算法1.doc
- [计算机软件及应用]字处理技能之三.doc
- [计算机软件及应用]太原理工大学java实验报告.doc
- [计算机软件及应用]思迅商业之星V7常见问题.doc
- [计算机软件及应用]微机五防软件使用.ppt
- [计算机软件及应用]微软等数据结构+算法面试100题全部答案.pdf
- [计算机软件及应用]弹性云计算平台-Exalogic-Frank Xiong.pdf
- [计算机软件及应用]微软宠物商店代码分析文档.pdf
- 2025年广东省珠海市香洲区高三下学期4月联考数学试卷.docx
- 2025年广东省珠海市香洲区高三下学期3月联考数学试卷.docx
- 2025-2030中国面膜市场盈利模式与投资战略规划分析研究报告.docx
- 2025-2030中国面膜市场供应前景及销售渠道发展现状研究报告.docx
- 2025-2030中国面膜用聚丙烯纤维行业市场发展趋势与前景展望战略分析研究报告.docx
- 2025年广东省珠海市香洲区高三一模数学试卷及答案.docx
- 2025年广东省珠海市金湾区高三二模数学试卷及答案.docx
- 2025-2030中国面膜用聚丙烯纤维行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国面膜行业发展分析及发展前景与趋势预测研究报告.docx
- 2025年广东省肇庆市端州区高三下学期考前数学适应性演练(二)试题.docx
文档评论(0)