




已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
,正確認識循環(huán)程序的執(zhí)行特點,運用3種循環(huán)語句進行循環(huán)程序設計,運用2個循環(huán)輔助語句更好地控制程序流程,能力目標:,任務一 認識while語句,1初識while語句,(1)思考:在程序設計中,用putchar()一次只能輸出一個星號*,那么輸出5個星號*、10個星號*,甚至更多的星號*,該如何處理呢?,(2)觀察下面兩個程序,完成問題。,程序一 main() putchar(*); putchar(*); putchar(*); putchar(*); putchar(*); ,任務一 認識while語句,程序二 main() int i=1; while(i=5) putchar(*); i+=1; ,上面兩個程序分別實現什么功能?,(它們都實現輸出5個星號*),兩個程序中,哪一個簡便?在程序中能否用循環(huán)語句來實現對重復操作的控制?,答:程序二簡便,在程序中能用循環(huán)語句來實現對重復操作的控制。,任務一 認識while語句,2學習while語句的形式,(1)請觀察下面while語句的形式,完成問題。,(2)試寫出while語句的一般形式。,while(表達式) 語句,語句一 while(n+0 ,兩條語句的關鍵字是什么?,關鍵字后的括號內是什么表達式?,關鍵字后的語句部分可以是哪些語句?,while,關系表達式、邏輯表達式,簡單語句、復合語句,3學習while語句的執(zhí)行過程,(1)請觀察while語句的流程,完成問題。,真,假,請歸納執(zhí)行過程: 計算 ,如果表達式為真,進入 ,開始一次 循環(huán)周期;否則進入,結束循環(huán)。 執(zhí)行語句。語句執(zhí)行完后就結束本次循環(huán)周期,重新返回 。 結束循環(huán),執(zhí)行循環(huán)后面的語句。,表達式,(2)請記錄該程序的上機調試結果,畫出以下程序的流程圖,并指出循環(huán)條件、循環(huán)體及循環(huán)控制變量的三個工作。,請記錄上機調試結果:,#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)結構中的表達式被稱為循環(huán)條件。 循環(huán)體 在每次循環(huán)周期均要執(zhí)行一次的語句,稱為循環(huán)體。它可以是簡單語句、復合語句,也可以是空語句。 循環(huán)控制變量 在循環(huán)條件中控制條件真假的變量,稱為循環(huán)控制變量。它通常決定循環(huán)體的執(zhí)行次數。 正確地寫出一個while循環(huán)結構,對循環(huán)控制變量做3個工作:一是給控制變量賦初值;二是寫出正確的循環(huán)條件;三是控制變量的更新。,知識盤點:,任務二 認識dowhile語句,1學習dowhile語句的形式,任務二 認識dowhile語句,(1)請觀察下面程序中dowhile語句的形式,完成問題。 sum=0; i=1; do sum=sum+i; i=i+1; while(i=10);,該語句的關鍵字是什么? 語句部分即循環(huán)體部分在哪里? 表達式即循環(huán)條件部分在哪里?,(do while),(sum=sum+i;i=i+1;),i=10,(2)試寫出dowhile語句的一般形式。,do While(表達式);,任務二 認識dowhile語句,2學習dowhile語句的執(zhí)行過程,請觀察dowhile語句的流程,完成問題。,真,假,請歸納執(zhí)行過程: 執(zhí)行do下面的 (循環(huán)體),開始一個循環(huán)周期。 計算while括號中的 (循環(huán)條件)。如果表達式為真, 結束本次循環(huán),重新返回 ,開始下一個循環(huán)周期;否則,轉。 結束dowhile循環(huán),流程轉到循環(huán)結構外第1條語句。,語句,表達式,(1)比較下面2個程序,寫出運行結果。 #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!= *); 運行結果 運行結果 若輸入:ABC* 若輸入:ABC* 則輸出: 則輸出: 若輸入:*AB* 若輸入:*AB* 則輸出: 則輸出:,3dowhile語句與while語句的區(qū)別,ABC,*AB,ABC,無結果,(2)由上述運行結果看出,dowhile語句與while語句的區(qū)別是什么?,答:當第次執(zhí)行循環(huán)體時,因為表達式為“真”,兩種循環(huán)得到的結果相同;否則,二者結果就不同。(前提:二者循環(huán)體中的語句相同),(1)觀察下面的程序段,完成問題。 程序段一 程序段二 sum=0; sum=0; I=1; for(I=1;I=10;I+) while(I=10) scanf(“%f“, ,任務三 認識for語句,1學習for語句的形式,程序段一實現的功能是什么? 程序段一、二所實現的功能完全一樣,但在形式上有所不 同,請將程序段一中循環(huán)控制變量I的3個工作在程序段二中找到。 (2)試寫出for語句的一般形式。,答:輸入10個數,并求這10個數的和。,for(表達式;表達式;表達式) 語句,任務三 認識for語句,真,假,2學習for語句的執(zhí)行過程,請觀察for語句的流程,完成問題。,請歸納執(zhí)行過程: 計算表達式1。 計算表達式2,如果結果為真轉 ;如果結果為假轉。 執(zhí)行for下面的語句,執(zhí)行完后轉 。 計算表達式3,結束本次循環(huán)周期,轉回 ,開始下一次循環(huán)。 結束循環(huán),執(zhí)行for語句后的第1條語句。,運行結果:,運行結果:,運行結果:,3討論for語句的靈活性,(1)寫出以下程序段的運行結果。,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中可能會出現哪幾種情況?,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);,運行結果:,運行結果:,程序:,流程圖:,4運用for語句編程,編程求1210之積。(同時畫出該程序的流程圖),()請觀察下面兩個圖,完成問題。,(b)圖,任務四 認識循環(huán)嵌套,1學習循環(huán)嵌套的形式,while() do while() do while(); while();,(2)閱讀信息,完成問題。,信息:語言提供的3種循環(huán)結構: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)體中有幾條語句?,程序中內層循環(huán)為哪幾行?內層循環(huán)的循環(huán)體中有幾條語句?,答:兩個變量,m和n,答:二重循環(huán),答:外層循環(huán)從7行到12行,外層循環(huán)的循環(huán)體中有2條語句。,答:內層循環(huán)從9行到10行,內層循環(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,完成下表。(該表給出了內外層循環(huán)控制變量的變化情況),請思考:為什么會出現這種結果?與上例程序有什么區(qū)別?,(3)請閱讀程序,完成問題,并記錄上機調試結果。,#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學習break語句 (1)請閱讀程序,完成問題。,任務五 認識循環(huán)輔助語句,#include #define PI 3.14 main() int r; float V,h; printf(“請輸入圓柱體的高:“); scanf(“%f“,r+) 接下頁,該程序for語句部分的循環(huán)體內有幾條語句?,任務五 認識循環(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次才退出嗎?為什么?,請寫出該程序的預期結果。 請輸入圓柱體的高:6,答:不一定,因為當V100.0時,執(zhí)行break語句退出循環(huán)。,體積等于18.840000 體積等于75.360001 此時r=3,請記錄上機調試結果:,差異:,(3)請記錄該程序的上機調試結果,并與預期結果比較,有差異嗎?,2學習continue語句,()請閱讀程序,完成問題,并記錄上機調試結果。,記錄上機調試結果:,該程序for語句部分的循環(huán)體內有幾條語句?,答:有2條語句。,#include main() int num; for(num=50;num=100;num+) if(num%7=0) continue; printf(“%dn“,num); ,(2)請觀察該程序for語句部分的流程,完成問題。,真,假,假,真,continue,(3)思考:如果該程序不使用continue語句,要實現同樣的功能,該如何處理?,從流程上看出,什么情況下不輸出數據?而輸出的數據是具有什么性質的數據?,答:當數據能被7整除時,不輸出。而輸出的數據具有不能被7整除的性質。,break語句也可以用于循環(huán)結構中,使程序提前跳出循環(huán)體,結束循環(huán),流程轉移到循環(huán)體后面的第1條語句。break語句不適用于除循環(huán)結構和switch結構外的其他地方。,break語句在嵌套循環(huán)里,它只影響包含它的最內層循環(huán)。,知識盤點:,continue語句的作用是:使本次循環(huán)體的執(zhí)行提前結束(即流程跳過循環(huán)體中continue后的所有語句),提前結束本次循環(huán)周期,然后再根據循環(huán)條件是否滿足決定是否進入下一次循環(huán)周期。,continue語句結束本次循環(huán)周期,進入下一次周期。那么,下一次周期究竟在何處開始呢?對于while語句和dowhile語句,執(zhí)行了coutinue語句后,它的下一步操作是計算測試表達式即循環(huán)控制條件;對于for語句,下一步操作是先進行表達式3的計算即控制變量的更新、調整,然后再進行表達式2的計算即循環(huán)控制條件。,知識盤點:,1累加的應用 題目:用while語句編程求1+2+3+100的和。,任務六 循環(huán)的應用,(1)分析: 首先定義了2個變量。sum用來保存和,將sum清成0,避免內存中產生隨機數偶然存入sum,造成結果不準確。 變量i起到了控制循環(huán)次數的作用,當i為1、2、3直到100時,條件為真,加入變量sum中。一旦i為101,條件i=100不成立,結束循環(huán)。 由此可見,變量i起到了控制循環(huán)次數的作用,稱為循環(huán)控制變量。,(2)根據分析,填寫程序。 #include main() int sum,i; sum=0; i=1; while(i=100) sum=sum+i; i+; printf(“1+2+100=%d“,sum); ,任務六 循環(huán)的應用,(3)用for語句編程實現以上同樣的功能。 程序:,main() int sum,I; sum=0; for(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 城際鐵路運營維護成本控制考核試卷
- 砼構件預制件的模具使用壽命延長考核試卷
- 2025裝修合同簽訂范本「」
- 海上油氣平臺設計的抗地震性能提升方法考核試卷
- 服裝批發(fā)市場行業(yè)政策解讀與應用考核試卷
- 電子材料的磁熱效應研究考核試卷
- 油氣倉儲環(huán)節(jié)的智能化改造考核試卷
- 學校黨建考試試題及答案
- 公務員智商測試題及答案
- 醫(yī)用氣體考試試題及答案
- 自主智能系統(tǒng)知到課后答案智慧樹章節(jié)測試答案2025年春哈爾濱工程大學
- GB/T 6433-2025飼料中粗脂肪的測定
- 服務消費券發(fā)放的精細化實施方案
- 2019版 浙科版 高中生物學 必修2 遺傳與進化《第二章 染色體與遺傳》大單元整體教學設計2020課標
- 【MOOC期末】《介入放射學》(東南大學)中國大學慕課答案
- DB50T 771-2017 地下管線探測技術規(guī)范
- 防災減災培訓(安全行業(yè)講座培訓課件)
- 2024年《BIM技術介紹》課件
- 情景教學法在小學英語課堂中的有效運用研究(開題報告)
- 花鍵計算公式DIN5480
- 《荷塘月色》課件+2024-2025學年統(tǒng)編版高中語文必修上冊
評論
0/150
提交評論