―、循环结构(IterationStructure)的概述1.目的为了解决含有重复处理内容的问题,必须采用循环语句(LoopStatement)来编程实现。2.类型(1)当型循环结构(2)直到型循环结构二、循环语句1.while语句①功能:实现当型循环结构。②形式while(表达式){循环体}③特点:先判断后执行。④举例:(累加和问题)编程计算整数1〜100的和inti;//循环变量intsum=0;//累加和清0i二1;//循环变量i赋初值while(i<=100){sum二sum+i;〃循环变量累加到sum中i二i+1;//改变循环变量i的值}2.do-while语句①功能:实现直到型循环结构}②形式do{循环体}while(表达式);〃注意最后的分号③特点:先执行后判断。④举例:修改上例。/*利用do-while语句编程实现整数1〜100的和。*/inti;//循环变量intsum=0;//累加和清0i二1;//循环变量i赋初值do{sum二sum+i;〃循环变量累加到sum中i二i+1;//改变循环变量i的值}while(i<=100);〃注意最后的分号3.for语句①功能:实现当型循环结构。②形式for(表达式1;表达式2;表达式3){循环体}③特点:先判断后执行;使用频率最高。④举例:修改上例。/*使用for语句编程计算整数1~100的和。*/inti;//循环变量intsum=0;//累加和清0for(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;}/*方法三:使用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语句实现。*/inti,n;longintp=1;scanf("%d",&n);for(i=1;i<=n;i++){p=p*i;}printf("%d!二%ld\n",n,p);/*方法二:利用while语句实现。*/inti,n;longintp=1;scanf("%d",&n);while(i<=n){p=p*i;i=i+1;}printf("%d!=%ld\n",n,p);/*方法三:利用do-while语句实现。*/inti,n;longintp=1;scanf("%d",&n);do{p=p*i;i=i+1;}while(i<=n);printf("%d!二%ld\n",n,p);第159页课后习题4.14属于循环次数已知,计算累乘积的问题。参考代码注意:计算累乘积时,需要累乘积变量置1。3.循环次数未知的累加和(累乘积)问题①这也是累加求和的问题,但不同的是,这里的循环次数是预先未知的,而且累加项以正负交替的规律出现。实现方法,累加项通式term二sign/n表示。其中,sign按+1,-1,+1,-1,……交替变化,可用sign二-sign实现,sign的初值为1;n按1,3,5,7,……变化,可用n二n+2实现,n的初值为1;统计累加项数只有设置一个计数器变量count即可,初值为0。详细算法描述和代码实现参见课本第112页例题4.12。注意:①能够正确得到累加项或累乘项通式。②计算累加和问题时注意清0,计算累乘积问题时注意置1。③注意累加项或累乘项是否满足循环终止条件的判断。第159页课后习题4.15,4.16,4.17属于循环次数未知,计算累加和的问题。参考代码4.循环结构和选择结构的综合应用(1)猜数字游戏升级版:编程实现猜数字游戏,要求所猜数字为1~10之间的整数,游戏者只有三次机会,猜数字游戏过程中会根据游戏者所猜数字的大小给出一定的信息提示,增强游戏的趣味性。#include