循環(huán)就是在給定的條件成立時反復(fù)執(zhí)行某一程序段_第1頁
循環(huán)就是在給定的條件成立時反復(fù)執(zhí)行某一程序段_第2頁
循環(huán)就是在給定的條件成立時反復(fù)執(zhí)行某一程序段_第3頁
循環(huán)就是在給定的條件成立時反復(fù)執(zhí)行某一程序段_第4頁
循環(huán)就是在給定的條件成立時反復(fù)執(zhí)行某一程序段_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、在在C語言中可以用以下語句來實現(xiàn)循環(huán):語言中可以用以下語句來實現(xiàn)循環(huán):1. 用用while語句;語句;2. 用用do-while語句;語句;3. 用用for語句。語句。循環(huán)循環(huán):就是在給定的條件成立時反復(fù)執(zhí)行某一就是在給定的條件成立時反復(fù)執(zhí)行某一程序段,被反復(fù)執(zhí)行的程序段稱為循環(huán)體。程序段,被反復(fù)執(zhí)行的程序段稱為循環(huán)體。例如:例如: 求求 S=1+2+3+1000S12100S+1SS+2SS+100S作100次加法S+iS累加器計數(shù)器循環(huán)語句之 while語句while語句結(jié)構(gòu)流程圖while(條件)條件) 語句段;語句段;while語句結(jié)構(gòu)形式條件條件語句段成立不成立說明:說明:先判斷條件

2、,成立時執(zhí)行語句段。先判斷條件,成立時執(zhí)行語句段。條件同條件同ifif語句的條件一樣,可以是任何類語句的條件一樣,可以是任何類型的條件。型的條件。 whilewhile循環(huán)結(jié)構(gòu)常用于循環(huán)次數(shù)不固定,根循環(huán)結(jié)構(gòu)常用于循環(huán)次數(shù)不固定,根據(jù)是否滿足某個條件決定是否要執(zhí)行循環(huán)。據(jù)是否滿足某個條件決定是否要執(zhí)行循環(huán)。 i=1; s =0; while (i=100) s=s+i; i+; printf(“n1+2+3+100=%d”,s); 循環(huán)變量的初始化計數(shù)器的初始化累加器的初始化循環(huán)控制條件累加修改循環(huán)變量循環(huán)語句的三要素循環(huán)次數(shù)固定的循環(huán)語句循環(huán)次數(shù)固定的循環(huán)語句#include stdio.h

3、 void main() int x; scanf( %d,&x); int sum = 0;例:輸入一系列整數(shù),求這些整數(shù)的和,當(dāng)輸例:輸入一系列整數(shù),求這些整數(shù)的和,當(dāng)輸入入0時,輸入結(jié)束時,輸入結(jié)束輸入數(shù)據(jù),為第輸入數(shù)據(jù),為第一次判斷做準(zhǔn)備一次判斷做準(zhǔn)備while( x != 0 ) 判斷是否結(jié)束判斷是否結(jié)束 sum = sum + x; scanf( %d ,&x); 求和求和#include stdio.h void main()char ch;int num=0;ch=getchar();例:統(tǒng)計從鍵盤輸入的一行字符的個數(shù)(以回例:統(tǒng)計從鍵盤輸入的一行字符的個數(shù)(以

4、回車鍵作為輸入結(jié)束標(biāo)記)。車鍵作為輸入結(jié)束標(biāo)記)。while(ch!=n) 判斷是否輸入結(jié)束判斷是否輸入結(jié)束num+; ch=getchar(); printf(num=%dn,num); 注意注意表達(dá)式在判斷前,必須要有明確的值。表達(dá)式在判斷前,必須要有明確的值。 循環(huán)體中一般有改變條件表達(dá)式的語句。循環(huán)體中一般有改變條件表達(dá)式的語句。 while (while (表達(dá)式表達(dá)式) )后面沒有分號。后面沒有分號。 循環(huán)語句之 do - while語句do-while語句結(jié)構(gòu)流程圖do 語句段;語句段; while(條件)條件)do-while語句結(jié)構(gòu)形式條件條件語句段成立不成立說明:說明:先執(zhí)

