C語言循環(huán)語句課件四章.ppt_第1頁
C語言循環(huán)語句課件四章.ppt_第2頁
C語言循環(huán)語句課件四章.ppt_第3頁
C語言循環(huán)語句課件四章.ppt_第4頁
C語言循環(huán)語句課件四章.ppt_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

循環(huán)結構,李曉玲,Page 2,本章結構,循環(huán)結構,循環(huán)結構概述,循環(huán)結構的嵌套,for語句,while語句,dowhile語句,Page 3,本章目標,了解循環(huán)結構、循環(huán)語句 重點掌握for語句、 while語句和dowhile語句的語法形式、執(zhí)行順序及用法 掌握循環(huán)結構的嵌套使用方法,Page 4,循環(huán)結構概述,為什么用循環(huán)結構? 循環(huán)的基本步驟是什么? 循環(huán)結構的定義?,Page 5,為什么用循環(huán)結構?,在程序設計中經(jīng)常會遇到在某一條件成立時,重復執(zhí)行某些操作。 例如,求: sum=1+2+3+4+n,Page 6,循環(huán)的基本步驟,(1)給sum賦值0, i賦值1;,(2)令sum=sum+i, i=i+1;,(3)若i=n,則重復執(zhí)行(2),(4)輸出sum的值,Page 7,循環(huán)結構的定義,循環(huán)結構:就是在給定條件成立的情況下,重復執(zhí)行一個程序段;當給定條件不成立時,退出循環(huán),再執(zhí)行循環(huán)下面的程序。 循環(huán)語句:實現(xiàn)循環(huán)結構的語句稱為循環(huán)語句。 在C中,循環(huán)語句有以下三種: for語句 while語句 dowhile語句,Page 8,for語句(P29),語法形式: for(表達式1;表達式2;表達式3) 語句 說明: 圓括號內的三個表達式用分號“;”隔開; 表達式1稱為循環(huán)初始化表達式,通常為賦值表達式; 表達式2稱為循環(huán)條件表達式,通常為關系或邏輯表達式; 表達式3稱為循環(huán)增量表達式,通常為賦值表達式,增量大小通常稱為步長; 語句稱為循環(huán)體,可以是單個語句,也可以是多個語句。,for(循環(huán)初始化;循環(huán)條件;循環(huán)增量),Page 9,for語句,表達式1可以省略 for( ;表達式2;表達式3) 表達式1和3都可以省略 for(;表達式2;) 如果表達式3省略,則在循環(huán)體內應該有改變循環(huán)條件的語句 表達式1和3可以是簡單表達式,也可以是逗號表達式 for(i=0,j=100;i=j;i+,j-) k=i+j;,i=1; for(;i=100;i+) sum=sum+i;,Page 10,for語句,執(zhí)行順序 (1)計算表達式1的值; (2)計算表達式2的值,若表達式2的值為true,則轉到(3);若為false,則結束循環(huán) (3)執(zhí)行循環(huán)體語句; (4)計算表達式3的值,返回(2)繼續(xù)執(zhí)行。 流程圖,表達式 2,語句,false,true,求解表達式1,求解表達式3,Page 11,省略表達式1的寫法 同時省略表達式1和3時的寫法,for語句,例 求自然數(shù)110之和。 #include void main() int i,sum=0; for(i=1;i=10;i+) sum+=i; printf(“sum=%dn”,sum); ,?,分析:本題需要用累加算法,累加過程是一個循環(huán)過程,可以用for語句實現(xiàn)。,Page 12,for語句書上例子及練習,P30 例2-7 P32 例2-8 sum=1-1/3+1/5-1/7+1/n P33 例2-9 求n! P34 練習2-13到2-17 復習分支語句和for語句的綜合例題: P46 例3-4 P50 例3-6 P54 例3-9,Page 13,while語句(當型循環(huán)),語法形式: while(表達式) 語句 說明: 表達式稱為循環(huán)控制條件表達式,一般為關系表達式或邏輯表達式,必須用一對圓括號“()”括起來。 語句稱為循環(huán)體,可以是單個語句,也可以是多個語句。,循環(huán)控制條件,循環(huán)體,Page 14,while語句(當型循環(huán)),執(zhí)行順序 判斷表達式(循環(huán)控制條件)的值 若表達式的值為true,則執(zhí)行循環(huán)體(語句) 若表達式的值為false,則執(zhí)行while語句后的語句 流程圖 注意:在循環(huán)體中,一般應該包含改變循環(huán)條件表達式的語句。,表達式,語 句,false,true,Page 15,while語句(當型循環(huán)),例 求自然數(shù)110之和。 分析:本題需要用累加算法,累加過程是一個循環(huán)過程,可以用while語句實現(xiàn)。 流程圖,Page 16,while語句(當型循環(huán)),例 求自然數(shù)110之和的源程序。 #include void main() int i=1,sum=0; while(i=10) sum+=i; i+; printf(“sum=%dn”,sum); ,運行結果: sum=55,Page 17,while語句書上例子及練習,P58 例4-1 P61 例4-2 P62 練習4-1、4-2、4-3、4-4,Page 18,dowhile語句(直到型循環(huán)),語法形式: do 語句 while(表達式); 說明: 表達式稱為循環(huán)控制條件表達式,一般為關系表達式或邏輯表達式,必須用一對圓括號“()”括起來。 語句稱為循環(huán)體,可以是單個語句,也可以是多個語句。 dowhile語句以分號結束。,循環(huán)控制條件,循環(huán)體,以分號結束,Page 19,dowhile語句(直到型循環(huán)),執(zhí)行順序 先執(zhí)行語句,后判斷表達式的值 若表達式的值為true,則繼續(xù)執(zhí)行循環(huán)體(語句) 若表達式的值為false,則結束循環(huán),執(zhí)行dowhile語句后的語句 流程圖 注意:在循環(huán)體中,一般應該包含改變條件表達式的語句。,語 句,false,true,表達式,Page 20,dowhile語句(直到型循環(huán)),例 用dowhile語句求自然數(shù)110之和。 分析:本題需要用累加算法,累加過程是一個循環(huán)過程,可以用dowhile語句實現(xiàn)。 流程圖,Page 21,dowhile語句(直到型循環(huán)),例 求自然數(shù)110之和的源程序。 #include void main() int i=1,sum=0; do sum+=i; i+; while(i=10); printf(“sum=%dn”,sum); ,運行結果: sum=55,Page 22,dowhile語句書上例子及練習,P62 例4-3 P64 練習4-5,Page 23,dowhile和while語句的區(qū)別,相同點:都是實現(xiàn)循環(huán)結構的語句 區(qū)別: while語句先判斷表達式的值,為true時,執(zhí)行循環(huán)體;(先判斷,后執(zhí)行) dowhile語句先執(zhí)行循環(huán)體,再判斷表達式的值。(先執(zhí)行,后判斷) 思考題:在什么情況下,while和dowhile語句的條件表達式和循環(huán)體相同,而循環(huán)次數(shù)卻不同?,?,Page 24,循環(huán)結構的嵌套,在程序設計中,一個循環(huán)語句的循環(huán)體又包含一個完整的循環(huán)結構時,構成多重循環(huán),又稱為循環(huán)語句的嵌套。 for() do while(); ,for() do while();,Page 25,循環(huán)結構的嵌套,例 寫出右面圖形的源程序。 #include void main() int i,j; for(i=1;i=3;i+) for(j=1;j=5;j+) printf(“*”); printf(“n”); ,* * *,Page 26,循環(huán)嵌套書上例子及練習,P68 例4-6 P70 練習4-8,Page 27,本章總結,語法形式,語法形式,for語句,while(表達式) 語句,do 語句 while(表達式);,循環(huán)結構,循環(huán)結構概述,while語句,dowhile語句,先判斷后執(zhí)行,先執(zhí)行后判斷,就是在給定條件成立的情況下,重復執(zhí)行一個程序段;當給定條件不成立時,退出循環(huán),再執(zhí)行循環(huán)下面的程序。,語法形式,for(表達式1;表達式2;表達式3) 語句,最靈活,循環(huán)結構的嵌套,在程序設計中,一個循環(huán)語句的循環(huán)體又包含一個完整的循環(huán)結構時,構成多重循環(huán),Page 28,循環(huán)語句練習,P64 例4-4 判斷素數(shù) P67 練習4-6、4-7 4.5節(jié) 例4-7到4-11 練習4-9到4-14,Page 29,經(jīng)典例題,求斐波那契數(shù)列(P74 例4-10) 中國古典算術問題(P75 例4-11) 相關問題:種數(shù)問題、百雞問題 求1599中能被3整除,且至少有一位數(shù)字為5的所有整數(shù)。 輸出9*9口訣表 求1!+2!+3!+4!+10! 打印圖形 找出1000以內的所有完數(shù)。 一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為“完數(shù)”。例如6=123 求水仙花數(shù):是指一個n(=3)位數(shù)字的數(shù),它等于每個數(shù)字的n次冪之和。 輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。,Page 30,3.求1599中能被3整除,且至少有一位數(shù)字為5的所有整數(shù)。,判斷a、b、c中是否有5:將1599中三位整數(shù)i分解成個位、十位、百位,分別存放在變量a、b、c中。然后判斷這三個變量是否含5。將三位整數(shù)i (設i=513)分解成個位、十位、百位的方法是: c=i/100; /百位 b=i%100/10; /十位 a=i%100%10; /個位,Page 31,#include void main() int i,a,b,c; for(i=1;i=599;i+) c=i/100; /百位 b=i%100/10; /十位 a=i%100%10; /個位 if(i%3=0 ,Page 32,4.輸出9*9口訣表,#include void main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(“%d*%d=%2d “,i,j,i*j); printf(“n“); ,Page 33,打印下列圖形,#include void main() int i,j; for(i=1;i=5;i+) for(j=1;j=i;j+) printf(“*“); printf(“n“); ,Page 34,打印下列圖形,#include void main() int i,j; for(i=1;i=i;j-) printf(“ “); for(j=1;j=i;j+) printf(“*“); printf(“n“); ,Page 35,打印下列圖形,#include void main() int i,j; for(i=1;i=i;j-) printf(“*“); printf(“n“); ,Page 36,打印下列圖形,#include void main() int i,j,n; printf(“請輸入棱形的對角線半長度n:“); scanf(“%d“, ,Page 37,打印下列圖形,#include #include void main() int i,j; for(i=-3;i=3;i+) for(j=0;j=10+abs(i);j+) printf(“ “); for(j=1;j=2*(4-abs(i)-1;j+) printf(“*“); printf(“n“); ,Page 38,7.找出1000以內的所有完數(shù),#include void main() int i,j,s; for(i=1;i=1000;i+) s=0; for(j=1;ji;j+) if(i%j=0)s=s+j; if(s=i)printf(“%dn“,s); ,Page 39,求100之內的素數(shù),只能被1和本身整除的數(shù) 判斷一個數(shù)a是否為素數(shù),只需將它除以2(sqrt(a)取整)即可,如果都不能整除,則a就是素數(shù)。,Page 40,#include #include void main() int a,k,i,n; n=0; for(a=2;ak) /若ik,則a為素數(shù) printf(“%10d“,a); /輸出素數(shù) n=n+1; /對素數(shù)進行統(tǒng)計個數(shù) printf(“n“); ,求100之內的素數(shù),Page 41,輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。,輾轉相除法是利用以下性質來確定兩個正整數(shù) a 和 b 的最大公因子的: 1. a b,令r為所得余數(shù)(0rb) 若 r = 0,算法結束;b 即為答案。 2. 互換:置 ab,br,并返回第一步。,Page 42,求兩個自然數(shù)m與n的最大公約數(shù)采用輾轉相除法 設最小公倍數(shù) (Lease common multiple)為lcm=m*n; 最大公約數(shù)(Greatest common divisor)為gcd。 可采用如

溫馨提示

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

評論

0/150

提交評論