c語(yǔ)言第五章 循環(huán)結(jié)構(gòu)一課件_第1頁(yè)
c語(yǔ)言第五章 循環(huán)結(jié)構(gòu)一課件_第2頁(yè)
c語(yǔ)言第五章 循環(huán)結(jié)構(gòu)一課件_第3頁(yè)
c語(yǔ)言第五章 循環(huán)結(jié)構(gòu)一課件_第4頁(yè)
c語(yǔ)言第五章 循環(huán)結(jié)構(gòu)一課件_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程

——C語(yǔ)言程序設(shè)計(jì)計(jì)算中心-NEUComputingCenter第五章循環(huán)結(jié)構(gòu)控制結(jié)構(gòu)循環(huán)結(jié)構(gòu)兩種循環(huán)形式當(dāng)型循環(huán)(“前判斷”結(jié)構(gòu))直到型循環(huán)(“后判斷”結(jié)構(gòu))三種語(yǔ)句格式whiledo…whilefor()中斷語(yǔ)句在循環(huán)中的作用嵌套循環(huán)結(jié)構(gòu)5.1循環(huán)的基本概念什么是循環(huán)重復(fù)做某件事的現(xiàn)象稱為“循環(huán)”C程序的循環(huán)結(jié)構(gòu)就是在滿足循環(huán)條件時(shí),重復(fù)執(zhí)行某程序段,直到循環(huán)條件不滿足為止重復(fù)執(zhí)行的程序段稱為循環(huán)體循環(huán)進(jìn)行的條件循環(huán)控制變量循環(huán)控制變量初始值每次循環(huán)過(guò)程中用以改變循環(huán)控制變量的遞增/遞減值用來(lái)判定循環(huán)是否結(jié)束的最終條件值5.1循環(huán)的基本概念循環(huán)結(jié)構(gòu)兩種形式當(dāng)型循環(huán)首先判斷循環(huán)控制表達(dá)式是否為“真”若為“真”,則反復(fù)執(zhí)行循環(huán)體若為“假”,則結(jié)束循環(huán)while語(yǔ)句、for語(yǔ)句直到型循環(huán)首先執(zhí)行循環(huán)體,然后才判斷循環(huán)控制表達(dá)式若為“假”,則反復(fù)執(zhí)行循環(huán)體直到循環(huán)控制表達(dá)式為“真”時(shí)結(jié)束循環(huán)do_while語(yǔ)句5.2當(dāng)型循環(huán)while語(yǔ)句語(yǔ)句格式說(shuō)明表達(dá)式是控制循環(huán)的條件,它可以是任何類型的表達(dá)式循環(huán)體語(yǔ)句語(yǔ)法上定義為一條語(yǔ)句,若循環(huán)體含有多條語(yǔ)句,則必須用大括號(hào)把它們括起來(lái),成為復(fù)合語(yǔ)句while語(yǔ)句的特點(diǎn)先判斷,后執(zhí)行若表達(dá)式一開(kāi)始就為“假”,則循環(huán)一次也不執(zhí)行提示分號(hào)“;”的位置是在語(yǔ)句之后而不是表達(dá)式的后面while(條件表達(dá)式){語(yǔ)句S;}5.2當(dāng)型循環(huán)while語(yǔ)句執(zhí)行過(guò)程當(dāng)表達(dá)式的值為“真(非0值)”時(shí),循環(huán)重復(fù)進(jìn)行當(dāng)其值為“假(0值)時(shí),循環(huán)結(jié)束,程序跳轉(zhuǎn)到循環(huán)后面的第一條語(yǔ)句開(kāi)始執(zhí)行執(zhí)行循環(huán)體語(yǔ)句表達(dá)式?計(jì)算表達(dá)式初值退出循環(huán)體為真為假while(條件表達(dá)式){語(yǔ)句S;}例:求1—100的和#include<stdio.h>voidmain(){inti,sum;sum=0;i=1;while(i<=100){sum=sum+i;i++;}

printf(“sum=%d\n”,sum);}分析:輸入,輸出分別是什么?需要幾個(gè)變量?程序大體可分為幾個(gè)步驟?sum=0i=1i<=100?sum=sum+ii=i+1輸出sum的值5.2當(dāng)型循環(huán)while語(yǔ)句例:編程求π的近似值,公式π/4≈1-1/3+1/5-1/7+1/9-…分析:題目仍可以看成是累加求和不同的是,相加的每一項(xiàng)正負(fù)相間,公式是無(wú)窮的,所以我們規(guī)定當(dāng)相加項(xiàng)的絕對(duì)值小于0.000001(即10–6)時(shí)停止計(jì)算#include<stdio.h>#include<math.h>voidmain(){ints;floatn,t,pi;

