《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt

上傳人:xin****828 文檔編號:15591474 上傳時(shí)間:2020-08-22 格式:PPT 頁數(shù):38 大?。?.19MB
收藏 版權(quán)申訴 舉報(bào) 下載
《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt_第1頁
第1頁 / 共38頁
《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt_第2頁
第2頁 / 共38頁
《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt_第3頁
第3頁 / 共38頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《c程序設(shè)計(jì)基礎(chǔ)》PPT課件.ppt(38頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、數(shù)字媒體藝術(shù)專業(yè)C++程序設(shè)計(jì),第五講: C++程序設(shè)計(jì)基礎(chǔ)2,山東師范大學(xué) 李大錦,本講主要內(nèi)容,1、 選擇結(jié)構(gòu)和語句 2、 條件運(yùn)算符和條件表達(dá)式 3、 多分支選擇結(jié)構(gòu)和switch語句 4、 循環(huán)結(jié)構(gòu)和循環(huán)語句 5、 循環(huán)的嵌套 6、 break語句和幻燈片 28continue語句 7、 編程舉例,if語句是用來判定所給定的條件是否滿足,根據(jù)判定的結(jié)果(真或假)決定執(zhí)行給出的兩種操作之一。 if語句有三種使用方式: if(表達(dá)式)語句 if(xy) couty) cout<

2、語句2 else if(表達(dá)式3) 語句3 else if(表達(dá)式m) 語句m 例如: if (score=90) cout=80) cout=70) cout=60) cout<< “合格”; else cout<<“不合格”;,一、if選擇控制語句,例: 求三角形的面積。 #include #include //數(shù)學(xué)函數(shù)頭文件 #include //使用I/O流控制符 using namespace std; int main( ) double a,b,c; coutabc; if (a+bc ,一、if選擇控制語句,在if語句中又包含一個(gè)或多個(gè)if語句稱為

3、if語句的嵌套。一般形式如下: if( ) if( ) 語句1 else 語句2 . else if( ) 語句3 else 語句4 應(yīng)當(dāng)注意if與else的配對關(guān)系。else總是與它上面最近的、且未配對的if配對。為了避免引起混亂,在書寫時(shí)配對的if與else應(yīng)按列對齊?;蛘邔⒚總€(gè)if和else 后的執(zhí)行語句用打括號括起來。,,,內(nèi)嵌if,內(nèi)嵌if,一、if選擇控制語句,如: if( ) if ( ) 執(zhí)行語句 else if( ) 執(zhí)行語句 else 執(zhí)行語句 else 執(zhí)行語句 限定了內(nèi)嵌if語句的范圍。,一、if選擇控制語句,三目條件運(yùn)算符 下列語句

4、if (ab) max=a; else max=b; 可以用條件運(yùn)算符(? :)來代替: max=(ab)?a:b; (關(guān)系表達(dá)式)? (表達(dá)式1) :( 表達(dá)式 2) 是一個(gè)條件運(yùn)算符。他的作用是:如果(ab)條件為真,則結(jié)果取“?”后面的值,否則 “:”后面的值。 max=(ab)?a:b; 如果ab為真,max=a,如果為假 max=b。 條件運(yùn)算符是一個(gè)三目(元)運(yùn)算符(有3個(gè)操作對象),條件運(yùn)算符優(yōu)先于賦值運(yùn)算符.,二、條件運(yùn)算符和條件表達(dá)式,switch多分支選擇語句 switch語句的一般形式如下: switch(表達(dá)式) case 常量表達(dá)式1:語句1;break; c

5、ase 常量表達(dá)式2:語句2; break; ... case 常量表達(dá)式n:語句n; break; default:語句;break; 當(dāng)switch后的表達(dá)式的值與某一個(gè)case子句中的常量表達(dá)式的值相等時(shí),就執(zhí)行此case子句中的語句,若所有的case,break作用是跳出選擇結(jié)構(gòu),三、 switch多分支選擇語句,子句中的常量表達(dá)式的值都不能與switch表達(dá)式的值相等,就執(zhí)行default子句的語句。 如前面的成績分段的例子可以用switch語句實(shí)現(xiàn): #include using namespace std; main() intscore; cinscore;

