資源描述:
《控制結(jié)構(gòu)(循環(huán)結(jié)構(gòu)).ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第4章控制結(jié)構(gòu)(循環(huán)結(jié)構(gòu))教學(xué)內(nèi)容掌握三條語句兩種循環(huán)的實現(xiàn)形式理解循環(huán)三要素熟悉循環(huán)結(jié)構(gòu)程序設(shè)計思路教學(xué)重點兩種循環(huán)的實現(xiàn)形式教學(xué)難點循環(huán)嵌套循環(huán)結(jié)構(gòu)程序設(shè)計循環(huán)概述用途解決一些需要重復(fù)多次才能完成的問題每一次在做相同操作或與上一次有聯(lián)系的相似操作分類循環(huán)條件循環(huán)體0當型循環(huán)非0入口出口非0循環(huán)體循環(huán)條件0直到型循環(huán)入口出口while語句功能:實現(xiàn)當型循環(huán)形式:while(表達式)循環(huán)體語句執(zhí)行:先判斷,后執(zhí)行表達式循環(huán)體語句0非0例4-11求n!P101i<=nt=t*ii++0非0i=1,t=1.0源程序main(){intn,i;floatt;printf(
2、“pleaseinputn(n>=0):”);scanf(“%d”,&n);t=1.0;i=1;while(i<=n){t*=i;i++;}printf(“%d!=%f”,n,t);}循環(huán)條件,i為循環(huán)變量循環(huán)變量初始化改變循環(huán)變量的值while語句應(yīng)用舉例例4-12:求π的近似值P101程序流程輸入數(shù)據(jù):無處理數(shù)據(jù):π/4≈1-1/3+1/5-1/7+……輸出結(jié)果:π算法分析問題實質(zhì):累加求和解決方案:循環(huán)循環(huán)條件循環(huán)變量初始化改變循環(huán)變量的值累加項t的絕對值大于等于10-6循環(huán)變量t=第1項的值循環(huán)變量t=下一項的值流程圖開始pi=0t=1
3、t
4、>=10-6
5、pi=pi+tt=下一項非00pi=pi*4輸出pi結(jié)束找規(guī)律項:1、-1/3、1/5、-1/7…找遞推公式找本項與下一項之間的關(guān)系每一項都是一個分式分子都是1分母是n+2,n代表前一項分母下一項與本項符號相反n=n+2sign=-signt=sign/nn=1sign=1源程序#includemain(){floatpi,t,n;intsign=1;pi=0.0;n=1.0;t=1.0;while(fabs(t)>=1e-6){pi=pi+t;n=n+2;sign=-sign;t=sign/n;}pi=pi*4;printf(“pi=%f”,p
6、i);}循環(huán)條件,t為循環(huán)變量循環(huán)變量初始化改變循環(huán)變量的值do-while語句功能:實現(xiàn)直到型循環(huán)形式do循環(huán)體語句while(表達式);執(zhí)行:先執(zhí)行,后判斷非0循環(huán)體語句表達式0當型循環(huán)可能一次也不執(zhí)行,直到型循環(huán)至少執(zhí)行一次do-while語句應(yīng)用舉例例4-13:計算sin(x)P102定義變量輸入數(shù)據(jù)處理數(shù)據(jù)輸出結(jié)果xsin(x)=x-x3/3!+x5/5!-x7/7!+…sin(x)累加問題循環(huán)實現(xiàn)當型循環(huán)直到型循環(huán)直到最后一項的絕對值小于1e-7循環(huán)條件循環(huán)變量初始化循環(huán)體(改變循環(huán)變量)fabs(t)>=1e-7s=s+tt=xt=-t*x*x/(n-
7、1)/n找規(guī)律通項公式:an與n之間的關(guān)系遞推公式:an與an-1之間的關(guān)系源程序#includemain(){doubles,t,x;intn;printf(“pleaseinputx:”);scanf(“%lf”,&x);t=x;n=1;s=x;do{n=n+2;t=-t*x*x/(n-1)/ns=s+t;}while(fabs(t)>=1e-7);printf(“sin(%f)=%lf”,x,s);}如果將s=x;改為s=0;程序應(yīng)如何修改?for語句功能最靈活,既可實現(xiàn)當型循環(huán),也可實現(xiàn)直到型循環(huán)多用于循環(huán)次數(shù)已知的循環(huán),也可用于循環(huán)次數(shù)未知
8、的循環(huán)形式for(表達式1;表達式2;表達式3)語句執(zhí)行流程圖for語句執(zhí)行流程圖如何轉(zhuǎn)換成等價的while循環(huán)?表達式1;while(表達式2){語句表達式3;}求解表達式1表達式2循環(huán)體語句求解表達式3非00表達式1只在進入循環(huán)前求解一次for語句的典型應(yīng)用for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)語句main(){inti,sum;sum=0;for(i=1;i<=100;i++)sum=sum+i;printf(“%d”,sum);}循環(huán)變量賦初值循環(huán)條件循環(huán)體語句循環(huán)變量增值非00for語句的靈活性for(sum=0,i=1;i<=100;i++)s
9、um=sum+i;sum=0,i=1;for(;i<=100;i++)sum=sum+i;for(sum=0,i=1;i<=100;){sum=sum+i;i++;}sum=0,i=1;for(;i<=100;){sum=sum+i;i++;}for(sum=0,i=1;;i++){if(i<=100)break;sum=sum+i;}sum=0,i=1;for(;;){if(i<=100)break;sum=sum+i;i++;}循環(huán)嵌套一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu)三種循環(huán)語句可以相互嵌套P107一般情況下各層循環(huán)變量互不相同例4-16:打印金字塔圖