- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环结构程序设计三种循环语句
一、循环结构(Iteration Structure)的概述
1.目的
为了解决含有重复处理内容的问题,必须采用循环语句(Loop Statement)来编程实现。
2.类型
(1) 当型循环结构
(2)直到型循环结构
二、循环语句
1.while语句
①功能:实现当型循环结构。
②形式
while(表达式){
循环体
}
③特点:先判断后执行。
④举例:(累加和问题)编程计算整数1~100的和。
int i ; //循环变量
int sum = 0 ; //累加和清0
i = 1 ; //循环变量i赋初值
while( i = 100){
sum = sum + i ; //循环变量累加到sum中
i = i + 1; //改变循环变量i的值
}
2.do-while语句
①功能:实现直到型循环结构。
②形式
do{
循环体
}while(表达式); //注意最后的分号
③特点:先执行后判断。
④举例:修改上例。
/*利用do-while语句编程实现整数1~100的和。*/
int i ; //循环变量
int sum = 0 ; //累加和清0
i = 1 ; //循环变量i赋初值
do{
sum = sum + i ; //循环变量累加到sum中
i = i + 1; //改变循环变量i的值
}while(i=100);//注意最后的分号
3.for语句
①功能:实现当型循环结构。
②形式
for(表达式1;表达式2;表达式3){
循环体
}
③特点:先判断后执行;使用频率最高。
④举例:修改上例。
/*使用for语句编程计算整数1~100的和。*/
int i ; //循环变量
int sum = 0 ; //累加和清0
for( i = 1 ; i =100 ; i++ ){//第一个表达式完成循环变量i赋初值;第三个表达式实现改变循环变量i的值
sum = sum + i ; //循环变量累加到sum中
}
4.几种循环语句的比较
①由于while语句和for语句均实现当型循环结构,两者是完全等价的。
for(表达式1;表达式2;表达式3){
循环体;
}
表达式1 ;
while(表达式2){
循环体;
表达式3;
}
②for语句适合循环次数事先已知的情况;而while语句和do-while语句适合循环次数事先未知的情况。
③当第一次进入循环时条件就不满足,while语句和do-while语句就不等价。除此情况外,while语句和do-while语句均等价。
三、程序举例
1.循环次数已知的累加和问题
①编程实现计算100以内偶数的和。
/*方法一:使用for语句*/
sum = 0 ;
for( i = 2 ; i =100 ; i = i + 2 ){
sum = sum + i ;
}
/*方法二:使用while语句*/
sum = 0 ;
i = 2 ;
while( i =100 ){
sum = sum + i ;
i = i + 2 ;
}
/*方法三:使用do-while语句*/
sum = 0 ;
i = 2 ;
do{
sum = sum + i ;
i = i + 2 ;
}while(i = 100) ;
第159页课后习题4.10、4.11、4.12、4.13属于循环次数已知,计算累加和的问题。参考代码
注意:计算累加和时,需要累加和变量清0。
2.循环次数已知的累乘积问题
①编程计算n!=1*2*3*4*……*n的值。(课本第107页例题4.10)
要想解决这个问题,需要用到“递推”的程序设计方法。也就是说,求n!时,先求1!,用1!*2得到2!,用2!*3得到3!,以此类推,直到利用(n-1)!*n得到n!为止,问题即可解决。
/*方法一:利用for语句实现。*/
int i , n ;
long int p = 1 ;
scanf(%d , n) ;
for( i = 1 ; i = n ; i++ ){
p = p * i ;
}
printf(%d!=%ld\n, n , p );
/*方法二:利用while语句实现。*/
int i , n ;
long int p = 1 ;
scanf(%d , n) ;
i = 1 ;
while( i = n ){
您可能关注的文档
最近下载
- 2024年浙江省镇海中学自主招生数学试卷及答案 .pdf VIP
- 自治区取暖费补贴文件2010.pdf VIP
- 500kV变电站运维精益化管理探究(电力系统及自动化论文资料).doc VIP
- 第一单元--观察物体(单元测试)-2025-2026学年三年级上册数学人教版.docx VIP
- (入党志愿书空白表格.doc VIP
- 第一单元-观察物体(单元测试)-2025-2026学年三年级上册数学人教版.docx VIP
- 企业级数据湖建设项目解决方案.pptx VIP
- 2025年新能源微电网稳定性分析与智能电网技术发展动态报告.docx
- DLT616-2006 火力发电厂汽水管道与支吊架维护调整导则.pdf VIP
- 春秋酒店改造装修项目投标文件技术部分.doc VIP
文档评论(0)