for循環(huán)_學(xué)生_第1頁
for循環(huán)_學(xué)生_第2頁
for循環(huán)_學(xué)生_第3頁
for循環(huán)_學(xué)生_第4頁
for循環(huán)_學(xué)生_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第3章章 C語言快速入門語言快速入門(3)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(for) 3、for語句語句n它的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句; 表達(dá)式表達(dá)式1:循環(huán)的初始條件,一般為賦值表達(dá)式,給循環(huán)的控制變量賦初值;表達(dá)式表達(dá)式2:循環(huán)條件,該表達(dá)式的值為邏輯量,一般為關(guān)系表達(dá)式或邏輯表達(dá)式;表達(dá)式表達(dá)式3:循環(huán)的步長,一般為賦值表達(dá)式。語句:語句:循環(huán)體,當(dāng)有多條語句時(shí),必須使用復(fù)合語句。for語句語句for(表達(dá)式(表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式表達(dá)式3) 語句組語句組1(循環(huán)體循環(huán)體)語句組語句組2N表達(dá)式表達(dá)式2語句組語句組1Y語句組語句組2表達(dá)式表達(dá)

2、式1表達(dá)式表達(dá)式3for(循環(huán)變量賦初值循環(huán)變量賦初值;循環(huán)結(jié)束條件;循環(huán)結(jié)束條件;循環(huán)變量增值循環(huán)變量增值)把“歡迎進(jìn)入C世界”輸出十次nvoid main()nn int i;n for(i=1;i=10;i+)n n printf(歡迎進(jìn)入歡迎進(jìn)入C世界世界);n nvoid main() int i=1; while (i=10) printf(歡迎進(jìn)入歡迎進(jìn)入C世界世界);i+; printf(n);兩者可互換兩者可互換不知道循環(huán)次數(shù)時(shí)用不知道循環(huán)次數(shù)時(shí)用while用用for語句求語句求1+2+100的值;的值;#include stdio.hmain() int i,sum=0;

3、for(i=1;i=100;i+) sum=sum+i; /*隨著隨著i的變化,將的變化,將i的值累加到的值累加到sum中中*/ /*循環(huán)一次,循環(huán)一次,i自動增自動增1*/ printf(1+2+.+100的和值為:%dn,sum);與while比較一下!求求 1+2+3+100void main(void) int i, sum; for (i=1, sum=0; i=100; i+) sum=sum+i; printf(sum=%dn,sum); void main(void) int i, sum; i=1; sum=0; while(i=100) sum=sum+i; i=i+1;

4、printf(sum=%dn,sum); 計(jì)算自然數(shù)1到n的平方和。#include void main () int i,n,sum=0; printf(please input n :); scanf(%d,&n); for(i=1;in)1、m被被n除得到余數(shù)除得到余數(shù)r(0r n) r=m%nm=6 n=4 r=m%n=6%4=2while ( r=m%n ) m=n; n=r ; 最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)。最小公倍數(shù)為兩數(shù)之積除以最大公約數(shù)。4*6/2=122、若、若r=0,則算法結(jié)束,則算法結(jié)束,n為最大公約數(shù),否則做為最大公約數(shù),否則做33、mn , nr , 回到回到

5、1m=4 n=2 r=m%n=4%2=0所以,公約數(shù)所以,公約數(shù)=2最大公約數(shù):能同時(shí)被最大公約數(shù):能同時(shí)被m和和n整除的最大數(shù)。整除的最大數(shù)。r=mn?n:mfor(i=1; ir; i+) if(m%i=0&n%i=0) a=i;printf(%d, a);for語句的幾種格式 nfor語句的三個(gè)表達(dá)式都是可以省略的,但語句的三個(gè)表達(dá)式都是可以省略的,但分號分號“;”絕對不能省略絕對不能省略。(1)for( ; ;) 語句;(2)for( ;表達(dá)式2;表達(dá)式3) 語句;(3)for(表達(dá)式1;表達(dá)式2;) 語句;(4)for(i=1,j=n;ij;i+,j-) 語句;語句;例3-7 求前1

6、00個(gè)自然數(shù)之和。void main(void) char i, j ; for (i=a,j=z ; ij ; i+, j-) printf(%d%d,i,j); printf(n); 次數(shù)次數(shù)ijij輸出輸出輸出:輸出:az真真azby真真bycx真真cx真真.真真.mnmn.nm假假CR循環(huán)的嵌套循環(huán)的嵌套一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)體,稱一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)體,稱為循環(huán)的嵌套。為循環(huán)的嵌套。注意:注意:1 1、循環(huán)體內(nèi)有多個(gè)語句要用括起來。、循環(huán)體內(nèi)有多個(gè)語句要用括起來。2 2、書寫格式要清晰。、書寫格式要清晰。for ( ; ; ) . for ( ; ; ) .

7、 main() int i, j, k=0, m=0; for ( i=0; i2; i+) for ( j=0; j3; j+) k+; m=i+j; printf(k=%d, m=%dn,k, m); ii2jj3k輸出:輸出:0真真0真真11真真22真真33假假31真真0真真41真真52真真63假假6n判斷某一正整數(shù)是為否素?cái)?shù)判斷某一正整數(shù)是為否素?cái)?shù)void main() int m,i; printf(Please input m:n); scanf(%d,&m); for(i=2;i50) break; while (a=14);第一次:第一次:a=12 y=12輸出:輸出:a=12

