![面向?qū)ο蟪绦蛟O(shè)計(jì)-程序流控制_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f3d047e9-f651-48d2-95b8-3f6f35d9fad7/f3d047e9-f651-48d2-95b8-3f6f35d9fad71.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)-程序流控制_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f3d047e9-f651-48d2-95b8-3f6f35d9fad7/f3d047e9-f651-48d2-95b8-3f6f35d9fad72.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)-程序流控制_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f3d047e9-f651-48d2-95b8-3f6f35d9fad7/f3d047e9-f651-48d2-95b8-3f6f35d9fad73.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)-程序流控制_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f3d047e9-f651-48d2-95b8-3f6f35d9fad7/f3d047e9-f651-48d2-95b8-3f6f35d9fad74.gif)
![面向?qū)ο蟪绦蛟O(shè)計(jì)-程序流控制_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/7/f3d047e9-f651-48d2-95b8-3f6f35d9fad7/f3d047e9-f651-48d2-95b8-3f6f35d9fad75.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 第3章 程序流控制主講人: XXX 面向?qū)ο蟪绦蛟O(shè)計(jì)程序流控制循環(huán)語句循環(huán)語句 2選擇語句選擇語句 1跳轉(zhuǎn)語句跳轉(zhuǎn)語句 32022-3-733.1.1 if語句3.1.2 if . else語句3.1.3 條件運(yùn)算符3.1.4 if . else if . else語句3.1.5 if語句的嵌套3.1.6 switch語句3.1.7 復(fù)合賦值運(yùn)算符3.1.8 條件邏輯運(yùn)算符和邏輯運(yùn)算符3.1 選擇語句2022-3-74l if語句根據(jù)表達(dá)式的值選擇要執(zhí)行的語句。if語句的一般表示形式為:if (表達(dá)式) 語句塊;l if語句的執(zhí)行方式如下:如果表達(dá)式的值為true,則執(zhí)行語句塊,否則語句塊不
2、會被執(zhí)行。語句塊可為一條或多條語句。3.1.1 if語句2022-3-75l 問題描述:編寫一個(gè)程序(見圖3.1),計(jì)算一門課程學(xué)生的考試通過率。隨機(jī)抽取10名學(xué)生,分別輸入每一學(xué)生考試的結(jié)果,通過了考試的學(xué)生,則向如圖3.1所示的文本框中輸入“1”,對沒有通過考試的學(xué)生,則向圖3.1所示的文本框中輸入“2”。每次輸入后都單擊【確定】按鈕。到第10次時(shí),將顯示如圖3.2所示的消息框。任務(wù)3.1 考試結(jié)果分析2022-3-76l if . else語句的一般表示形式為:if (表達(dá)式) 語句塊1;else 語句塊2;l if . else語句的執(zhí)行方式如下:如果表達(dá)式的值為true,則執(zhí)行語句塊
3、1,如果表達(dá)式的值為false,則執(zhí)行語句塊2。l 語句塊1、語句塊2可為一條或多條語句,如果為一條語句,則大括號可以省略。3.1.3 if else語句2022-3-77 問題描述:創(chuàng)建如圖3.4所示的應(yīng)用程序,要求用戶在文本框中輸入1到10之間的一個(gè)數(shù)字。然后單擊【猜猜】按鈕產(chǎn)生一個(gè)隨機(jī)數(shù)字,用戶將被告知所選擇的數(shù)字是否正好等于這個(gè)隨機(jī)數(shù)。任務(wù)3.2 猜字游戲2022-3-78private void button1_Click(object sender, EventArgs e) int userGess = Int32.Parse(textBox1.Text); Random rnd
4、 = new Random(); /創(chuàng)建隨機(jī)數(shù)對象創(chuàng)建隨機(jī)數(shù)對象 double correctNumber = rnd.NextDouble() * 10; /調(diào)用對象的調(diào)用對象的NextDouble方法方法 correctNumber = Math.Round(correctNumber);/Math類的類的Round方法。方法。 string str = 正確的數(shù)字是 + correctNumber + , + 你猜的數(shù)字是 + userGess + n; if (userGess = correctNumber) MessageBox.Show(str + 祝賀你猜中了); else M
5、essageBox.Show(str + 歡迎你參加竟猜,下次再來); textBox1.Text = ; 任務(wù)3.2 猜字游戲2022-3-79NextDouble:產(chǎn)生一個(gè)介于0.0和1.0之間的隨機(jī)浮點(diǎn)數(shù)。Math.Round(r)方法:返回最接近r的整數(shù),如果在兩個(gè)數(shù)中間,取偶數(shù)。Math.Round(r,n)方法:返回具有n位有效小數(shù)位數(shù)、最接近r值的數(shù)。任務(wù)3.2 猜字游戲2022-3-710l ? : 運(yùn)算符稱為條件運(yùn)算符,它又稱為三元運(yùn)算符,因?yàn)樗荂#語言中唯一使用三個(gè)操作數(shù)的運(yùn)算符。l 條件運(yùn)算符(? :)根據(jù)第一個(gè)表達(dá)式的值返回后兩個(gè)表達(dá)式的值中的某一個(gè)值。條件運(yùn)算符用于
6、下列形式的條件表達(dá)式中: 表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3l 條件表達(dá)式的執(zhí)行方式如下:首先計(jì)算表達(dá)式1。如果表達(dá)式1的值為true,則計(jì)算表達(dá)式2,并作為條件表達(dá)式的結(jié)果。否則計(jì)算表達(dá)式3,并作為條件表達(dá)式的結(jié)果。3.1.3 條件運(yùn)算符2022-3-711 問題描述:設(shè)計(jì)如圖3.5所示的窗體,運(yùn)行程序,在三個(gè)文本框中分別輸入小時(shí)數(shù)、分鐘數(shù)及秒數(shù),單擊【設(shè)置并顯示按鈕】,在窗體上以時(shí)間格式(hh:mm:ss PM/AM)顯示所設(shè)置的時(shí)間。任務(wù)3. 3 顯示時(shí)間2022-3-712 實(shí)訓(xùn)內(nèi)容:編寫一個(gè)應(yīng)用程序,確定餐廳服務(wù)生的消費(fèi)數(shù)。小費(fèi)金額是賬單的 15%,最小值為1元。 實(shí)訓(xùn)要求:要有輸
7、入格式異常處理。實(shí)訓(xùn)任務(wù)一2022-3-713l 可以使用if語句的else子句指定在表達(dá)式的值為false時(shí)執(zhí)行的語句。在前面的猜數(shù)示例程序中,應(yīng)用程序比較用戶猜的數(shù)和隨機(jī)產(chǎn)生的數(shù),這里只有兩種可能的情況:用戶猜對了或猜錯(cuò)了。如果測試的情況多于兩種,可以組合使用if和else。l 其一般形式為:if (表達(dá)式1) 語句塊1;else if (表達(dá)式2) 語句塊2;.else 語句塊n;3.1.4 ifelse if else語句2022-3-714l if . else if . else語句的執(zhí)行方式為:按照 if . else語句測試中條件表達(dá)式的出現(xiàn)順序測試這些條件,如果if語句中的表
8、達(dá)式為true,則執(zhí)行if 后的相應(yīng)語句。如果表達(dá)式為false,則按順序計(jì)算else if后的表達(dá)式。當(dāng)某個(gè)else if 后的表達(dá)式計(jì)算為true時(shí),則執(zhí)行相應(yīng)的語句。如果沒有任何表達(dá)式計(jì)算為true而且有一個(gè)else,則執(zhí)行else后的語句。語句結(jié)束執(zhí)行后,執(zhí)行傳遞到組合 if . else的末尾。3.1.4 ifelse if else語句2022-3-715 問題描述:某公司雇員的工資包括基本工資和銷售提成。銷售提成根據(jù)表3.2給出的方式計(jì)算。 編寫一應(yīng)用程序,輸入雇員編號、基本工資和銷售額,計(jì)算工資,并輸出工資單。任務(wù)3.4 工資發(fā)放2022-3-7163.1.5 if 語句的嵌套
9、 什么時(shí)候需要使用嵌套的 if 語句? if 語句可以分為哪幾個(gè)組成部分?有多于一個(gè)條件判斷時(shí)可以嵌套使用有多于一個(gè)條件判斷時(shí)可以嵌套使用 if if;條件部分和分支部分,分支部分可以有兩個(gè)。條件部分和分支部分,分支部分可以有兩個(gè)。2022-3-717在if語句中又包含一個(gè)或多個(gè)if語句時(shí),稱為if語句的嵌套。l 任務(wù)任務(wù)3.53.5:求數(shù)的絕對值:求數(shù)的絕對值 問題描述:有一函數(shù): -x (x0)編寫一程序,輸入一個(gè)x值,輸出y值。注意:在嵌套的if語句中,如果if與else的數(shù)目不相等,為實(shí)現(xiàn)程序設(shè)計(jì)者的意圖,可以加大括號來確定與else部分相關(guān)聯(lián)的if(如以上加底紋部分形式的if語句)。
10、3.1.5 if 語句的嵌套2022-3-718l switch語句是分支選擇語句,它通過switch 表達(dá)式的值與多個(gè)不同值進(jìn)行比較選擇相應(yīng)的case語句來處理多個(gè)選擇。switch中的表達(dá)式是一個(gè)整型或字符串型表達(dá)式。l switch語句的一般表示形式為:switch (表達(dá)式)case 常數(shù)1: 語句塊1 break;.case 常數(shù)n: 語句塊n break;default: 語句塊n+1 break;3.1.6 switch語句2022-3-719 實(shí)訓(xùn)內(nèi)容:編寫一個(gè)應(yīng)用程序,實(shí)現(xiàn)一個(gè)簡易的計(jì)算器。 實(shí)訓(xùn)要求:要有輸入格式異常處理。實(shí)訓(xùn)任務(wù)二2022-3-720l 復(fù)合賦值運(yùn)算符對兩
11、個(gè)操作數(shù)執(zhí)行指定的運(yùn)算,然后將結(jié)果值賦予左操作數(shù)指定的變量。其一般形式為: x op= y;其中 op代表二元運(yùn)算符(包括+、-、*、/、%)。復(fù)合賦值運(yùn)算符產(chǎn)生的效果與x = x op y相同。如x+=y與x=x+y效果相同。3.1.7 復(fù)合賦值運(yùn)算符2022-3-721l 以下是C#提供的幾種條件邏輯運(yùn)算符和邏輯運(yùn)算符:&(條件AND,條件與)、&(邏輯AND,邏輯與)|(條件OR,條件或)、|(邏輯OR,邏輯或)!(邏輯NOT,邏輯非)(邏輯XOR,邏輯異或)3.1.8 條件邏輯運(yùn)算符和邏輯運(yùn)算符2022-3-7223.2.1 while語句3.2.2 do . while語句3.2.3
12、 for語句3.2.4 嵌套循環(huán)3.2 循環(huán)語句2022-3-723l while語句有條件地執(zhí)行嵌入語句零次或多次。l while語句的一般格式為:while (布爾表達(dá)式) 嵌入語句 lwhile語句的執(zhí)行方式如下:計(jì)算布爾表達(dá)式;如果布爾表達(dá)式的值為true,執(zhí)行嵌入語句,嵌入語句結(jié)束執(zhí)行后,控制將轉(zhuǎn)到 while語句的開頭,再次執(zhí)行while語句;如果布爾表達(dá)式的值為false,結(jié)束while語句的執(zhí)行。3.2.1 while語句2022-3-724l do . while語句有條件地執(zhí)行一個(gè)嵌入語句一次或多次,該語句的一般格式為:do 嵌入語句; while (布爾表達(dá)式) l do
13、 . while語句的執(zhí)行方式如下:(1)執(zhí)行嵌入語句。(2)嵌入語句結(jié)束執(zhí)行后,計(jì)算布爾表達(dá)式的值。如果布爾表達(dá)式的值為true,控制將轉(zhuǎn)到do語句的開頭,再次執(zhí)行嵌入語句。否則,結(jié)束do語句的執(zhí)行。3.2.2 do while語句2022-3-725l for語句計(jì)算一個(gè)初始化表達(dá)式序列,然后,當(dāng)某個(gè)條件為真時(shí),重復(fù)執(zhí)行某個(gè)嵌套語句并計(jì)算一個(gè)迭代表達(dá)式序列。l for語句的一般格式:for (初始值設(shè)定項(xiàng); 循環(huán)條件; 迭代表達(dá)式) 嵌入語句;3.2.3 for 語句2022-3-726l 初始值設(shè)定項(xiàng):初始化循環(huán)計(jì)數(shù)器的表達(dá)式或賦值語句的逗號分隔列表。l 循環(huán)條件:必須是一個(gè)布爾表達(dá)式,
14、此表達(dá)式用于條件測試以決定是否執(zhí)行循環(huán)。l 迭代表達(dá)式:遞增或遞減循環(huán)計(jì)數(shù)器的表達(dá)式語句,也可包含一個(gè)用逗號分隔的語句表達(dá)式列表。l for語句的執(zhí)行方式如下。 (1)執(zhí)行初始值設(shè)定項(xiàng)(按變量初始值設(shè)定項(xiàng)或語句表達(dá)式的編寫順序執(zhí)行它們)。此步驟只執(zhí)行一次。 (2)計(jì)算循環(huán)條件。如果計(jì)算循環(huán)條件的值為true,則執(zhí)行嵌入語句。執(zhí)行完嵌入語句后,則按順序計(jì)算迭代表達(dá)式,然后從計(jì)算上一個(gè)步驟中的循環(huán)條件開始,執(zhí)行另一次迭代。l 如果計(jì)算循環(huán)條件的值為false,結(jié)束for語句的執(zhí)行。3.2.3 for 語句2022-3-727 實(shí)訓(xùn)內(nèi)容:編寫一個(gè)應(yīng)用程序,實(shí)現(xiàn)階乘的計(jì)算。 實(shí)訓(xùn)要求:實(shí)訓(xùn)實(shí)現(xiàn)階乘計(jì)算
15、,要對輸入整數(shù)進(jìn)行異常處理。實(shí)訓(xùn)任務(wù)三2022-3-728問題描述; 某人新開一個(gè)賬戶,請編寫一應(yīng)用程序,輸入開始存入的金額(本金)、年利率以及存款周期(年)。假定所有的利息收入都重新存入賬戶,請計(jì)算并輸出在存款周期里,每年年終的賬面金額。其金額的計(jì)算公式為a=p(1+r)n。其中,p是最開始存入的金額(本金),r是年利率,n是年數(shù),a是在第n年年終的復(fù)利存款。任務(wù)3.7 計(jì)算復(fù)利存款(一)2022-3-729 打開前面創(chuàng)建的項(xiàng)目TestWhile,運(yùn)行程序,輸入數(shù)據(jù),單擊【計(jì)算】按鈕,結(jié)果如圖3.11所示。 運(yùn)行結(jié)果表明嵌入語句一次也沒有執(zhí)行,因?yàn)閚為-8,year為1,表達(dá)式y(tǒng)ear =
16、n的值為false。為了使嵌入語句至少被執(zhí)行一次,可使用do . while語句。請用do . while語句完成計(jì)算復(fù)利存款的任務(wù)。任務(wù)3.8 計(jì)算復(fù)利存款(二)2022-3-730任務(wù)3.9:打印字母表及對應(yīng)的ASCII碼(一) 編寫一應(yīng)用程序,打印字母表及對應(yīng)的ASCII碼。任務(wù)3.10:打印字母表及對應(yīng)的ASCII碼(二)問題描述: 修改以上“任務(wù)3.9:打印字母表及對應(yīng)的ASCII碼(一)”程序,讓應(yīng)用程序在每一行上輸出5個(gè)字符。解決方案:(1)修改以上程序,我們也可在for循環(huán)中增加另一個(gè)for循環(huán),讓應(yīng)用程序在每一行上輸出5個(gè)字符。(2)運(yùn)行程序,結(jié)果如圖3.15所示。任務(wù)3.9
17、、3.102022-3-7313.3.1 goto語句3.3.2 break語句3.3.3 continue語句3.3.4 運(yùn)算符的優(yōu)先級3.3 跳轉(zhuǎn)語句與要點(diǎn)2022-3-732在程序中g(shù)oto語句將程序控制直接傳遞給標(biāo)記語句。它的形式為下列之一:goto 標(biāo)識符;goto語句的具體應(yīng)用。 1. 使用goto跳出嵌套循環(huán) 2. 使用goto跳轉(zhuǎn)到一個(gè)switch-case標(biāo)簽 3.3.1 goto語句2022-3-7331. 使用goto跳出嵌套循環(huán)任務(wù)3.11:找數(shù)問題描述;在一數(shù)組中查找是否存在某一數(shù),如果在數(shù)組中找到該數(shù),則顯示找到該數(shù),否則顯示該數(shù)沒有被找到。3.3.1 goto語句
18、2022-3-7342. 使用goto跳轉(zhuǎn)到一個(gè)switch-case標(biāo)簽 任務(wù)3.12:自動售貨機(jī)l 問題描述;有一自動售貨機(jī),在出售的商品中有罐裝大、中、小號冰紅茶及瓶裝純凈水,小號冰紅茶的單價(jià)為2元,中號冰紅茶的單價(jià)為小號冰紅茶單價(jià)的2倍,大號冰紅茶的單價(jià)為小號冰紅茶單價(jià)的3倍,瓶裝純凈水的單價(jià)與小號冰紅茶的單價(jià)相同。試用switch . case語句寫出一程序,當(dāng)用戶選擇其中一種商品時(shí),計(jì)算用戶應(yīng)付金額。l當(dāng)用戶輸入0時(shí)表示選擇瓶裝純凈水,1表示小號冰紅茶,2表示中號冰紅茶,3表示大號冰紅茶。3.3.1 goto語句2022-3-735l break語句可用來退出最近的封閉switch、while、do或for語句。break語句的一般格式為:break;lbreak語句將控制轉(zhuǎn)到最近的封閉switch、while、do或for語句的結(jié)束點(diǎn),從而結(jié)束最近的封閉switch、while、do或for語句執(zhí)行。如果break語句不是由switch、while、do或for語句封閉,則發(fā)生編譯時(shí)錯(cuò)誤。l當(dāng)多個(gè)switch、while、do或for語句彼此嵌套時(shí),break語句只應(yīng)用于最里層的語句。若要在多個(gè)嵌套層之間轉(zhuǎn)移控制,必須使用goto語句。3.3.2 break語
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆山東省蘭陵縣中考三模生物試題含解析
- 湖南長沙雅禮實(shí)驗(yàn)中學(xué)2025屆中考生物考試模擬沖刺卷含解析
- 2025屆湖北省武漢市十一校中考考前最后一卷生物試卷含解析
- 2025屆貴州省劍河縣中考生物押題試卷含解析
- 2025幼兒園后勤工作計(jì)劃報(bào)告
- 運(yùn)輸安裝合同范本
- 河南焦作市沁陽市重點(diǎn)中學(xué)2025屆中考一模生物試題含解析
- 城市綜合交通樞紐建設(shè)合作協(xié)議
- 房屋裝修合同范本含裝修預(yù)算清單
- 注冊師工程師聘用合同
- 消防器材與消防設(shè)施的維護(hù)與檢查
- 2024年度碳陶剎車盤分析報(bào)告
- 2025年1月 浙江首考英語試卷
- 2025年1月廣西2025屆高三調(diào)研考試英語試卷(含答案詳解)
- 2024年中考二輪專題復(fù)習(xí)道德與法治主觀題答題技巧(小論文)之演講稿
- 質(zhì)檢工作計(jì)劃書2025質(zhì)檢部工作計(jì)劃范文
- 《復(fù)旦大學(xué)》課件
- 《纏論的實(shí)戰(zhàn)技法》課件
- 承包魚塘維修施工合同范例
- 耶魯綜合抽動嚴(yán)重程度量表正式版
- 2024年浙江省公務(wù)員錄用考試《行測》題(A類)
評論
0/150
提交評論