s=1;n=1;t=1;pi=0;while(fabs(t)>1e-6){pi=pi+t;n=n+2;s=-s;t=s/n;}

pi=4*pi;printf(“pi=%10.6f\n”,pi);}tpins11-13-1/31010.671/5515.2當(dāng)型循環(huán)while語(yǔ)句例3:計(jì)算s=1+1/2+1/3+……+1/100。

#include“stdio.h”

main()

{inti;floats;

s=0;

i=1;

while(i<=100)

{s+=1.0/i;/*如果s為int,s+=1/i是否會(huì)有問(wèn)題*/

i++;

}

printf("s=%f\n",s);

}

運(yùn)行程序,輸出結(jié)果是:s=5.187378

5.3直到型循環(huán)do…while語(yǔ)句語(yǔ)句格式說(shuō)明do_while語(yǔ)句的表達(dá)式是任意表達(dá)式,是控制循環(huán)的條件do_while語(yǔ)句的特點(diǎn)先執(zhí)行后判斷循環(huán)體至少執(zhí)行一次do_while語(yǔ)句實(shí)現(xiàn)的循環(huán)重復(fù)執(zhí)行循環(huán)體,直到表達(dá)式為"假"才退出循環(huán)。do{語(yǔ)句s;}while(表達(dá)式);;不能省略5.3直到型循環(huán)do…while語(yǔ)句執(zhí)行過(guò)程首先執(zhí)行循環(huán)體語(yǔ)句計(jì)算表達(dá)式的值當(dāng)表達(dá)式值為“真”時(shí),返回循環(huán)體開(kāi)始處繼續(xù)執(zhí)行循環(huán)體語(yǔ)句當(dāng)表達(dá)式的值為“假”,結(jié)束循環(huán),執(zhí)行下面的語(yǔ)句提示在do…while結(jié)構(gòu)中,即使循環(huán)體為一條語(yǔ)句,也用花括號(hào){}括了起來(lái)執(zhí)行循環(huán)體語(yǔ)句表達(dá)式?計(jì)算表達(dá)式初值退出循環(huán)體為真為假例:求1—100的和#include<stdio.h>voidmain(){inti,sum;sum=0;i=1;do{sum=sum+i;

i++;}while(i<=100);printf(“sum=%d\n”,sum);}sum=0i=1i<=100?sum=sum+ii=i+1輸出sum的值5.3直到型循環(huán)do…while語(yǔ)句例:統(tǒng)計(jì)在1~100之間的整數(shù)中,有多少個(gè)數(shù)是3的倍數(shù)或5的倍數(shù)

main(){inti=0,n=1;do{if(n%3==0||n%5==0)i++;n++;}while(n<=100);printf(“Thetotalnumberis:%d”,i);}5.4forfor語(yǔ)句是C語(yǔ)言中最常用、最靈活、最基本的循環(huán)控制語(yǔ)句特別適合已知循環(huán)次數(shù)的情況計(jì)數(shù)式循環(huán)語(yǔ)句格式說(shuō)明e1(表達(dá)式1)通常為賦值表達(dá)式用來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)變量的初始值e2(表達(dá)式2)通常為關(guān)系表達(dá)式或邏輯表達(dá)式將循環(huán)控制變量與某一值進(jìn)行比較,以決定是否退出循環(huán)(循環(huán)進(jìn)行的條件)e3(表達(dá)式3)通常采用自增或自減表達(dá)式描述循環(huán)控制變量的變化for(e1;e2;e3){S;}5.4forfor語(yǔ)句例:打印1~10之間的所有整數(shù)#include<stdio.h>main(){intcounter;for(counter=1;counter<=10;counter++)printf(“%d\n”,counter);printf(“*******\n”);}演示53.C5.4forfor語(yǔ)句“while”和“for”語(yǔ)句的相似性#include<stdio.h>main(){intcounter;

