




已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Visual C+程序設(shè)計(jì),第3章 流程控制語(yǔ)句,C+語(yǔ)言是結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言。采用結(jié)構(gòu)化程序設(shè)計(jì)方法,可以使程序的邏輯結(jié)構(gòu)清晰、可讀性好、可靠性強(qiáng),從而提高程序的開(kāi)發(fā)效率。 結(jié)構(gòu)化程序設(shè)計(jì)是由三種基本結(jié)構(gòu)表示的,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。由這三種基本結(jié)構(gòu)經(jīng)過(guò)反復(fù)嵌套,可以實(shí)現(xiàn)各種算法。 函數(shù)是 C+程序的基本模塊,在這個(gè)基本模塊中,至少應(yīng)包含上述的一種基本結(jié)構(gòu),或者是三種基本結(jié)構(gòu)的復(fù)合,由此就構(gòu)成了C+程序和結(jié)構(gòu)化特征。,C+語(yǔ)言的結(jié)構(gòu)化程序設(shè)計(jì)方法,3.2.1 if 語(yǔ)句 if條件語(yǔ)句有三種基本形式,簡(jiǎn)單 if 形式、嵌套if.else形式和階梯elseif形式。簡(jiǎn)單 if 形式: if(表達(dá)式) 語(yǔ)句塊; 功能:如果表達(dá)式的值為T(mén)RUE(非0),則執(zhí)行后邊的語(yǔ)句塊;否則不執(zhí)行表達(dá)式后面的詞句塊,而是繼續(xù)執(zhí)行整個(gè)if語(yǔ)句后面的語(yǔ)句。,選擇結(jié)構(gòu)的功能是根據(jù)對(duì)條件的邏輯判斷,決定程序中相關(guān)流程的執(zhí)行路徑。C+語(yǔ)言為選擇結(jié)構(gòu)提供了兩種語(yǔ)句:if條件語(yǔ)句和switch開(kāi)關(guān)語(yǔ)句。,3.2 選擇結(jié)構(gòu),注意:if中的表達(dá)式可以是一個(gè)邏輯表達(dá)式、算術(shù)表達(dá)式、甚至是一個(gè)常量。,例:3.1 求輸入整數(shù)的絕對(duì)值。 #include void main( void ) int a, b; couta; b = a; if( b0 ) b = -b; cout“n“|“a“| = “b“n“; ,嵌套if.else形式: if(表達(dá)式) 語(yǔ)句塊1; else 語(yǔ)句塊2;,功能:如果表達(dá)的值為非0(TRUE),則執(zhí)行語(yǔ)句塊1,否則執(zhí)行語(yǔ)句塊2。最后執(zhí)行整個(gè)if.else語(yǔ)句后面的語(yǔ)句。,#include void main( ) int a, b; coutab; if(a!=b) if(ab) coutBn“; else cout“ABn“; else cout“A=Bn“; ,在此例中使用了ifelse形式,并且if.else語(yǔ)句中嵌套了另一個(gè)if.else語(yǔ)句。在A(yíng)NSI標(biāo)準(zhǔn)中規(guī)定,編譯程序至少要支持15層嵌套。兩個(gè)else中第一個(gè)與內(nèi)層if相配,第二個(gè)與外層if相配。在嵌套的if語(yǔ)句中,else總是與它最接近的if語(yǔ)句相配。,例3.2比較兩個(gè)輸入數(shù)的大小。,if(表達(dá)式1) 語(yǔ)句塊1; else if(表達(dá)式2) 語(yǔ)句塊2; else if(表達(dá)式3) . 語(yǔ)句塊3; . . else 語(yǔ)句塊n;,功能: 從表達(dá)式1開(kāi)始,依次計(jì)算,如果某個(gè)表達(dá)式為非0(TRUE),則執(zhí)行該表達(dá)式后邊的語(yǔ)句塊,然后轉(zhuǎn)到整個(gè)if語(yǔ)句后面的語(yǔ)句。如果所有表達(dá)式的值都為0(FLASE),則執(zhí)行else后面的語(yǔ)句塊n;該結(jié)構(gòu)中,最后一個(gè)else可以沒(méi)有,或者只有一個(gè)。,階梯型的else.if,#include void main( void ) int x, y, z, max; coutxyz; max = x; if(zy) if(zx) max = z; else if(yx) max = y; cout“max_num = “maxendl; ,if(zy) if(zx) max = z; else if(yx) max = y;,例3.3 從輸入的三個(gè)數(shù)中求最大的數(shù)。(含錯(cuò)誤的程序),x, y, z,Max=x,Max=x,Max=z,Max=y,X, y, z,Max=x,Max=z,Max=y,Zy?,Zx?,Yx?,Zy?,Zx?,Yx?,F,T,F,T,T,T,T,F,F,F,Max=x,開(kāi)關(guān)選擇語(yǔ)句又稱(chēng)為多路分支語(yǔ)句,它根據(jù)一個(gè)量的多種不同可能,選擇執(zhí)行程序的某一個(gè)分支。,其一般形式如下: switch(表達(dá)式1) case 表達(dá)式2:語(yǔ)句塊1; break; case 表達(dá)式3:語(yǔ)句塊2; break; 。 case 表達(dá)式n:語(yǔ)句塊n; break; default: 語(yǔ)句塊n+1; break; ,3.2.2 switchcase開(kāi)關(guān)選擇語(yǔ)句,執(zhí)行switch語(yǔ)句時(shí),先計(jì)算括號(hào)內(nèi)的值,然后,將其結(jié)果值與各個(gè)case語(yǔ)句中的常量值相比較,當(dāng)與某個(gè)一致時(shí),就執(zhí)行該case后面的語(yǔ)句塊,直到碰到break或者switch語(yǔ)句執(zhí)行完為止。若沒(méi)有一個(gè)常量與表達(dá)式的值相等,則執(zhí)行default語(yǔ)句。default是可選的,如果defualt不存在,并且所有的常量與表達(dá)式不相等,就不進(jìn)行任何處理。,功能:,(1)switch語(yǔ)句中,表達(dá)式的類(lèi)型必須是整形或字符形;如果使用字符形,C+將自動(dòng)將其轉(zhuǎn)換成為整形,也就是實(shí)際使用的該字符所對(duì)應(yīng)的ASCII值,對(duì)應(yīng)的case也一樣。 (2)switch語(yǔ)句與if語(yǔ)句的不同之外在于,if語(yǔ)句可以計(jì)算關(guān)系表達(dá)式或邏輯表達(dá)式,而switch只能對(duì)等式進(jìn)行測(cè)試。 (3)在同一個(gè)switch語(yǔ)句中,任意兩個(gè)case的表達(dá)式的值不允許相同。 (4)在switch語(yǔ)句中,break語(yǔ)句終止當(dāng)前所在case的語(yǔ)句塊,并退出switch語(yǔ)句,否則將自動(dòng)進(jìn)入下一個(gè)case語(yǔ)句塊中。,注意:,#include void main(void) int i, flag = 1; couti; switch(i) case 1: ; case 2: ; case 3: flag = 0; break; case 4: flag = -1; case 5: cout“error = “flagendl; break; default:cout.put(char)i); ,程序說(shuō)明: (1)每個(gè)case都可以有空語(yǔ)句。在這個(gè)例子中前三個(gè)case都執(zhí)行了同樣的語(yǔ)句: flag = 0; break; (2)如果break語(yǔ)句不存在,就將在下一個(gè) case中繼續(xù)執(zhí)行。例中,如果i=4,那么flag=-1,由于沒(méi)有break語(yǔ)句,繼續(xù)執(zhí)行,這樣cout.put(char)i);
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 制造業(yè)供應(yīng)鏈的綠色轉(zhuǎn)型策略考核試卷
- 電視屏幕亮度自動(dòng)調(diào)節(jié)異??己嗽嚲?/a>
- 印刷機(jī)械行業(yè)政策法規(guī)分析考核試卷
- 中藥注冊(cè)與藥品注冊(cè)審批中的數(shù)據(jù)保護(hù)措施考核試卷
- 跨界合作在家紡品牌推廣中的應(yīng)用考核試卷
- 客戶(hù)關(guān)系管理客戶(hù)體驗(yàn)設(shè)計(jì)考核試卷
- 基因編輯與絡(luò)病治療策略
- 個(gè)人股份協(xié)議書(shū)(15篇)
- 機(jī)器學(xué)習(xí)在預(yù)測(cè)性維護(hù)中的潛力
- 模擬散步活動(dòng)方案
- 2025年中國(guó)不銹鋼化學(xué)蝕刻劑市場(chǎng)調(diào)查研究報(bào)告
- 分級(jí)護(hù)理質(zhì)量追蹤與持續(xù)改進(jìn)
- 中學(xué)生暑期法制安全教育
- 2024年7月國(guó)家開(kāi)放大學(xué)專(zhuān)科《高等數(shù)學(xué)基礎(chǔ)》期末紙質(zhì)考試試題及答案
- 工業(yè)廠(chǎng)房水電安裝施工方案
- 國(guó)家開(kāi)放大學(xué)《礦井粉塵防治》形成性考核作業(yè)1-3
- 公司與旅行社合作合同范本
- 五年級(jí)上冊(cè)語(yǔ)文預(yù)習(xí)晨讀晚默小紙條
- 血液體液濺灑處理
- 電商平臺(tái)商家入駐協(xié)議書(shū)
- 信息安全意識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論