5、行語句,后判斷條件先執(zhí)行語句,后判斷條件。第一次條件為真時,第一次條件為真時,while,do-while等價;等價;第一次條件為假時,二者不同。第一次條件為假時,二者不同。do-whiledo-while語句的使用語句的使用求求main( ) int i , sum=0 ; i=1 ; do sum=sum+i ; i+ ; while (i=100) ; printf(“ %d ” , sum );100100n nn=1n=1注意注意在在if、while語句中,表達(dá)式后面都沒有分語句中,表達(dá)式后面都沒有分號,而在號,而在do-while語句的表達(dá)式后面則必語句的表達(dá)式后面則必須加分號。須

6、加分號。for循環(huán)for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語句 for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)循環(huán)體語句 表達(dá)式表達(dá)式3計算表達(dá)式計算表達(dá)式1循環(huán)體循環(huán)體判斷表達(dá)式判斷表達(dá)式2零零非零非零for的下一條語句的下一條語句執(zhí)行過程執(zhí)行過程 for(i=1;i=100;i+) sum=sum+i; 例如:例如:它相當(dāng)于以下語句:它相當(dāng)于以下語句: i=1; while (i100) break; sum=sum+i; i+; 相當(dāng)于相當(dāng)于breakbreak語句語句(1) 語句形式語句形式: break;(2)作用作用: 結(jié)束結(jié)束break所在的所在的 switch語句。語句。

7、 結(jié)束當(dāng)前循環(huán),跳出結(jié)束當(dāng)前循環(huán),跳出break所在的循所在的循 環(huán)結(jié)構(gòu)。環(huán)結(jié)構(gòu)。 breakbreak語句和語句和continuecontinue語句語句例:例: 求求300300以內(nèi)能被以內(nèi)能被1717整除的最大的數(shù)。整除的最大的數(shù)。#include stdio.hvoid main()int x,k;for(x=300;x=1;x-)if(x%17=0) break; printf(x=%dn,x); 找到滿足條件的最找到滿足條件的最大數(shù),結(jié)束循環(huán)大數(shù),結(jié)束循環(huán)(1)語句形式)語句形式: continue;(2)語句作用)語句作用: 結(jié)束結(jié)束本次循環(huán)本次循環(huán)。continue conti

8、nue 語句語句(3)語句執(zhí)行流程)語句執(zhí)行流程: continuecontinue語句可以結(jié)束本次循環(huán),即不再語句可以結(jié)束本次循環(huán),即不再執(zhí)行循環(huán)體中執(zhí)行循環(huán)體中continue continue 語句之后的語句,轉(zhuǎn)語句之后的語句,轉(zhuǎn)入下一次循環(huán)條件的判斷與執(zhí)行。入下一次循環(huán)條件的判斷與執(zhí)行。 例:例: 求求300300以內(nèi)能被以內(nèi)能被1717整除的所有整數(shù)。整除的所有整數(shù)。 #include stdio.hvoid main()int x,k;for(x=1;x=300;x+)if(x%17!=0) continue; printf(%dt,x); #include stdio.hvoid

9、 main()int a, b; for(a=1,b=1; a=10) break; if(b%3=1) b+=3; continue; printf(%dn,a);例例 :分析以下程序的運行結(jié)果。:分析以下程序的運行結(jié)果。 在循環(huán)體語句中又包含有另一個完整的循環(huán)結(jié)構(gòu)在循環(huán)體語句中又包含有另一個完整的循環(huán)結(jié)構(gòu)的形式,稱為循環(huán)的嵌套。如果內(nèi)循環(huán)體中又有的形式,稱為循環(huán)的嵌套。如果內(nèi)循環(huán)體中又有嵌套的循環(huán)語句,則構(gòu)成多重循環(huán)。嵌套的循環(huán)語句,則構(gòu)成多重循環(huán)。循環(huán)的嵌套循環(huán)的嵌套嵌套在循環(huán)體內(nèi)的循環(huán)體稱為內(nèi)循環(huán),外面的循環(huán)嵌套在循環(huán)體內(nèi)的循環(huán)體稱為內(nèi)循環(huán),外面的循環(huán)稱為外循環(huán)。稱為外循環(huán)。while

