計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課件:循環(huán)結(jié)構(gòu)_第1頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課件:循環(huán)結(jié)構(gòu)_第2頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課件:循環(huán)結(jié)構(gòu)_第3頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課件:循環(huán)結(jié)構(gòu)_第4頁(yè)
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)課件:循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

循環(huán)結(jié)構(gòu)本章內(nèi)容第一節(jié)while語(yǔ)句第二節(jié)do-while語(yǔ)句第三節(jié)for語(yǔ)句第四節(jié)循環(huán)嵌套

第五節(jié)break語(yǔ)句和continue語(yǔ)句第一節(jié)while語(yǔ)句一、語(yǔ)句格式while(條件){循環(huán)體}二、語(yǔ)句執(zhí)行過(guò)程首先對(duì)條件進(jìn)行判斷,當(dāng)條件成立,即條件值為true時(shí),執(zhí)行循環(huán)體語(yǔ)句。然后再重新判斷條件,若仍為true,則繼續(xù)執(zhí)行循環(huán)體。重復(fù)這個(gè)判斷執(zhí)行的過(guò)程,直到條件值為假false時(shí),循環(huán)執(zhí)行結(jié)束。三、語(yǔ)句說(shuō)明循環(huán)體是每次循環(huán)重復(fù)執(zhí)行的語(yǔ)句,可以是一條語(yǔ)句,也可以是包含多條語(yǔ)句的語(yǔ)句塊。如果循環(huán)體是一條語(yǔ)句,則大括號(hào)可以省略。循環(huán)條件可以是任意表達(dá)式,值為true(非0)或false(0)。程序段6-1#include<iostream>usingnamespacestd;intmain(){ inti=1,n,sum=0; cout<<"輸入整數(shù)n:"; cin>>n;

while(i<=n) { sum=sum+i; i=i+1; } cout<<"1到n所有整數(shù)的和為"<<sum<<endl;return0;}?。?!使用while循環(huán)時(shí)必須注意,一定要保證循環(huán)條件有變成false的時(shí)候,否則循環(huán)語(yǔ)句無(wú)法結(jié)束,就會(huì)形成無(wú)限循環(huán),即死循環(huán)。第二節(jié)do-while語(yǔ)句一、語(yǔ)句格式

do{循環(huán)體}while(條件);二、語(yǔ)句執(zhí)行過(guò)程首先執(zhí)行循環(huán)體語(yǔ)句,然后判斷條件,若條件值為true,則再次執(zhí)行循環(huán)體語(yǔ)句。重復(fù)這個(gè)執(zhí)行判斷的過(guò)程,直到條件值為false時(shí)循環(huán)結(jié)束。三、語(yǔ)句說(shuō)明注意:在do-while語(yǔ)句中,while(條件)后面必須有分號(hào),表示do-while語(yǔ)句的結(jié)束。程序段6-2#include<iostream>usingnamespacestd;intmain(){inti=1,n,sum=0; cout<<"輸入整數(shù)n:"; cin>>n;

do { sum=sum+i; i=i+1; }while(i<=n); cout<<"1到n所有整數(shù)的和為"<<sum<<endl; return0;}四、do-while語(yǔ)句和while語(yǔ)句的區(qū)別while語(yǔ)句和do-while語(yǔ)句的功能基本相同,大多數(shù)情況下可以互換。但是二者有一個(gè)重要的區(qū)別:while語(yǔ)句先進(jìn)行條件判斷,如果條件為假,則循環(huán)體不執(zhí)行。do-while語(yǔ)句則先執(zhí)行循環(huán)體,然后再判斷條件,即使條件為假,循環(huán)體也執(zhí)行了一次。第三節(jié)for語(yǔ)句一、語(yǔ)句格式for(表達(dá)式1;表達(dá)式2;表達(dá)式3){循環(huán)體}二、語(yǔ)句執(zhí)行過(guò)程執(zhí)行步驟如下:①執(zhí)行表達(dá)式1。②執(zhí)行表達(dá)式2。若表達(dá)式2的值為true(非0),則執(zhí)行循環(huán)體;若值為false(0),則循環(huán)執(zhí)行結(jié)束。③

執(zhí)行表達(dá)式3。④返回到步驟②。三、語(yǔ)句說(shuō)明表達(dá)式3一般用于將循環(huán)變量增加或減少,以確保循環(huán)可以結(jié)束。表達(dá)式2是一個(gè)結(jié)果為布爾值的表達(dá)式,用于判斷繼續(xù)循環(huán)還是結(jié)束循環(huán)。表達(dá)式1一般用于定義和初始化循環(huán)變量,只在第一次循環(huán)時(shí)執(zhí)行一次。for語(yǔ)句的格式也可以寫為:for(循環(huán)變量初始化;循環(huán)條件;循環(huán)變量自增或自減){循環(huán)體}程序段6-3#include<iostream>#include<iomanip>usingnamespacestd;intmain(){ inti,n; floatsum=0; cout<<"輸入整數(shù)n:"; cin>>n;

for(i=1;i<=n;i++) sum=sum+1.0/(2*i-1);//結(jié)果保留2位小數(shù)輸出

