《循环结构》PPT课件 (2)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


x<0 x<0
循环体
2循.环寻次找数控是制固循定环值的,变可量值以。使用x=Oi计-<xu1数t0pxu=器Ot-ix=xu来0tp;控u输是t x制出 bit循的次环次;数总
循环次数不是固定值的条,寻找规i+则+ 变i+化+I的np量ut 来x 控制循环
体完成规定的次数。 件
x<0
3.找出控制变量的三个要素。
pprrininttff((""%%dd\\nn"",,mn));; }}
例:求n!
main()
main()
{
{
float fac;
float fac; int i,n;
int i,n;
fac=1;
i=1;
i=2;
fac=1;
scanf("%d",&n);
sfcoarn(f(f"a%c=d"1,&,wni=h);i1le;(ii<<==nn)/;*i+i+++<)=n*/ d{foac=fac*i;{ fac=fac*i; fpacr=infatcf*(i"; n!=% i++.;0f\n",fac);
2
case 2:printf("b%it=d"2,;a%10);a=a/10; else
ca3seif(1a:<pr1i0n40tf0()"%d",a%10);a=a/10;
defabuitl=t:3; ; }
else
bit=4; ;/*按题目要求输出结果*/
循环题目的设计步骤:
1.构造循环体。将问题中需i=0要; 重i=复0;执行的部分,利用 C利语用言变规量则是归一纳个出变一化组的i<程量10序的i段<概10。念In在。pu归t Ix纳npu的t 过x 程中应充分
}
main()
2. do~while语句{
s=0; ❖一般形式:
i=x1=;10; ❖执行流程: dodo
do int x,i; i循=0环;体语句
while(表达式); do
;必比可少
{s{+;}w=hii+le+(x;--}>w0);hdiole(i<=10{0);
/*i=1;
do
scanf("%d",&x);
do
A
{ 循环体i语f(句xA<}w0h)ilxe=(表-x达;式);
{s+=i;真}(非w0h) ile(i+w+hi<le 100);*p/rintf("%8d",x);
/*i=1;
p 假(0)
i++;
p
}while(i<10);
do
printf("\n");
{s+=i; }while(++i<=100); */
}
3. for语句一般应用循形环式变:量赋循初环循值条环件趋于结束部分
for(exp循r1环;体exp语r2句;expmr3a)in() {
例 用for循环求
int x,i;
expr1
main()
假(0)
{ int i,esxuprm2 =0;
for(i=1真;i<(非=01) 00;i++)
sumA+=i;
main()
{
Input a int a,bit;
a<10
switch(bsitc)anf("%d",&a); { if(a<10)
a<100 case
4:prbinitt=f(1";%d",a%10);a=a/10;
else
1
casae<130:0p0riifn(atf<("1% 00d)",a%10);a=a/10;
循环控制变量的初值;趋
循环的条件;
于 结
使循环趋于结束的部分;束
x=-x Output x
i++
第2节 实现循环的三ma条in语()句
{
P,用逻辑量表示
x1=1.❖0w❖;h执i一行l般e流语形程句式::单条wh循ile环(表体ii达n=语t0式x;句,)iw; hiwlehx(il=ie<1(x01=; 10))
expr3
printf("%d",sum);
}
for(i=0;i<10;i++) { expr1;expr2;expr3
scanf("%d",&x); if(x<0)x=-x;
A printf("%8d",x); } printf("\n");
}
❖说明:
for语句中expr1, expr2 ,expr3 类
i++;
}
}while(i<=n)p; rintf("n!=%.0f\n",fac);
printf("n!=%}.0f\n",fac);
}
例:构造整数?
#include "stdio.h" main() { int a=0; char c; for(c=getchar();c!='\n';c=getchar())
例:求最大公{{m m约aaii数nn((?))
ininttmm,,nn,,rr;; ssccaannff((""% %dd,,% %dd"",,&&m m,,&&nn));; iiff((m m<<nn))
rr==mm,,mm==nn,,nn==rr;; for(r=rdm=om%%n;nr!;=0; r=m%n) {p}nrmi=n=tr{f;nw{}(}rm n";nrw/=hm ==% ==*himrlm=frnei;dol;% n;(e% \rr;((nn!;rn="(;!;,=r0n=)0)m); ;%n);)
型任意,都可省略,但分号ex;pr不1; 可

while(expr2)
无限循环: for(;;)
{ 循环体语句
for语句可以转换成while结} 构 expr3; for(s关=键0,是i=体1现00三;i要;s素+=i--);
if=or1(;;i<=100;i++ifw=o)hr1s(i+;l;ei=<(i=i;<1=0100;)0s)+s=+i=+i++;+;
while(x-- >0); 语句
Biblioteka Baidu
while
{
s=0; i=1; p 假(0)
p
scanf("%d",&x);
if(x<0)x=-x;
while(i<真=(非100) 0)s+=i++;
prinAtf("%8d",x);
/*i=0;awhile(i++<100)s+=ii+;*+/;
/* i=0;while(++i<=100)}s+=i;*/ printf("\n");
第六章 循环结构程序设计
第1节 循环程序的设计步骤
例:逆序输出一个不超过4位的正整数。
如:a=123 则输出顺序为: printf("%d",a%10);a=a/10; printf("%d",a%10);a=a/10; printf("%d",a%10);a=a/10;
bit= bit= bit= bit=
相关文档
最新文档