8、 , y=12第二次:第二次:a=16 y=28輸出:輸出:a=16 , y=28第三次:第三次:a=16 y=44輸出:輸出:a=16 , y=44第四次:第四次:a=16 y=60輸出:輸出:a=16 , y=602)continue語句n一般格式是: continue; 執(zhí)行了執(zhí)行了continue語句,語句,程序就跳過循環(huán)體中程序就跳過循環(huán)體中位于該語句后的所有位于該語句后的所有語句,提前結(jié)束本次語句,提前結(jié)束本次循環(huán)周期并開始新一循環(huán)周期并開始新一輪循環(huán)。輪循環(huán)。 n求100-200之間不能被3整除的數(shù)。continue:其作用為:其作用為結(jié)束本次循環(huán)結(jié)束本次循環(huán),即跳過循環(huán)體中下面

9、,即跳過循環(huán)體中下面尚未執(zhí)行的語句,尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。main() int i; for(i=1;i=1000;i+) if (i%3!=0) continue; if (i%5!=0) continue; if(i%7!=0) continue; printf(%dn, i); printf(n);如果換成break,結(jié)果如何?if (i%3=0&i%5=0&i%7=0) printf(“%dn,i);總結(jié):總結(jié):在循環(huán)體中,在循環(huán)體中,break從循環(huán)體內(nèi)跳出循環(huán)體,提前從循環(huán)體內(nèi)跳出循環(huán)體,提前結(jié)束循環(huán)結(jié)束循環(huán)。for(.

10、; . ; . ) . break; .continue:其作用為:其作用為結(jié)束本次循環(huán)結(jié)束本次循環(huán),即跳過循環(huán)體,即跳過循環(huán)體中下面尚未執(zhí)行的語句,中下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定循環(huán)的判定。for(. ; . ; . ) . continue; .while( . ) . continue; .三種語句的選用 n1while和dowhile語句的區(qū)別while語句對作為循環(huán)條件的表達(dá)式求值和驗(yàn)證在執(zhí)行循環(huán)體之前,而do-While語句對作為循環(huán)條件的表達(dá)式求值和驗(yàn)證在執(zhí)行循環(huán)體之后。對于do-while語句,它的循環(huán)體至少被執(zhí)行一次。 幾種循環(huán)的

11、比較幾種循環(huán)的比較while ( 表達(dá)式)表達(dá)式) 語句組語句組1 語句組語句組2表達(dá)式表達(dá)式語句組語句組1真真語句組語句組2假假do 語句組語句組1while(表達(dá)式)(表達(dá)式);語句組語句組2表達(dá)式表達(dá)式語句組語句組1真真語句組語句組2假假for(表達(dá)式(表達(dá)式1;表達(dá)式;表達(dá)式2;表達(dá)式;表達(dá)式3) 語句組語句組1語句組語句組2假假表達(dá)式表達(dá)式2語句組語句組1真真語句組語句組2表達(dá)式表達(dá)式1表達(dá)式表達(dá)式32三種語句在程序設(shè)計(jì)中的選擇n(1)如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已如果循環(huán)次數(shù)在執(zhí)行循環(huán)體之前就已確定,一般用確定,一般用for語句;語句;如果循環(huán)次數(shù)是由如果循環(huán)次數(shù)是由循環(huán)體的執(zhí)行

12、情況確定的,一般用循環(huán)體的執(zhí)行情況確定的,一般用while語語句或者句或者dowhile語句。語句。n(2)當(dāng)循環(huán)體至少執(zhí)行一次時(shí),用dowhile語句,反之,如果循環(huán)體可能一次也不執(zhí)行,選用while語句。循環(huán)結(jié)構(gòu)程序綜合練習(xí)nwhilendo whilenfor做一做:模擬幸運(yùn)五十二n用戶輸入商品價(jià)格,如高了,則輸出高了,用戶輸入商品價(jià)格,如高了,則輸出高了,并讓用戶再次輸入,如果低了,則輸出低并讓用戶再次輸入,如果低了,則輸出低了,也讓用戶再次輸入,一直到用戶輸入了,也讓用戶再次輸入,一直到用戶輸入正確為止。正確為止。n限定只用三次機(jī)會限定只用三次機(jī)會n如果三次都沒猜對,輸出如果三次都沒

13、猜對,輸出“很抱歉,沒有很抱歉,沒有機(jī)會了機(jī)會了”;如果三次以內(nèi)猜對了,輸出;如果三次以內(nèi)猜對了,輸出“恭喜你!恭喜你!”計(jì)算:計(jì)算:222222.2222222?累加和累加和 s0設(shè)通項(xiàng)為設(shè)通項(xiàng)為tt的初值為的初值為222=2*10+2; 222=22*10+2; 2222=222*10+2; t=t*10+2; 所以,通項(xiàng)的循環(huán)表示為:所以,通項(xiàng)的循環(huán)表示為:前一項(xiàng)前一項(xiàng)當(dāng)前項(xiàng)當(dāng)前項(xiàng)循環(huán)體為:循環(huán)體為: t = t*10 +2; s=s+t; 下面程序的功能是用公式求下面程序的功能是用公式求的近似值,直到最后一項(xiàng)的的近似值,直到最后一項(xiàng)的值小于值小于10-6為止。請?zhí)羁?。為止。請?zhí)羁铡?2222n13121116void main(void ) int i=1; _ pi=0; while (i*i=10e+6) pi=_ ; i+; pi=sqrt (6.0 *pi) ; printf(pi=%lfn,pi); 122122543432122nnnn求求n=1000時(shí)時(shí)的近似值的近似值分析:分析:通項(xiàng):通項(xiàng):122122nnnnts=st迭代算法:

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論