6、 switch( score) case 10 :break; case 9: cout<<優(yōu);break; case 8: cout<<良;break; case 7: cout<<中;break; case 6: cout<<及格;break; default : cout<<不及格; ,三、 switch多分支選擇語句,例: 運(yùn)輸公司對用戶計(jì)算運(yùn)費(fèi)。路程(s)越遠(yuǎn),每公里運(yùn)費(fèi)越低。標(biāo)準(zhǔn)如下: s250km 沒有折扣 250s500 2折扣 500s1000 5折扣 1000s2000 8折扣 2000s

7、3000 10折扣 3000s 15折扣 設(shè)每公里每噸貨物的基本運(yùn)費(fèi)為p,貨物重為w,距離為,折扣為d,則總運(yùn)費(fèi)f 的計(jì)算公式為 f = p * w * s * (1 - d) 使用分支結(jié)構(gòu)語句,程序如下:,三、 switch多分支選擇語句,#include using namespace std; int main( ) int c,s; float p,w,d,f; cinpws; if(s=3000) c=12; else c=s/250; switch (c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d

8、=5;break; case 4:,三、 switch多分支選擇語句,case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100.0); cout<

9、 else d=2; else d=5; else d=8; else d=10; else d=15;,還可以怎么寫?,三、 switch多分支選擇語句,在程序設(shè)計(jì)中經(jīng)常遇到需要反復(fù)循環(huán)處理某些操作或者需要通過循環(huán)執(zhí)行某些操作來實(shí)現(xiàn)某些應(yīng)用。使用循環(huán)結(jié)構(gòu)是程序設(shè)計(jì)中最常見的方法之一。 While循環(huán)語句 while語句的一般形式: while (表達(dá)式) 操作語句.. 當(dāng)指定的條件表達(dá)式為真(非0)時(shí),執(zhí)行while語句中的內(nèi)嵌語句。先判斷表達(dá)式,后執(zhí)行操作語句。while循環(huán)稱為當(dāng)型循環(huán)。 如:求,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,int accum( ) int i=1,sum

10、=0; while (i<=100) sum=sum+i; i++; Return sum; 注意:在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語句。否則會(huì)造成死循環(huán),四、循環(huán)結(jié)構(gòu)和循環(huán)語句,do-while循環(huán)語句 do-while其一般形式為 do 語句. while (表達(dá)式); 他是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立,如果成立,再執(zhí)行循環(huán)體內(nèi)的語句,否則退出循環(huán)往下執(zhí)行。如上例中求 用do while 循環(huán)程序如下:,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,int accum( ) int i=1,sum=0; do sum=sum+i; i++; while (i<=100); return s