10、 、do-while、for三種循環(huán)都可以互相嵌套。三種循環(huán)都可以互相嵌套。循環(huán)語句之間的關(guān)系循環(huán)語句之間的關(guān)系for(.). for(.) . .內(nèi)循環(huán)內(nèi)循環(huán)外循環(huán)外循環(huán)for(.).for(.). 并列循環(huán)并列循環(huán)嵌套循環(huán)嵌套循環(huán)上機練習(xí)上機練習(xí)1 分別用分別用while語句和do - while語句和for語句實現(xiàn) 求偶數(shù)和:求偶數(shù)和:2+4+6+1002 求累乘積。求累乘積。 如:如:123.1003 求和:求和: 1/2 - 1/3 + 1/4 - 1/5 +1/6- .+1/100(如果分母(如果分母換成平方,再求和,如何做?)換成平方,再求和,如何做?)4 用用0-9這十個數(shù)字可

11、以組成多少無重復(fù)的三位數(shù)這十個數(shù)字可以組成多少無重復(fù)的三位數(shù)? 5 百錢買百雞百錢買百雞.公雞公雞5元一只元一只,母雞母雞3元一只元一只,小雞小雞1元三只元三只;一一百元買一百只雞百元買一百只雞,且公雞且公雞,母雞母雞,小雞都要有小雞都要有.有幾種買法有幾種買法?6 某旅行團(tuán)有男人、女人和小孩共某旅行團(tuán)有男人、女人和小孩共30人,在紐約一家小人,在紐約一家小飯館里吃飯,該飯館按人頭收費,每個男人收飯館里吃飯,該飯館按人頭收費,每個男人收3美元,美元,每個女人收每個女人收2美元,每個小孩收美元,每個小孩收1美元,共收取美元,共收取50美元。美元。共有多少組解?共有多少組解?7 猜數(shù)游戲:任意給定

12、一個整數(shù),請用戶從鍵盤上輸入猜數(shù)游戲:任意給定一個整數(shù),請用戶從鍵盤上輸入數(shù)據(jù)猜想給定的整數(shù)值是多少,告訴用戶是猜大了還數(shù)據(jù)猜想給定的整數(shù)值是多少,告訴用戶是猜大了還是小了。是小了。1010次以內(nèi)如果猜對了,則用戶獲勝。否則,次以內(nèi)如果猜對了,則用戶獲勝。否則, 猜的次數(shù)多于猜的次數(shù)多于1010次,則失敗,并告訴用戶給定的數(shù)據(jù)次,則失敗,并告訴用戶給定的數(shù)據(jù)是什么。是什么。 8 從鍵盤輸入從鍵盤輸入N個整數(shù),用輸入個整數(shù),用輸入0來結(jié)束輸入,求這些整來結(jié)束輸入,求這些整數(shù)的和,最大值,最小值數(shù)的和,最大值,最小值9 輸入輸入任意任意一個整數(shù),將其逆序輸出一個整數(shù),將其逆序輸出10 10 輸出乘法口訣表(輸出乘法口訣表(P148頁)頁) 11 P137頁10 輸出如下圖形(從輸出如下圖形(從1到到9) 1 121 12321 . 12345678987654321 11 編程求所有的水仙花數(shù),水仙花數(shù)是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身,例如:153是水仙花數(shù),因為153 = 1*1*1+5*5*5+3*3*3 12編程求1000以內(nèi)的所有的完數(shù),完數(shù)是指一個數(shù)恰好等于它的包括1在內(nèi)的所有的因子之和,例如,6是完數(shù),因為6=1+2+3 13 輸出以下圖形: (1) * * * * * * 14 求出200以內(nèi)的所有質(zhì)數(shù) (2) * * * * * (3

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論