第一章程序基礎(chǔ)第三節(jié)流程控制語句_第1頁
第一章程序基礎(chǔ)第三節(jié)流程控制語句_第2頁
第一章程序基礎(chǔ)第三節(jié)流程控制語句_第3頁
第一章程序基礎(chǔ)第三節(jié)流程控制語句_第4頁
第一章程序基礎(chǔ)第三節(jié)流程控制語句_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余20頁可下載查看

下載本文檔

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

文檔簡(jiǎn)介

流程控制語句

if、switch語句簡(jiǎn)單語句與復(fù)合語句。if判斷語句。switch分支語句掌握簡(jiǎn)單語句與復(fù)合語句的用法。熟練的掌握if判斷語句。熟練的掌握switch分支語句11.3.1程序語句語句:由變量聲明和表達(dá)式構(gòu)成。將語句通過特定的關(guān)鍵字和語法,按照解決問題的流程組織起來,就可以形成程序。if和switch語句提供了條件分支結(jié)構(gòu),而for、while和dowhile語句則支持重復(fù)執(zhí)行的功能。組織控制程序流程的語句,被稱為流程控制語句。21.3.1程序語句表達(dá)式語句:由表達(dá)式組成的語句,

它由一個(gè)表達(dá)式后接一個(gè)分號(hào)“;”組成。floatfValue=3.0f; //定義語句fValue; //表達(dá)式語句,這條語句什么都不做fValue+5; //另一個(gè)表達(dá)式語句fValue++; //賦值語句空語句:程序語句最簡(jiǎn)單的形式是; //空語句,只有一個(gè)分號(hào)31.3.1程序語句當(dāng)程序在處理更復(fù)雜的邏輯問題時(shí),單個(gè)語句已經(jīng)不能滿足要求。這時(shí),就需要“復(fù)合語句”來解決問題了。復(fù)合語句:由大括號(hào)括起來的語句序列。復(fù)合語句可以被視為一個(gè)獨(dú)立的單元,可以出現(xiàn)在程序中任何單個(gè)語句可以出現(xiàn)的地方。{ floatt=a; a=b; b=t;}41.3.1程序語句如果沒有流程控制,語句將按照在程序中的出現(xiàn)順序執(zhí)行。選擇服務(wù)器登錄帳號(hào)選擇人物開始游戲語句1語句2語句3語句451.3.2條件語句1.3.2.1if語句if語句根據(jù)特定表達(dá)式是否為真來判斷是否可以執(zhí)行另一個(gè)語句,格式如下:或if(表達(dá)式)

語句;if(表達(dá)式){……;}表達(dá)式語句真假61.3.2條件語句1.3.2.1if語句語句將按照在程序中的流程控制來執(zhí)行。選擇服務(wù)器1登錄帳號(hào)選擇人物開始游戲選擇服務(wù)器2選擇服務(wù)器3登錄帳號(hào)71.3.2條件語句1.3.2.1if語句在代碼編輯器中輸入以下代碼,編輯查看結(jié)果:#include<iostream>usingnamespacestd;voidmain(){ intiValue1,iValue2,iMax; cout<<"請(qǐng)輸入2個(gè)數(shù)字:"<<endl; cin>>iValue1>>iValue2; iMax=iValue1; if(iMax<iValue2) iMax=iValue2; cout<<"2個(gè)數(shù)中較大的為:"<<iMax<<endl; system("pause");}81.3.2條件語句1.3.2.1if語句if語句帶有else的形式可以做出如果判斷失敗后的處理:if(表達(dá)式)

語句1;else

語句2;如果表達(dá)式的值為真,則執(zhí)行語句1,否則執(zhí)行語句2。語句1和語句2都可以是用大括號(hào)括起來的復(fù)合語句。表達(dá)式語句2語句1真假91.3.2條件語句1.3.2.1if語句在代碼編輯器中輸入以下代碼,編輯查看結(jié)果:#include<iostream>usingnamespacestd;voidmain(){ intiValue1,iValue2; cout<<"請(qǐng)輸入2個(gè)數(shù)字:"<<endl; cin>>iValue1>>iValue2; if(iValue1>iValue2) cout<<"較大的數(shù)字為"<<iValue1<<endl; else cout<<"較大的數(shù)字為"<<iValue2<<endl; system("pause");}101.3.2條件語句1.3.2.1if語句if語句還可以進(jìn)行嵌套式的連續(xù)判斷:if(表達(dá)式1){

語句1;}elseif(表達(dá)式2){

語句2;}……else{

語句n;}表達(dá)式1語句1表達(dá)式2語句2表達(dá)式3語句3真真真假假一直到n11在代碼編輯器中輸入以下代碼,編輯查看結(jié)果:#include<iostream>usingnamespacestd;voidmain(){ intiValue1,iValue2; cout<<"請(qǐng)輸入2個(gè)數(shù)字"<<endl; cin>>iValue1>>iValue2; if(iValue1!=iValue2)

