




已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
,正確認識循環(huán)程序的執(zhí)行特點,運用3種循環(huán)語句進行循環(huán)程序設(shè)計,運用2個循環(huán)輔助語句更好地控制程序流程,能力目標:,任務(wù)一 認識while語句,1初識while語句,(1)思考:在程序設(shè)計中,用putchar()一次只能輸出一個星號*,那么輸出5個星號*、10個星號*,甚至更多的星號*,該如何處理呢?,(2)觀察下面兩個程序,完成問題。,程序一 main() putchar(*); putchar(*); putchar(*); putchar(*); putchar(*); ,任務(wù)一 認識while語句,程序二 main() int i=1; while(i=5) putchar(*); i+=1; ,上面兩個程序分別實現(xiàn)什么功能?,(它們都實現(xiàn)輸出5個星號*),兩個程序中,哪一個簡便?在程序中能否用循環(huán)語句來實現(xiàn)對重復(fù)操作的控制?,答:程序二簡便,在程序中能用循環(huán)語句來實現(xiàn)對重復(fù)操作的控制。,任務(wù)一 認識while語句,2學(xué)習(xí)while語句的形式,(1)請觀察下面while語句的形式,完成問題。,(2)試寫出while語句的一般形式。,while(表達式) 語句,語句一 while(n+0 ,兩條語句的關(guān)鍵字是什么?,關(guān)鍵字后的括號內(nèi)是什么表達式?,關(guān)鍵字后的語句部分可以是哪些語句?,while,關(guān)系表達式、邏輯表達式,簡單語句、復(fù)合語句,3學(xué)習(xí)while語句的執(zhí)行過程,(1)請觀察while語句的流程,完成問題。,真,假,請歸納執(zhí)行過程: 計算 ,如果表達式為真,進入 ,開始一次 循環(huán)周期;否則進入,結(jié)束循環(huán)。 執(zhí)行語句。語句執(zhí)行完后就結(jié)束本次循環(huán)周期,重新返回 。 結(jié)束循環(huán),執(zhí)行循環(huán)后面的語句。,表達式,(2)請記錄該程序的上機調(diào)試結(jié)果,畫出以下程序的流程圖,并指出循環(huán)條件、循環(huán)體及循環(huán)控制變量的三個工作。,請記錄上機調(diào)試結(jié)果:,#include“stdio.h“ main() int I; char ch; ch=# ; I=1; while(I3) printf(“%cn“,ch); I+; ,流程圖:,循環(huán)條件是 循環(huán)體是 循環(huán)控制變量是 ,3個工作分別 是 、 、 。,I3,printf(“%cn”,ch);,I,I=1,I3,I+,(3)請觀察下面2個程序段,完成問題。,語句一 I=1; while(I+=10) printf(“hello!n”);,語句二 I=1; while(-I=10) printf(“world!n”);,判斷下面哪一個程序段是正確的?,循環(huán)控制變量更新的趨勢是什么?,程序在什么時候才能判斷循環(huán)是否終止?,(語句一),(讓循環(huán)條件為假),(判斷循環(huán)條件時),討論,用while語句編程求1+2+10之和。 (同時畫出該程序的流程圖),程序:,流程圖:,循環(huán)條件 在循環(huán)結(jié)構(gòu)中的表達式被稱為循環(huán)條件。 循環(huán)體 在每次循環(huán)周期均要執(zhí)行一次的語句,稱為循環(huán)體。它可以是簡單語句、復(fù)合語句,也可以是空語句。 循環(huán)控制變量 在循環(huán)條件中控制條件真假的變量,稱為循環(huán)控制變量。它通常決定循環(huán)體的執(zhí)行次數(shù)。 正確地寫出一個while循環(huán)結(jié)構(gòu),對循環(huán)控制變量做3個工作:一是給控制變量賦初值;二是寫出正確的循環(huán)條件;三是控制變量的更新。,知識盤點:,任務(wù)二 認識dowhile語句,1學(xué)習(xí)dowhile語句的形式,任務(wù)二 認識dowhile語句,(1)請觀察下面程序中dowhile語句的形式,完成問題。 sum=0; i=1; do sum=sum+i; i=i+1; while(i=10);,該語句的關(guān)鍵字是什么? 語句部分即循環(huán)體部分在哪里? 表達式即循環(huán)條件部分在哪里?,(do while),(sum=sum+i;i=i+1;),i=10,(2)試寫出dowhile語句的一般形式。,do While(表達式);,任務(wù)二 認識dowhile語句,2學(xué)習(xí)dowhile語句的執(zhí)行過程,請觀察dowhile語句的流程,完成問題。,真,假,請歸納執(zhí)行過程: 執(zhí)行do下面的 (循環(huán)體),開始一個循環(huán)周期。 計算while括號中的 (循環(huán)條件)。如果表達式為真, 結(jié)束本次循環(huán),重新返回 ,開始下一個循環(huán)周期;否則,轉(zhuǎn)。 結(jié)束dowhile循環(huán),流程轉(zhuǎn)到循環(huán)結(jié)構(gòu)外第1條語句。,語句,表達式,(1)比較下面2個程序,寫出運行結(jié)果。 #include“stdio.h“ #include“stdio.h“ main() main() char ch; char ch; ch=getchar(); ch=getchar(); do while(ch!= *) putchar(ch); putchar(ch); ch=getchar(); ch=getchar(); while(ch!= *); 運行結(jié)果 運行結(jié)果 若輸入:ABC* 若輸入:ABC* 則輸出: 則輸出: 若輸入:*AB* 若輸入:*AB* 則輸出: 則輸出:,3dowhile語句與while語句的區(qū)別,ABC,*AB,ABC,無結(jié)果,(2)由上述運行結(jié)果看出,dowhile語句與while語句的區(qū)別是什么?,答:當?shù)诖螆?zhí)行循環(huán)體時,因為表達式為“真”,兩種循環(huán)得到的結(jié)果相同;否則,二者結(jié)果就不同。(前提:二者循環(huán)體中的語句相同),(1)觀察下面的程序段,完成問題。 程序段一 程序段二 sum=0; sum=0; I=1; for(I=1;I=10;I+) while(I=10) scanf(“%f“, ,任務(wù)三 認識for語句,1學(xué)習(xí)for語句的形式,程序段一實現(xiàn)的功能是什么? 程序段一、二所實現(xiàn)的功能完全一樣,但在形式上有所不 同,請將程序段一中循環(huán)控制變量I的3個工作在程序段二中找到。 (2)試寫出for語句的一般形式。,答:輸入10個數(shù),并求這10個數(shù)的和。,for(表達式;表達式;表達式) 語句,任務(wù)三 認識for語句,真,假,2學(xué)習(xí)for語句的執(zhí)行過程,請觀察for語句的流程,完成問題。,請歸納執(zhí)行過程: 計算表達式1。 計算表達式2,如果結(jié)果為真轉(zhuǎn) ;如果結(jié)果為假轉(zhuǎn)。 執(zhí)行for下面的語句,執(zhí)行完后轉(zhuǎn) 。 計算表達式3,結(jié)束本次循環(huán)周期,轉(zhuǎn)回 ,開始下一次循環(huán)。 結(jié)束循環(huán),執(zhí)行for語句后的第1條語句。,運行結(jié)果:,運行結(jié)果:,運行結(jié)果:,3討論for語句的靈活性,(1)寫出以下程序段的運行結(jié)果。,for(I=5;I0;I-) printf(“%d“,I); for(n=2;n18;n=n+3) printf(“%d“,n); for(ch=a;ch=e;ch+) printf(“%3c“,ch);,(2)討論:在for語句的表達式1、表達式2、表達式3中可能會出現(xiàn)哪幾種情況?,for(I=1,j=5;Ij;I+,j-) printf(“I=%d j=%dn“,I,j); for(n=1;n*n20;n+) printf(“%dn“,n*n);,運行結(jié)果:,運行結(jié)果:,程序:,流程圖:,4運用for語句編程,編程求1210之積。(同時畫出該程序的流程圖),()請觀察下面兩個圖,完成問題。,(b)圖,任務(wù)四 認識循環(huán)嵌套,1學(xué)習(xí)循環(huán)嵌套的形式,while() do while() do while(); while();,(2)閱讀信息,完成問題。,信息:語言提供的3種循環(huán)結(jié)構(gòu):whiledowhilefor都可以相互嵌套, 自由組合。 問題:在已有幾種循環(huán)嵌套形式后,補充3種合法的形式。, , for(;) while() ,()請閱讀程序,完成問題。,2觀察二重循環(huán),#include #define R 5 #define C 5 main() int m,n; for(m=1;m=R;m+) /*7行*/ for(n=1;n=C;n+) /*9行*/ printf(“%3d“,m*n); /*10行*/ printf(“n“); /*12行*/ ,程序定義了哪些變量?,程序中采用幾重循環(huán)嵌套?,程序中外層循環(huán)為哪幾行?外層循環(huán)的循環(huán)體中有幾條語句?,程序中內(nèi)層循環(huán)為哪幾行?內(nèi)層循環(huán)的循環(huán)體中有幾條語句?,答:兩個變量,m和n,答:二重循環(huán),答:外層循環(huán)從7行到12行,外層循環(huán)的循環(huán)體中有2條語句。,答:內(nèi)層循環(huán)從9行到10行,內(nèi)層循環(huán)的循環(huán)體中有1條語句。,(2)請觀察循環(huán)嵌套部分的流程,完成問題。,真,假,真,假,for,1,5,6,2 4 6 8 10,3 6 9 12 15,4 8 12 16 20,5 10 15 20 25,完成下表。(該表給出了內(nèi)外層循環(huán)控制變量的變化情況),請思考:為什么會出現(xiàn)這種結(jié)果?與上例程序有什么區(qū)別?,(3)請閱讀程序,完成問題,并記錄上機調(diào)試結(jié)果。,#include #define R 5 main() int m,n; for(m=1;m=R;m+) for(n=1;n=m;n+) printf(“%3d“,m*n); printf(“n“); ,1學(xué)習(xí)break語句 (1)請閱讀程序,完成問題。,任務(wù)五 認識循環(huán)輔助語句,#include #define PI 3.14 main() int r; float V,h; printf(“請輸入圓柱體的高:“); scanf(“%f“,r+) 接下頁,該程序for語句部分的循環(huán)體內(nèi)有幾條語句?,任務(wù)五 認識循環(huán)輔助語句,3條語句。,除了當r10時,可退出for循環(huán)外,是否有其他的方式退出for循環(huán)?,答:可以通過當V100.0時,執(zhí)行break語句退出循環(huán)。,V=PI*r*r*h; if(V100.0) break; printf(“體積等于.2fn“,V); printf(“此時r=%dn“,r); ,(2)請觀察該程序for語句部分的流程,完成問題。,真,假,假,真,break,從流程上看,循環(huán)一定是執(zhí)行了10次才退出嗎?為什么?,請寫出該程序的預(yù)期結(jié)果。 請輸入圓柱體的高:6,答:不一定,因為當V100.0時,執(zhí)行break語句退出循環(huán)。,體積等于18.840000 體積等于75.360001 此時r=3,請記錄上機調(diào)試結(jié)果:,差異:,(3)請記錄該程序的上機調(diào)試結(jié)果,并與預(yù)期結(jié)果比較,有差異嗎?,2學(xué)習(xí)continue語句,()請閱讀程序,完成問題,并記錄上機調(diào)試結(jié)果。,記錄上機調(diào)試結(jié)果:,該程序for語句部分的循環(huán)體內(nèi)有幾條語句?,答:有2條語句。,#include main() int num; for(num=50;num=100;num+) if(num%7=0) continue; printf(“%dn“,num); ,(2)請觀察該程序for語句部分的流程,完成問題。,真,假,假,真,continue,(3)思考:如果該程序不使用continue語句,要實現(xiàn)同樣的功能,該如何處理?,從流程上看出,什么情況下不輸出數(shù)據(jù)?而輸出的數(shù)據(jù)是具有什么性質(zhì)的數(shù)據(jù)?,答:當數(shù)據(jù)能被7整除時,不輸出。而輸出的數(shù)據(jù)具有不能被7整除的性質(zhì)。,break語句也可以用于循環(huán)結(jié)構(gòu)中,使程序提前跳出循環(huán)體,結(jié)束循環(huán),流程轉(zhuǎn)移到循環(huán)體后面的第1條語句。break語句不適用于除循環(huán)結(jié)構(gòu)和switch結(jié)構(gòu)外的其他地方。,break語句在嵌套循環(huán)里,它只影響包含它的最內(nèi)層循環(huán)。,知識盤點:,continue語句的作用是:使本次循環(huán)體的執(zhí)行提前結(jié)束(即流程跳過循環(huán)體中continue后的所有語句),提前結(jié)束本次循環(huán)周期,然后再根據(jù)循環(huán)條件是否滿足決定是否進入下一次循環(huán)周期。,continue語句結(jié)束本次循環(huán)周期,進入下一次周期。那么,下一次周期究竟在何處開始呢?對于while語句和dowhile語句,執(zhí)行了coutinue語句后,它的下一步操作是計算測試表達式即循環(huán)控制條件;對于for語句,下一步操作是先進行表達式3的計算即控制變量的更新、調(diào)整,然后再進行表達式2的計算即循環(huán)控制條件。,知識盤點:,1累加的應(yīng)用 題目:用while語句編程求1+2+3+100的和。,任務(wù)六 循環(huán)的應(yīng)用,(1)分析: 首先定義了2個變量。sum用來保存和,將sum清成0,避免內(nèi)存中產(chǎn)生隨機數(shù)偶然存入sum,造成結(jié)果不準確。 變量i起到了控制循環(huán)次數(shù)的作用,當i為1、2、3直到100時,條件為真,加入變量sum中。一旦i為101,條件i=100不成立,結(jié)束循環(huán)。 由此可見,變量i起到了控制循環(huán)次數(shù)的作用,稱為循環(huán)控制變量。,(2)根據(jù)分析,填寫程序。 #include main() int sum,i; sum=0; i=1; while(i=100) sum=sum+i; i+; printf(“1+2+100=%d“,sum); ,任務(wù)六 循環(huán)的應(yīng)用,(3)用for語句編程實現(xiàn)以上同樣的功能。 程序:,main() int sum,I; sum=0; for(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跳棋教學(xué)課件
- 混合式教學(xué)課件
- 在宇宙的另一邊教學(xué)課件
- 吳勤學(xué) 教學(xué)課件
- 【定西】2025年甘肅定西市第二批赴外引進人才434人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025下半年廣安市公開考試招聘事業(yè)單位工作人員108人筆試歷年典型考題及考點剖析附帶答案詳解
- 易錯點20 中國精神-備戰(zhàn)2021年中考道德與法治一輪復(fù)習(xí)易錯題
- 【鄭州】2025年中國(河南)自由貿(mào)易試驗區(qū)鄭州片區(qū)管委會招聘10人筆試歷年典型考題及考點剖析附帶答案詳解
- 無紙化測試活動方案
- 文聯(lián)年會活動方案
- 2024年中級人民法院勞動審判輔助人員招聘考試筆試試題(含答案)
- 2025年廣東省高考語文試卷(含標準答案)
- 中國熱射病診斷與治療指南(2025版)
- 公共藝術(shù)裝置項目管理流程
- 2025年下半年佛山市南海區(qū)建筑工程質(zhì)量檢測站招考編外工作人員易考易錯模擬試題(共500題)試卷后附參考答案
- GB/T 45610-2025煤矸石回填塌陷區(qū)復(fù)墾技術(shù)規(guī)程
- 中醫(yī)基礎(chǔ)執(zhí)業(yè)醫(yī)師考試試題及答案
- 2025-2030年中國寫字樓行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 人教版(2024)七年級下冊英語Unit 8 Once upon a Time單元集體備課教案(共5課時)
- 診所托管合同協(xié)議
- 質(zhì)量檢驗(測)技術(shù)服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
評論
0/150
提交評論