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

下載本文檔

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

文檔簡介

選擇結(jié)構(gòu)本章內(nèi)容第一節(jié)if語句第二節(jié)switch語句第三節(jié)條件運(yùn)算符一、單分支if語句1、語句格式

if(條件){語句塊;}條件一般為關(guān)系表達(dá)式或邏輯表達(dá)式,也可以是其他類型的數(shù)據(jù)。語句塊可以是一條或多條要執(zhí)行的C++語句。如果語句塊中只有一條語句,也可以省略{}。第一節(jié)if語句2、語句執(zhí)行過程

先對(duì)條件進(jìn)行判斷,當(dāng)條件成立,也就是條件為true時(shí),執(zhí)行語句塊,語句塊執(zhí)行結(jié)束后,將接著執(zhí)行if語句后面的語句。如果條件不成立,即條件為false時(shí),則直接執(zhí)行if語句后面的語句。程序段5-1#include<iostream>usingnamespacestd;intmain(){ intn1,n2; intmax;cout<<"輸入兩個(gè)整數(shù):";

cin>>n1>>n2; max=n1;

if(max<n2) { max=n2; } cout<<"大數(shù)是"<<max<<endl; return0;}二、雙分支if語句1、語句格式

if(條件){語句塊1;}else{語句塊2;}2、語句執(zhí)行過程語句執(zhí)行時(shí)先對(duì)條件進(jìn)行判斷,當(dāng)條件為true時(shí)執(zhí)行語句塊1,條件為false時(shí)執(zhí)行else后面的語句塊2。語句塊1或語句塊2執(zhí)行結(jié)束后,將接著執(zhí)行if語句后面的語句。語句塊1和語句塊2只能執(zhí)行一個(gè)。 程序段5-2#include<iostream>usingnamespacestd;intmain(){ intn; cout<<"輸入一個(gè)整數(shù):";cin>>n;

if(n%2==0) { cout<<"偶數(shù)"<<endl; } else { cout<<"奇數(shù)"<<endl; } return0;}三、多分支if語句1、語句格式if(條件1){語句塊1;}elseif(條件2){語句塊2;}...elseif(條件n){語句塊n;}[else{語句塊n+1;}]2、語句執(zhí)行過程

先對(duì)條件1進(jìn)行判斷,如果條件1為true,則執(zhí)行語句塊1,如果條件1為false,則對(duì)條件2進(jìn)行判斷。如果條件2為true,則執(zhí)行語句塊2。以此類推,當(dāng)某個(gè)條件為true時(shí),就執(zhí)行下面對(duì)應(yīng)的語句塊。如果所有的條件都為false,而且語句有else項(xiàng),則執(zhí)行語句塊n+1,若沒有else項(xiàng),則直接執(zhí)行if語句后面的語句。程序段5-3#include<iostream>usingnamespacestd;intmain(){ intaqi;cin>>aqi;

if(aqi>=0&&aqi<=50) cout<<"優(yōu)"<<endl; elseif(aqi>=51&&aqi<=100) cout<<"良"<<endl; elseif(aqi>=101&&aqi<=150) cout<<"輕度污染"<<endl; elseif(aqi>=151&&aqi<=200) cout<<"中度污染"<<endl;elseif(aqi>=201&&aqi<=300) cout<<"重度污染"<<endl; elseif(aqi>300) cout<<"嚴(yán)重污染"<<endl; return0;}3、語句使用說明

多分支if語句執(zhí)行時(shí),不管有多少個(gè)分支,都只能執(zhí)行一個(gè)分支,或者一個(gè)也不執(zhí)行,不能同時(shí)執(zhí)行多個(gè)分支。因此即使語句中有多個(gè)條件為true,也只執(zhí)行第一個(gè)條件為true的分支,其他分支將不再執(zhí)行。四、if語句的嵌套是指在if語句的語句塊中包含另一個(gè)if語句。單分支if語句、雙分支if語句和多分支if語句之間可以相互嵌套。注意:使用if語句的嵌套時(shí),內(nèi)層的if語句必須完全包含在外層的if語句中,內(nèi)外層結(jié)構(gòu)不能交叉。多個(gè)if語句嵌套時(shí),else總是與離它最近且尚未配對(duì)的if進(jìn)行配對(duì)。

程序段5-4if(model==1){

if(dist<=3)cost=14;elsecost=14+(dist-3)*1.5;}elseif(model==2){

if(dist<=3){cost=16;}else{cost=16+(dist-3)*1.8;}}一、switch語句switch后面的表達(dá)式必須是整型或枚舉類型。第二節(jié)switch語句switch(表達(dá)式){case常量表達(dá)式1:

語句塊1;[break;]case常量表達(dá)式2:

語句塊2;[break;]...case常量表達(dá)式n:

語句塊n;[break;][default:

語句塊n+1;]}常量表達(dá)式必須與switch后面的表達(dá)式類型相同,而且不能包含任何變量。break是跳轉(zhuǎn)語句,為可選項(xiàng),用于跳出switch語句。default通常位于所有case子句的后面,為可選項(xiàng),每個(gè)switch語句最多只能有一個(gè)default子句。1、語句格式2、語句執(zhí)行過程

首先計(jì)算switch后面表達(dá)式的值,然后依次與每個(gè)case子句中的常量表達(dá)式進(jìn)行比較,如果匹配,就執(zhí)行相應(yīng)的語句塊。如果表達(dá)式的值與所有的常量表達(dá)式都不匹配,則執(zhí)行default子句的語句塊,若沒有default子句,則直接執(zhí)行switch語句后面的語句。 程序段5-6switch(score/10) { case10: case9: cout<<"等級(jí)A"<<endl; break; case8: cout<<"等級(jí)B"<<endl; break; case7: cout<<"等級(jí)C"<<endl; break; case6: cout<<"等級(jí)D"<<endl; break; default: cout<<"等級(jí)E"<<endl; }3、語句使用說明多個(gè)case子句可以共同執(zhí)行同一個(gè)語句塊。switch語句可以包括任意數(shù)目的case子句,但任何兩個(gè)case子句都不能有相同的常量表達(dá)式值。switch語句中的一個(gè)語句塊執(zhí)行完畢后,并不會(huì)自動(dòng)退出switch語句。如果后面沒有break語句,將會(huì)繼續(xù)執(zhí)行下面case子句的語句塊,直到遇到break語句或下面所有語句塊全部執(zhí)行完畢。二、switch語句的嵌套switch語句可以相互嵌套。每個(gè)嵌套的switch必須完整包含在外部switch語句的某個(gè)case或default語句塊內(nèi)。switch語句和if語句也可以相互嵌套。表達(dá)式1一般為關(guān)系表達(dá)式或邏輯表達(dá)式。表達(dá)式1、表達(dá)式2和表達(dá)式3的類型都可以不同。第三節(jié)條件運(yùn)算符1、條件運(yùn)算符格式表達(dá)式1?表達(dá)式2:表達(dá)式32、執(zhí)行過程首先對(duì)表達(dá)式1進(jìn)行判斷,如果值為true,則計(jì)算表達(dá)式2并以它的值為整個(gè)條件表達(dá)式的運(yùn)算結(jié)果;如果值為false,則計(jì)算表達(dá)式3并以它的值

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論