counter=1;while(counter<=10){printf(“%d\n”,counter);

counter=counter+1;}printf(“*******\n”);}#include<stdio.h>main(){intcounter;for(counter=1;counter<=10;counter++)printf(“%d\n”,counter);printf(“*******\n”);}5.4forfor語(yǔ)句例:計(jì)算自然數(shù)1到n的平方和開(kāi)始類型說(shuō)明:n;i;s;輸入n賦初值:s=0.0;i=1;i<=n?計(jì)算平方數(shù):i*i;s=s+(float)(i)*(float)(i);?i=i+1;輸出計(jì)算結(jié)果:s結(jié)束#include<stdio.h>#include<math.h>main(){inti,n;floats;

printf(“pleaseinputn:\”);scanf(“%d”,&n);s=0.0for(i=1;i<=n;i++)s=s+(float)(i)*(float)(i);printf(“1*1+2*2+…+%d*%d=%f\n”,n,n,s);}

演示54.cRUN<ch>pleaseinputn:5<ch>1*1+2*2+…+5*5=55.0000005.4for5.4forfor語(yǔ)句for語(yǔ)句的幾種特殊格式for(;表達(dá)式2;表達(dá)式3)語(yǔ)句s;省略表達(dá)式1i的初值放在循環(huán)執(zhí)行前確定通常是循環(huán)控制變量的初值不是已知常量,是在循環(huán)前通過(guò)計(jì)算得到for(表達(dá)式1;;表達(dá)式3)語(yǔ)句s;省略表達(dá)式2循環(huán)無(wú)法終止循環(huán)體的第一條語(yǔ)句處安排一條循環(huán)出口語(yǔ)句(因?yàn)楸磉_(dá)式2在循環(huán)體之前被執(zhí)行)以便適時(shí)退出循環(huán)i=2;/*循環(huán)變量賦初值*/

for(;i<10;i++)

printf("%5d",i);for(i=2;;i++)

{if(i>=10)break;/*循環(huán)出口*/

printf("%5d",i);

}5.4forfor語(yǔ)句for語(yǔ)句的幾種特殊格式for(表達(dá)式1;表達(dá)式2;)語(yǔ)句s;省略表達(dá)式3循環(huán)無(wú)法終止一般當(dāng)循環(huán)控制變量呈非規(guī)則性變化,而且在循環(huán)體中存在更新循環(huán)控制變量的語(yǔ)句在使用for(逗號(hào)表達(dá)式1;表達(dá)式2;逗號(hào)表達(dá)式3)語(yǔ)句s;表達(dá)式1和表達(dá)式3可以是一項(xiàng)或多項(xiàng)可以與循環(huán)有關(guān),也可無(wú)關(guān)當(dāng)有多于一項(xiàng)時(shí),各項(xiàng)用逗號(hào)“,”分隔for(表達(dá)式1;表達(dá)式2;表達(dá)式3);用空語(yǔ)句作為循環(huán)體語(yǔ)句產(chǎn)生一段延時(shí)什么也不做,目的就是耗時(shí)間

for(i=2;i<10;)

{printf("%5d",i);

i++;/*修改循環(huán)變量的值*/

}

for(i=2,j=1;i>j;i++,j++)

{…….

}5.4循環(huán)的本質(zhì)循環(huán)是指在循環(huán)條件為真時(shí)反復(fù)執(zhí)行執(zhí)行的一組指令兩種循環(huán)方式計(jì)數(shù)式循環(huán)控制變量用來(lái)計(jì)算循環(huán)的次數(shù)控制變量的值在每次執(zhí)行完一組循環(huán)指令后遞增當(dāng)控制變量的值表明達(dá)到了預(yù)定的循環(huán)次數(shù)時(shí)循環(huán)終止并繼續(xù)執(zhí)行循環(huán)結(jié)構(gòu)后的語(yǔ)句。標(biāo)記式循環(huán)當(dāng)事先不知道準(zhǔn)確的循環(huán)次數(shù)循環(huán)體中包含每次循環(huán)都要獲取數(shù)據(jù)的語(yǔ)句標(biāo)記值是在所有合法的數(shù)據(jù)項(xiàng)都提供給程序后鍵入的值標(biāo)記值必須不同于正常的數(shù)據(jù)項(xiàng)5.4循環(huán)的本質(zhì)循環(huán)語(yǔ)句的比較三種循環(huán)語(yǔ)句可處理同一個(gè)問(wèn)題例:求10個(gè)數(shù)中的最大值#include“stdio.h”

main()

{inti,k,max;

scanf(“%d”,&max);

for(i=2;i<11;i++)

{scanf("%d",&k);

if(max<k)max=k;

}

printf("max=%d\n",max);

}main()