{ if(iValue1>iValue2) cout<<"較大的數(shù)字為"<<iValue1<<endl; else cout<<"較大的數(shù)字為"<<iValue2<<endl;

} else

{ cout<<"兩數(shù)字相等"<<endl;

} system("pause");}1.3.2條件語句1.3.2.1if語句121.3.2條件語句1.3.2.1if語句為了避免二義性,C++語言規(guī)定:else總是與它前面最接近的if配對(duì)。所以好的習(xí)慣是每個(gè)判斷的語句塊都使用{}括起來。表達(dá)式可以是任意形式的表達(dá)式,可以是條件判斷,甚至是賦值,最終的判斷依據(jù)是表達(dá)式的值。如:i==5表達(dá)式判斷是否為5,而i=5則始終為真(提示:if(i=0)判斷條件是否成立?為什么?)131.3.2條件語句1.3.2.1if語句在使用if語句中還應(yīng)該注意以下3個(gè)問題:1)在if語句中,if關(guān)鍵字之后均為表達(dá)式。2)只要表達(dá)式的值為非0,即為“真”,條件即成立。3)在if語句中,條件判斷表達(dá)式必須用括號(hào)括起來。141.3.2條件語句1.3.2.1if語句簡(jiǎn)單的條件語句可以用條件表達(dá)式來表示,條件表達(dá)式通常用于賦值語句:intiValue=(i>j)?i:j;//三目運(yùn)算符可替代簡(jiǎn)單的if語句intiValue=0;if(i>j)

iValue=i;else

iValue=j;151.3.2條件語句1.3.2.2switch語句switch語句:又被稱之為分支選擇語句,它提供了一種更方便的方法來實(shí)現(xiàn)深層嵌套的if、else邏輯:switch(表達(dá)式){case常量表達(dá)式1:語句1;case常量表達(dá)式2:

語句2; …case常量表達(dá)式n:

語句n-1;default:

語句n;}表達(dá)式語句1語句2語句3語句…語句nswitch語句先計(jì)算表達(dá)式的值,并逐個(gè)與其后的常量表達(dá)式的值相比較,當(dāng)表達(dá)式的值與某個(gè)常量表達(dá)式的值相等時(shí),即執(zhí)行其后的語句。如果表達(dá)式的值與所有case后的常量表達(dá)式均不相同時(shí),則執(zhí)行default后的語句。161.3.2條件語句1.3.2.2switch語句使用switch語句時(shí)還應(yīng)注意以下4點(diǎn):1)在case后的各常量表達(dá)式的值不能相同,否則會(huì)出現(xiàn)錯(cuò)誤。2)在case后,允許有多個(gè)語句,可以不用{}括起來。3)各case和default子句的先后順序可以變動(dòng),而不會(huì)影響程序執(zhí)行結(jié)果。4)default子句可以省略不用。171.3.2條件語句1.3.2.2switch語句在代碼編輯器中輸入以下代碼,編輯查看結(jié)果:#include<iostream>usingnamespacestd;voidmain(){ intiDate; cout<<"請(qǐng)輸入個(gè)數(shù)字:"<<endl; cin>>iDate; switch(iDate)

{ case1: cout<<"周一"<<endl; case2: cout<<"周二"<<endl; case3:181.3.2條件語句1.3.2.2switch語句 cout<<"周三"<<endl; case4: cout<<"周四"<<endl; case5: cout<<"周五"<<endl; case6: cout<<"周六"<<endl; case7: cout<<"周日"<<endl; default: cout<<"抱歉,地球沒這天"<<endl;

} system("pause");}191.3.2條件語句1.3.2.2switch語句編譯以上的代碼可以發(fā)現(xiàn):當(dāng)我們輸入1時(shí),結(jié)果如下:原因:代碼中“case1:”判斷成立后,該case并沒有與break相對(duì)應(yīng),導(dǎo)致下面的所有的case都能夠被判定為成立。解決方法:每個(gè)case塊的最后都要有一個(gè)break與之相對(duì)應(yīng),default后不需要對(duì)應(yīng)break201.3.2條件語句1.3.2.2switch語句正確規(guī)范的寫法如下:#include<iostream>usingnamespacestd;voidmain(){ intiDate; cout<<"請(qǐng)輸入個(gè)數(shù)字:"<<endl; cin>>iDate; switch(iDate)

{ case1: cout<<"周一\n"<<endl; break; case2: cout<<"周二\n"<<endl; break; case3: cout<<"周三\n"<<endl; break;21 case4: cout<<"周四\n"<<endl; break; case5: cout<<"周五\n"<<endl; break; case6: cout<<"周六\n"<<endl; break; case7: cout<<"周日\(chéng)n"<<endl; break; default: cout<<"抱歉,地球沒這天\n"<<endl;

} system("pause");}1.3.2條件語句1.3.2.2

溫馨提示

  • 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)論