cout<<"計(jì)算結(jié)果為:"<<fixed<<setprecision(2)<<sum<<endl; return0;}1、省略表達(dá)式1for語(yǔ)句之前已經(jīng)給循環(huán)變量賦了初值,則表達(dá)式1可以省略

i=1; for(;i<=n;i++) sum=sum+1.0/(2*i-1);2、省略表達(dá)式2如果省略表達(dá)式2,循環(huán)將不會(huì)結(jié)束,成為死循環(huán)。for(i=1;;i++)//死循環(huán)

sum=sum+1.0/(2*i-1);四、for語(yǔ)句的表達(dá)式說(shuō)明for語(yǔ)句中的表達(dá)式1、表達(dá)式2和表達(dá)式3都可以省略。3、省略表達(dá)式3如果循環(huán)體中有改變循環(huán)變量的語(yǔ)句,則表達(dá)式3可以省略.

for(i=1;i<=n;) { sum=sum+1.0/(2*i-1); i=i+1; }4、省略多個(gè)表達(dá)式可以同時(shí)省略for語(yǔ)句中的兩個(gè)或三個(gè)表達(dá)式。一、語(yǔ)句格式for(i=1;i<=10;i++) { for(j=1;j<=5;j++) {

循環(huán)體

} }或while(n>10) { for(a=1;a<=5;a++) {

循環(huán)體

} }在一個(gè)循環(huán)體內(nèi)包含另一個(gè)完整的循環(huán),這樣的結(jié)構(gòu)稱為多重循環(huán)或循環(huán)的嵌套。在程序設(shè)計(jì)時(shí),許多問(wèn)題要用二重或多重循環(huán)才能解決。while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句都可以互相嵌套。第四節(jié)循環(huán)嵌套二、執(zhí)行過(guò)程1.外層循環(huán)條件為true時(shí),執(zhí)行外層循環(huán)結(jié)構(gòu)中的循環(huán)體;2.外層循環(huán)體中包含的內(nèi)層循環(huán)的循環(huán)條件為true時(shí),執(zhí)行內(nèi)層循環(huán)中的循環(huán)體,直到內(nèi)層循環(huán)條件為false,跳出內(nèi)層循環(huán);3.如果此時(shí)外層循環(huán)的條件仍為true,則返回第2步,繼續(xù)執(zhí)行外層循環(huán)體,直到外層循環(huán)的循環(huán)條件為false;4.當(dāng)內(nèi)層循環(huán)的循環(huán)條件為false,并且外層循環(huán)的循環(huán)條件也為false,則整個(gè)循環(huán)嵌套結(jié)束執(zhí)行。三、使用說(shuō)明循環(huán)嵌套時(shí),內(nèi)層循環(huán)必須完全包含在外層循環(huán)中,兩層循環(huán)不能交叉。外層循環(huán)和內(nèi)層循環(huán)的循環(huán)變量不能使用同一個(gè)變量。程序段6-4#include<iostream>usingnamespacestd;intmain(){inta,b,c;

for(a=0;a<=100;a++) for(b=0;b<=100;b++) for(c=0;c<=100;c=c+3) if(a+b+c==100&&a*5+b*3+c/3==100) cout<<"公雞"<<a<<",母雞"<<b<<",小雞"<<c<<endl;return0;}一、break語(yǔ)句第五節(jié)break語(yǔ)句和continue語(yǔ)句break語(yǔ)句用于while語(yǔ)句、do-while語(yǔ)句、for語(yǔ)句中時(shí),可以立即結(jié)束當(dāng)前循環(huán)的執(zhí)行,跳出當(dāng)前所在的循環(huán)結(jié)構(gòu)而執(zhí)行循環(huán)后面的語(yǔ)句。break語(yǔ)句一般與if語(yǔ)句搭配使用,表示在某種條件下提前結(jié)束循環(huán)。程序段6-5#include<iostream>usingnamespacestd;intmain(){inti,n; cout<<"輸入一個(gè)整數(shù):"; cin>>n;

for(i=2;i<n;i++) if(n%i==0) break; if(i==n) cout<<"是素?cái)?shù)"<<endl; else cout<<"不是素?cái)?shù)"<<endl;return0;}素?cái)?shù)就是除了1和該數(shù)本身外,不能被其他任何整數(shù)整除的自然數(shù)。判斷素?cái)?shù)的算法是:對(duì)于自然數(shù)n,依次用n除以2到n-1之間的自然數(shù),若都除不盡,則可判定n是素?cái)?shù)。

for(i=1;i<4;i++) { cout<<"i="<<i<<endl;

for(j=1;j<4;j++) { if(i*j==6) break; cout<<"j="<<j<<''; cout<<i<<"*"<<j<<"="<<i*j<<endl; }}break語(yǔ)句也可以用在循環(huán)嵌套中,使用時(shí)需要注意,break語(yǔ)句只能結(jié)束其所在循環(huán)的執(zhí)行,而不能結(jié)束所有循環(huán)的執(zhí)行

溫馨提示

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

評(píng)論

0/150

提交評(píng)論