11、um; 注意:do-while構(gòu)成的循環(huán)中,循環(huán)體至少執(zhí)行一次。而while 構(gòu)成的循環(huán),循環(huán)體可以不執(zhí)行。,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,請寫出下面程序的運(yùn)行結(jié)果?,int exp1(int n, int x ) int i=0,sum=1; do sum=sum*i; i++; while (i

12、cout<

13、構(gòu)和循環(huán)語句,for循環(huán)語句 for語句的一般形式 for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 語句 它的執(zhí)行過程如下: (1) 先求解表達(dá)式1。表達(dá)式1在循環(huán)中只執(zhí)行一次。 (2) 求解表達(dá)式2, (3)若表達(dá)式2值為真(非0),則執(zhí)行下面的內(nèi)嵌語句。若為假(值為0),則結(jié)束循環(huán)向下執(zhí)行。 (4)執(zhí)行完循環(huán)體內(nèi)操作后,求解表達(dá)式3。 (5)轉(zhuǎn)回上面第(2)步驟繼續(xù)執(zhí)行。直到表達(dá)式2為假,退出循環(huán)。下圖表示了for循環(huán)的執(zhí)行過程。,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,如求 可以用for循環(huán) int accum( ) int i,sum=0; for(i=1;i<=100;i+

14、+) sum=sum+i; return sum; ,int accum( ) int i=1,sum=0; while(i<=100) sum=sum+i; i++; return sum; ,關(guān)于for循環(huán)的說明: (1) for語句的一般格式中的“表達(dá)式1”一般是對表達(dá)式2中的循環(huán)變量賦初值,可以省略,但應(yīng)在for語句之前給循環(huán)變量賦初值。表達(dá)式1可以是設(shè)置循環(huán)變量初值的賦值表達(dá)式,也可以是與循環(huán)變量無關(guān)的其他表達(dá)式。 (2) 表達(dá)式2可以省略,即不判斷循環(huán)條件,那么將形成死循環(huán)。 (3) 表達(dá)式3也可以省略,但應(yīng)在其他地方改變循環(huán)變量以保證循環(huán)能夠結(jié)束 (4)表達(dá)式2一般是

15、關(guān)系表達(dá)式或邏輯表達(dá)式,但也可以是數(shù)值或字符表達(dá)式,只要其值為非零,就執(zhí)行循環(huán)體。 (5)表達(dá)式1和表達(dá)式3可以出現(xiàn)幾個(gè)表達(dá)式,每個(gè)表達(dá)式之間用逗號隔開。,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,,,,,,int accum( ) int i=1,sum=0; for(;i<=100;i++) sum=sum+i; return sum; int accum( ) int i,sum; for(i=1,sum=0;i<=100;i++) sum=sum+i; return sum; ,int accum( ) int i=0,sum; for(sum=0;i<=100;i++) s

16、um=sum+i; return sum; ,,,int accum( ) int i,sum; for(i=1,sum=0; ;i++) sum=sum+i; return sum; ,死循環(huán),,,int accum( ) int i,sum=0; for(i=1;i<=100; ) sum=sum+i; return sum; ,死循環(huán),int accum( ) int i,sum=0; for(i=1;i<=100; ) sum=sum+i; i++; return sum; ,,,int accum( ) int i,sum=0; for(i=1;1

17、00;i++) sum=sum+i; return sum; ,死循環(huán),,例:求,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,int main() int t=0; for (int i=1,int j=1; i<=100 ,int main() int t=0,i=1,j=1; for (;i<=100 ,循環(huán)的嵌套 一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。循環(huán)可以多層嵌套。 如: while( ) while( ) ,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,do .. do while( ); while( ); for( ; ; ) .. for(;;) ,四、循環(huán)結(jié)構(gòu)和循環(huán)語句

18、,一種循環(huán)體內(nèi)也可以嵌套其他的循環(huán)體,如: while( ) .. do while( ); .. for(;; ) .. while( ) .. ,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,例: int main() for (int i=0;i<10;i++) for(int j=0;j<10;j++) if (j==9) cout<<*<

19、=j; j++; s+=f; cout<<*<< ; 執(zhí)行結(jié)果?,break語句和continue語句 我們已經(jīng)知道break語句可以使操作跳出switch結(jié)構(gòu)。此外break語句還可以用于循環(huán)體內(nèi)。 在循環(huán)體中break使操作從循環(huán)體內(nèi)跳出循環(huán)體,即提前結(jié)束循環(huán)。break語句只能用于循環(huán)語句和switch語句內(nèi),不能單獨(dú)使用或用于其他語句中。 continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中continue下面尚未執(zhí)行的語句,接著進(jìn)行下一次是否執(zhí)行循環(huán)的判定。 下圖表示了這兩個(gè)語句的執(zhí)行過程流程圖。,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,break

20、,continue,編程舉例 例1、用下面公式求的近似值。/41-1/3+1/5-1/7+直到最后一項(xiàng)的絕對值小于10-7為止。 #include #include #include using namespace std; int main( ) int s=1; double n=1,t=1,pi=0;,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,while((fabs(t))1e-7) pi=pi+t; n=n+2; s=-s; t=s/n; pi=pi*4; cout<

21、2、求出10000之內(nèi)的所有的完數(shù),如果一個(gè)整數(shù)他等于所有其因子的和,那么這個(gè)數(shù)就是完數(shù)。 #include using namespace std; int main( ) for(int i=1;i<10000;i++) int j=1,s=0;,四、循環(huán)結(jié)構(gòu)和循環(huán)語句,for(;j

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!