{inti,k,max;

scanf(“%d”,&max);

i=2;while(i<11){scanf(“%d”,&k);

if(max<k)max=k;

i++;/*for語(yǔ)句中的i++*/

}

printf("max=%d\n",max);

}main()

{inti,k,max;

scanf(“%d”,&max);

i=2;do

{scanf(“%d”,&k);

if(max<k)max=k;

i++;

}while(i<11);printf("max=%d\n",max);

}main(){intnum;do{scanf(“%d”,&num);printf(“%d\n”,num);}while(num>=100);}main(){intnum;for(scanf(“%d”,&num),printf(“%d\n”,num);num>=100;){scanf(“%d”,&num);printf(“%d\n”,num);}}循環(huán)語(yǔ)句的比較三種循環(huán)語(yǔ)句可處理同一個(gè)問(wèn)題編寫(xiě)程序,從鍵盤輸入數(shù)字,并輸出該數(shù)字,直到所輸出的數(shù)字小于1005.4循環(huán)的本質(zhì)main(){intnum;scanf(“%d”,&num);printf(“%d\n”,num);while(num>=100){scanf(“%d”,&num);printf(“%d\n”,num);}}5.4循環(huán)的本質(zhì)循環(huán)語(yǔ)句的比較循環(huán)方式while語(yǔ)句和do_while語(yǔ)句多采用標(biāo)記式循環(huán)用于循環(huán)次數(shù)不定的情況for語(yǔ)句更方便對(duì)于循環(huán)次數(shù)確定的情況循環(huán)結(jié)構(gòu)for語(yǔ)句和while語(yǔ)句先判斷循環(huán)控制條件,后執(zhí)行循環(huán)體可能一次也不執(zhí)行循環(huán)體do_while語(yǔ)句是先執(zhí)行循環(huán)體,后進(jìn)行循環(huán)控制條件的判斷do_while語(yǔ)句至少執(zhí)行一次循環(huán)體do_while語(yǔ)句更適合于第一次循環(huán)肯定執(zhí)行的場(chǎng)合5.4循環(huán)的本質(zhì)循環(huán)語(yǔ)句的比較實(shí)現(xiàn)功能do_while語(yǔ)句和while語(yǔ)句只有一個(gè)表達(dá)式用于控制循環(huán)是否進(jìn)行for語(yǔ)句有三個(gè)表達(dá)式可以控制循環(huán)是否進(jìn)行,并能為循環(huán)變量賦初值及不斷修改循環(huán)變量的值for語(yǔ)句比while和do_while語(yǔ)句功能更強(qiáng),更靈活語(yǔ)句形式初始值while、do…while循環(huán)時(shí),循環(huán)變量的初始值操作應(yīng)放在while和do…while語(yǔ)句之前完成for語(yǔ)句通常在表達(dá)式1中實(shí)現(xiàn)循環(huán)控制變量的初始化while和for表達(dá)式的括號(hào)后面沒(méi)有“;”do…while表達(dá)式的括號(hào)后面有“;”5.4循環(huán)的本質(zhì)循環(huán)語(yǔ)句的選用原則循環(huán)次數(shù)是否確定循環(huán)次數(shù)已知,一般用for語(yǔ)句循環(huán)次數(shù)由循環(huán)體的執(zhí)行情況來(lái)確定,一般采用while語(yǔ)句或do…while語(yǔ)句循環(huán)體是否一定執(zhí)行循環(huán)體至少要執(zhí)行一次時(shí),采用do…while語(yǔ)句循環(huán)體可能一次也不執(zhí)行,則選用while語(yǔ)句或for語(yǔ)句【例】:下列程序的運(yùn)行結(jié)果是:#include<stdio.h>main(){inta=10,b=5,c=5,d=5;inti=0,j=0,k=0;for(;a>b;++b)i++;while(a>++c)j++;do{k++;while(a>d++);printf(“%d,%d,%d\n”,i,j,k);}}i:a)0b)4c)5d)6j:a)0b)4c)5d)6k:a)0b)4c)5d)65.4循環(huán)的本質(zhì)5.5循環(huán)嵌套循環(huán)嵌套若一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體中包含了另一循環(huán)語(yǔ)句,則構(gòu)成了循環(huán)的嵌套,稱為多重循環(huán)三種循環(huán)語(yǔ)句while、do…while、for可以互相嵌套,自由組合執(zhí)行過(guò)程應(yīng)先執(zhí)行內(nèi)層的循環(huán)體操作,然后是外層循環(huán)。內(nèi)層循環(huán)被執(zhí)行的次數(shù)應(yīng)為:內(nèi)層次數(shù)×外層次數(shù)對(duì)外層循環(huán)變量的每一個(gè)值,內(nèi)層循環(huán)的循環(huán)變量從初值變化到終值對(duì)外層循環(huán)的每一次循環(huán),內(nèi)層循環(huán)要執(zhí)行完整的循環(huán)語(yǔ)句提示各循環(huán)語(yǔ)句所描述的循環(huán)結(jié)構(gòu)必須完整,相互之間絕對(duì)不允許交叉5.5循環(huán)嵌套循環(huán)嵌套例:求1~1000之間的所有完數(shù)。所謂“完數(shù)”是指一個(gè)數(shù)恰好等于它的因子之和(除自身外)main(){inta,j,m;

