资源描述:
《第4章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章信息学院计算机基础组循环结构程序设计while语句do—while语句for语句循环嵌套break和continue语句本章主要内容:4.1引例例4-1一行打印60个*程序代码如下:#includevoidmain(){inti;i=1;while(i<=60)/*重复输出*60次——循环*/{printf(“*”);i=i+1;}printf(“”);}4.2while语句表达式?循环体语句真假while(表达式){循环体语句;}任意类型while(表达式)循环体语
2、句;当表达式的初值为假时,循环体语句不执行说明:(1)可以是一个单语句,也可以是一个复合语句(2)循环体中应有使循环趋于结束的语句例4-2:求的值#includevoidmain(){inti=1,sum=0;/*设循环初值*/while(i<=100)/*循环条件判断*/{sum=sum+i;/*循环主体:累加求和*/i++;/*修改循环控制变量*/}printf(“sum=%d”,sum);/*输出结果*/}4.2while语句while语句的作用范围:循环体如果包含一
3、个以上的语句,应该用花括号括起来作为复合语句,否则while循环体的作用范围只到while后面的第一个分号处。例如:while(a>1);{a++;}复合语句{a++;}不是循环体,while(a>1);后的分号所代表的空语句才是这里的循环体内嵌语句。条件循环结构三要素:1、循环初值:要正确;2、循环条件:要正确;3、循环体内部必须有一条改变循环条件变量的语句。(该语句使循环条件趋于结束,避免死循环。)4.2while语句例4-3求300~800之间7的倍数和采用穷举法求解程序代码如下:#inc
4、ludevoidmain(){inti=300,sum=0;/*设循环控制变量初值为300*/while(i<=800)/*循环条件;小于800*/{if(i%7==0)/*寻找7的倍数,进行筛选*/sum=sum+i;/*循环主体:累加求和*/i=i+1;/*修改循环变量*/}printf(“sum=%d”,sum);/*输出结果*/}4.2while语句例4-4依次输入一批正数,并求所有输入的正数之和,当输入负数或0时结束。分析:此题是循环次数不固定的实例。读入一数x,
5、判断其值>0?>0累加之;(非负数)≤0结束循环,打印结果。设:读入值为x,和值为sum,其初值为0。程序代码如下:#includevoidmain(){floatx,sum;sum=0.0;scanf(“%f”,&x);/*循环初值*/while(x>0.0)/*循环条件*/{sum=sum+x;/*循环主体:累加求和*/scanf(“%f”,&x);/*再次读入一个新的x值*/}printf(“sum=%f”,sum);*输出结果*/}4.3do-while语句循环体语
6、句表达式假真do{循环体语句;}while(表达式);程序形式程序流程do{循环体语句}while(表达式);注:条件表达式在循环语句组执行完后计算,因此循环语句组至少会执行一次说明:(1)do-while先执行循环体,后判断循环条件(2)do-while作为一个整体,while后必须加;用do-while语句求1+2+3+....+100的值#includevoidmain(){inti,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);pr
7、intf(”sum=%d”,sum);}用do-while语句计算上节例4-4#includevoidmain(){floatx,sum;sum=0.0;do{scanf(“%f”,&x);sum=sum+x;}while(x>=0.0);printf(“sum=%f”,sum);}sum-x4.3do-while语句例4-6利用公式求π的近似值,直到最后一项的绝对值小于10-6为止。程序代码如下:#include#includevoi
8、dmain(){floatn,s,t,pi;t=1;pi=0;n=1.0;s=1;/*循环初值*/do{pi=pi+t;/*累加t*/n=n+2;/*循环变量增值*/s=-s;/*求符号位s,正负号变化*/t=s*1./n;/*求一个数列项的值t*/}while((fabs(t))>1e-6);/*fabs(t)为绝对值函数*/pi=pi*4;printf(“pi=%f”,pi);}4.4for语句for(表达式1;表达式2;表达式3){循环体语句;}for(表达式1;表达式2;表达式3)循