for(a=1;a=1000;a++){for(m=0,j=1;j<=a/2;j++)if(!(a%j))m=m+j;if(m==a)printf(“%4d”,a);}}演示58。C

5.5循環(huán)嵌套循環(huán)嵌套例:求出用數(shù)字0~9可以組成多少個(gè)沒(méi)有重復(fù)的三位偶數(shù)main(){intn,i,j,k;n=0;for(i=1;i<=9;i++)/*百位數(shù)的處理*/for(k=0;k<=8;k=k+2)/*個(gè)位數(shù)的處理,k=k+2為偶數(shù)*/if(k!=i)for(j=0;j<=9;j++)/*十位數(shù)的處理*/if(j!=i&&j!=k)n++;printf(“%d\n”,n);}

演示59。C5.5循環(huán)的中斷與繼續(xù)break語(yǔ)句功能用于終止(某層)循環(huán)的執(zhí)行在switch語(yǔ)句中終止某個(gè)case的執(zhí)行格式:break;

作用在循環(huán)體內(nèi),使用break語(yǔ)句可退出循環(huán)體而執(zhí)行該循環(huán)語(yǔ)句后面的語(yǔ)句如果執(zhí)行到程序的某一點(diǎn)后需要退出循環(huán)體(不等循環(huán)的正常結(jié)束),可用break語(yǔ)句實(shí)現(xiàn)范圍switch語(yǔ)句、while語(yǔ)句、do…while語(yǔ)句、for語(yǔ)句5.5循環(huán)的中斷與繼續(xù)break語(yǔ)句例:從鍵盤上輸入字符和數(shù)字,邊輸入邊在屏幕上顯示出來(lái),當(dāng)輸入“*”星號(hào)時(shí)輸入結(jié)束#include<stdio.h>main(){inti;charnumb;

for(i=1;;i++){scanf(“%c”,&numb);if(numb==‘*’)break;elseprintf(“%c”,numb);}printf(“循環(huán)結(jié)束”);}演示5.c

5.5循環(huán)的中斷與繼續(xù)break語(yǔ)句例:編程求100個(gè)數(shù)的累加和,如果在某次計(jì)算后結(jié)果值(累加和)超過(guò)1000,則結(jié)束處理main(){intx,sum=0,i;for(i=1;i<=100;i++){scanf(“%d”,&x);sum=sum+x;if(sum>1000)break;}printf(“thesumis%d”,sum);}演示5B。C5.5循環(huán)的中斷與繼續(xù)continue功能結(jié)束本次循環(huán)(不是終止整個(gè)循環(huán))跳過(guò)循環(huán)體中continue語(yǔ)句后面的語(yǔ)句,開(kāi)始下一次循環(huán)格式:continue;處理過(guò)程終止循環(huán)體的本次執(zhí)行,返回循環(huán)語(yǔ)句的首部,檢查循環(huán)條件是否滿足以決定是否進(jìn)行下一次的循環(huán)體的處理范圍while語(yǔ)句、do…while語(yǔ)句、for語(yǔ)句5.5循環(huán)的中斷與繼續(xù)continue說(shuō)明continue語(yǔ)句只能出現(xiàn)在循環(huán)語(yǔ)句的循環(huán)體中若continue語(yǔ)句出現(xiàn)在while或do_while語(yǔ)句中,則跳過(guò)循環(huán)體中continue語(yǔ)句后面的語(yǔ)句,直接轉(zhuǎn)去判別下次循環(huán)控制條件若continue語(yǔ)句出現(xiàn)在for語(yǔ)句中,則跳過(guò)循環(huán)體中continue語(yǔ)句后面的語(yǔ)句,轉(zhuǎn)而執(zhí)行for語(yǔ)句的表達(dá)式35.5循環(huán)的中斷與繼續(xù)continue例:輸出3位數(shù)中所有能同時(shí)被3和5整除的數(shù)分析同時(shí)被3和5整除的數(shù)n滿足條件:n%3==0&&n%5==0不能同時(shí)被3和5整除的數(shù)n滿足條件:n%3!=0||n%5!=0對(duì)3位數(shù)循環(huán),即n=100,11,……,999若不滿足要求,應(yīng)跳過(guò)輸出語(yǔ)句轉(zhuǎn)而考察下一個(gè)n所以用continue語(yǔ)句結(jié)束本次循環(huán)若n滿足要求,則輸出n5.5循環(huán)的中斷與繼續(xù)continue例:輸出3位數(shù)中所有能同時(shí)被3和5整除的數(shù)#include<stdio.h>main()

{intn;

for(n=10;n<100;n++)

{if(n%3!=0||n%5!=0)continue;

printf("%5d",n);}

}#include<stdio.h>main(){intcount=0,n;charch;for(n=1;n<=20;n++){ch=getchar();if(ch=='K'||ch=='f')count++; elsecontinue;}printf("%d\n",count);}演示5C。Ccontinue例:隨機(jī)輸入20個(gè)字符,統(tǒng)計(jì)鍵入‘f’和‘K’字符的次數(shù)5.5循環(huán)的中斷與繼續(xù)5.5循環(huán)的中斷與繼續(xù)goto語(yǔ)句功能在函數(shù)體內(nèi)進(jìn)行無(wú)條件跳轉(zhuǎn)格式:goto

語(yǔ)句標(biāo)號(hào);例:if(a>2)gotolabel1;說(shuō)明多層循環(huán)嵌套(三層以上),采用goto語(yǔ)句直接從內(nèi)循環(huán)跳轉(zhuǎn)到循環(huán)外不允許使用goto語(yǔ)句從循環(huán)體外跳轉(zhuǎn)到循環(huán)體內(nèi)5.5循環(huán)的中斷與繼續(xù)goto、break、continue語(yǔ)句的區(qū)別continue語(yǔ)句只能出現(xiàn)在循環(huán)結(jié)構(gòu)中只結(jié)束本次循環(huán)體的執(zhí)行并開(kāi)始下一次循環(huán)通常與if語(yǔ)句結(jié)合使用僅僅影響該語(yǔ)句本身所處的循環(huán)break語(yǔ)句可出現(xiàn)在循環(huán)結(jié)構(gòu)和多分支結(jié)構(gòu)中break語(yǔ)句終止它所在的循環(huán)語(yǔ)句的執(zhí)行退出循環(huán)結(jié)構(gòu)和多分支結(jié)構(gòu)break語(yǔ)句處于嵌套結(jié)構(gòu)中時(shí),將只能跳出break語(yǔ)句所在的循環(huán)體而對(duì)其它循環(huán)結(jié)構(gòu)層沒(méi)有影響goto語(yǔ)句可以出現(xiàn)在任意結(jié)構(gòu)之中可直接退出循環(huán)結(jié)構(gòu)和多分支結(jié)構(gòu)5.6應(yīng)用例1:求S=1!+2!+3!+…+20!main(){floatn,sum=0.0,t=1.0,for(n=1;n<=20;n++){t=t*n;sum=sum+t;}printf(“sum=%.2f”,sum);}演示5D。C5.6應(yīng)用例2:現(xiàn)有一個(gè)等差數(shù)列,已知第一項(xiàng)a=1,公差b=4,輸出滿足前n項(xiàng)之和小于100的n的最大值#include<stdio.h>main(){inta=1,b=4,sum=1,n=1;while(sum<100){a=a+b;sum=sum+a;n++;}printf(“%d”,n-1);}如果令初始值sum=0,n=0,程序如何修改?

5.6應(yīng)用例3:求100到200之間的全部素?cái)?shù)#include<math.h>main(){intm,k,i,n=0;for(m=101;m<200;m=m+2){if(n%10==0)printf(“\n”);k=qurt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1){pritnf(“%5d”,m);n=n+1;}}}演示5F。C5.6應(yīng)用例4:計(jì)算100~1000之間有多少個(gè)各位數(shù)字之和為5的數(shù)main(){inti,s,k,count=0;

for(i=100;i<=1000;i++){s=0;k=i;while(k){s=s+k%10;k=k/10;}if(s!=5)continue;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論