版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 第3章 程序流控制主講人: XXX 面向?qū)ο蟪绦蛟O(shè)計(jì)程序流控制循環(huán)語(yǔ)句循環(huán)語(yǔ)句 2選擇語(yǔ)句選擇語(yǔ)句 1跳轉(zhuǎn)語(yǔ)句跳轉(zhuǎn)語(yǔ)句 32022-3-733.1.1 if語(yǔ)句3.1.2 if . else語(yǔ)句3.1.3 條件運(yùn)算符3.1.4 if . else if . else語(yǔ)句3.1.5 if語(yǔ)句的嵌套3.1.6 switch語(yǔ)句3.1.7 復(fù)合賦值運(yùn)算符3.1.8 條件邏輯運(yùn)算符和邏輯運(yùn)算符3.1 選擇語(yǔ)句2022-3-74l if語(yǔ)句根據(jù)表達(dá)式的值選擇要執(zhí)行的語(yǔ)句。if語(yǔ)句的一般表示形式為:if (表達(dá)式) 語(yǔ)句塊;l if語(yǔ)句的執(zhí)行方式如下:如果表達(dá)式的值為true,則執(zhí)行語(yǔ)句塊,否則語(yǔ)句塊不
2、會(huì)被執(zhí)行。語(yǔ)句塊可為一條或多條語(yǔ)句。3.1.1 if語(yǔ)句2022-3-75l 問(wèn)題描述:編寫(xiě)一個(gè)程序(見(jiàn)圖3.1),計(jì)算一門課程學(xué)生的考試通過(guò)率。隨機(jī)抽取10名學(xué)生,分別輸入每一學(xué)生考試的結(jié)果,通過(guò)了考試的學(xué)生,則向如圖3.1所示的文本框中輸入“1”,對(duì)沒(méi)有通過(guò)考試的學(xué)生,則向圖3.1所示的文本框中輸入“2”。每次輸入后都單擊【確定】按鈕。到第10次時(shí),將顯示如圖3.2所示的消息框。任務(wù)3.1 考試結(jié)果分析2022-3-76l if . else語(yǔ)句的一般表示形式為:if (表達(dá)式) 語(yǔ)句塊1;else 語(yǔ)句塊2;l if . else語(yǔ)句的執(zhí)行方式如下:如果表達(dá)式的值為true,則執(zhí)行語(yǔ)句塊
3、1,如果表達(dá)式的值為false,則執(zhí)行語(yǔ)句塊2。l 語(yǔ)句塊1、語(yǔ)句塊2可為一條或多條語(yǔ)句,如果為一條語(yǔ)句,則大括號(hào)可以省略。3.1.3 if else語(yǔ)句2022-3-77 問(wèn)題描述:創(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ù)對(duì)象創(chuàng)建隨機(jī)數(shù)對(duì)象 double correctNumber = rnd.NextDouble() * 10; /調(diào)用對(duì)象的調(diào)用對(duì)象的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 + 歡迎你參加竟猜,下次再來(lái)); 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)樗荂#語(yǔ)言中唯一使用三個(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 問(wèn)題描述:設(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)容:編寫(xiě)一個(gè)應(yīng)用程序,確定餐廳服務(wù)生的消費(fèi)數(shù)。小費(fèi)金額是賬單的 15%,最小值為1元。 實(shí)訓(xùn)要求:要有輸
7、入格式異常處理。實(shí)訓(xùn)任務(wù)一2022-3-713l 可以使用if語(yǔ)句的else子句指定在表達(dá)式的值為false時(shí)執(zhí)行的語(yǔ)句。在前面的猜數(shù)示例程序中,應(yīng)用程序比較用戶猜的數(shù)和隨機(jī)產(chǎn)生的數(shù),這里只有兩種可能的情況:用戶猜對(duì)了或猜錯(cuò)了。如果測(cè)試的情況多于兩種,可以組合使用if和else。l 其一般形式為:if (表達(dá)式1) 語(yǔ)句塊1;else if (表達(dá)式2) 語(yǔ)句塊2;.else 語(yǔ)句塊n;3.1.4 ifelse if else語(yǔ)句2022-3-714l if . else if . else語(yǔ)句的執(zhí)行方式為:按照 if . else語(yǔ)句測(cè)試中條件表達(dá)式的出現(xiàn)順序測(cè)試這些條件,如果if語(yǔ)句中的表
8、達(dá)式為true,則執(zhí)行if 后的相應(yīng)語(yǔ)句。如果表達(dá)式為false,則按順序計(jì)算else if后的表達(dá)式。當(dāng)某個(gè)else if 后的表達(dá)式計(jì)算為true時(shí),則執(zhí)行相應(yīng)的語(yǔ)句。如果沒(méi)有任何表達(dá)式計(jì)算為true而且有一個(gè)else,則執(zhí)行else后的語(yǔ)句。語(yǔ)句結(jié)束執(zhí)行后,執(zhí)行傳遞到組合 if . else的末尾。3.1.4 ifelse if else語(yǔ)句2022-3-715 問(wèn)題描述:某公司雇員的工資包括基本工資和銷售提成。銷售提成根據(jù)表3.2給出的方式計(jì)算。 編寫(xiě)一應(yīng)用程序,輸入雇員編號(hào)、基本工資和銷售額,計(jì)算工資,并輸出工資單。任務(wù)3.4 工資發(fā)放2022-3-7163.1.5 if 語(yǔ)句的嵌套
9、 什么時(shí)候需要使用嵌套的 if 語(yǔ)句? if 語(yǔ)句可以分為哪幾個(gè)組成部分?有多于一個(gè)條件判斷時(shí)可以嵌套使用有多于一個(gè)條件判斷時(shí)可以嵌套使用 if if;條件部分和分支部分,分支部分可以有兩個(gè)。條件部分和分支部分,分支部分可以有兩個(gè)。2022-3-717在if語(yǔ)句中又包含一個(gè)或多個(gè)if語(yǔ)句時(shí),稱為if語(yǔ)句的嵌套。l 任務(wù)任務(wù)3.53.5:求數(shù)的絕對(duì)值:求數(shù)的絕對(duì)值 問(wèn)題描述:有一函數(shù): -x (x0)編寫(xiě)一程序,輸入一個(gè)x值,輸出y值。注意:在嵌套的if語(yǔ)句中,如果if與else的數(shù)目不相等,為實(shí)現(xiàn)程序設(shè)計(jì)者的意圖,可以加大括號(hào)來(lái)確定與else部分相關(guān)聯(lián)的if(如以上加底紋部分形式的if語(yǔ)句)。
10、3.1.5 if 語(yǔ)句的嵌套2022-3-718l switch語(yǔ)句是分支選擇語(yǔ)句,它通過(guò)switch 表達(dá)式的值與多個(gè)不同值進(jìn)行比較選擇相應(yīng)的case語(yǔ)句來(lái)處理多個(gè)選擇。switch中的表達(dá)式是一個(gè)整型或字符串型表達(dá)式。l switch語(yǔ)句的一般表示形式為:switch (表達(dá)式)case 常數(shù)1: 語(yǔ)句塊1 break;.case 常數(shù)n: 語(yǔ)句塊n break;default: 語(yǔ)句塊n+1 break;3.1.6 switch語(yǔ)句2022-3-719 實(shí)訓(xùn)內(nèi)容:編寫(xiě)一個(gè)應(yīng)用程序,實(shí)現(xiàn)一個(gè)簡(jiǎn)易的計(jì)算器。 實(shí)訓(xùn)要求:要有輸入格式異常處理。實(shí)訓(xùn)任務(wù)二2022-3-720l 復(fù)合賦值運(yùn)算符對(duì)兩
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語(yǔ)句3.2.2 do . while語(yǔ)句3.2.3
12、 for語(yǔ)句3.2.4 嵌套循環(huán)3.2 循環(huán)語(yǔ)句2022-3-723l while語(yǔ)句有條件地執(zhí)行嵌入語(yǔ)句零次或多次。l while語(yǔ)句的一般格式為:while (布爾表達(dá)式) 嵌入語(yǔ)句 lwhile語(yǔ)句的執(zhí)行方式如下:計(jì)算布爾表達(dá)式;如果布爾表達(dá)式的值為true,執(zhí)行嵌入語(yǔ)句,嵌入語(yǔ)句結(jié)束執(zhí)行后,控制將轉(zhuǎn)到 while語(yǔ)句的開(kāi)頭,再次執(zhí)行while語(yǔ)句;如果布爾表達(dá)式的值為false,結(jié)束while語(yǔ)句的執(zhí)行。3.2.1 while語(yǔ)句2022-3-724l do . while語(yǔ)句有條件地執(zhí)行一個(gè)嵌入語(yǔ)句一次或多次,該語(yǔ)句的一般格式為:do 嵌入語(yǔ)句; while (布爾表達(dá)式) l do
13、 . while語(yǔ)句的執(zhí)行方式如下:(1)執(zhí)行嵌入語(yǔ)句。(2)嵌入語(yǔ)句結(jié)束執(zhí)行后,計(jì)算布爾表達(dá)式的值。如果布爾表達(dá)式的值為true,控制將轉(zhuǎn)到do語(yǔ)句的開(kāi)頭,再次執(zhí)行嵌入語(yǔ)句。否則,結(jié)束do語(yǔ)句的執(zhí)行。3.2.2 do while語(yǔ)句2022-3-725l for語(yǔ)句計(jì)算一個(gè)初始化表達(dá)式序列,然后,當(dāng)某個(gè)條件為真時(shí),重復(fù)執(zhí)行某個(gè)嵌套語(yǔ)句并計(jì)算一個(gè)迭代表達(dá)式序列。l for語(yǔ)句的一般格式:for (初始值設(shè)定項(xiàng); 循環(huán)條件; 迭代表達(dá)式) 嵌入語(yǔ)句;3.2.3 for 語(yǔ)句2022-3-726l 初始值設(shè)定項(xiàng):初始化循環(huán)計(jì)數(shù)器的表達(dá)式或賦值語(yǔ)句的逗號(hào)分隔列表。l 循環(huán)條件:必須是一個(gè)布爾表達(dá)式,
14、此表達(dá)式用于條件測(cè)試以決定是否執(zhí)行循環(huán)。l 迭代表達(dá)式:遞增或遞減循環(huán)計(jì)數(shù)器的表達(dá)式語(yǔ)句,也可包含一個(gè)用逗號(hào)分隔的語(yǔ)句表達(dá)式列表。l for語(yǔ)句的執(zhí)行方式如下。 (1)執(zhí)行初始值設(shè)定項(xiàng)(按變量初始值設(shè)定項(xiàng)或語(yǔ)句表達(dá)式的編寫(xiě)順序執(zhí)行它們)。此步驟只執(zhí)行一次。 (2)計(jì)算循環(huán)條件。如果計(jì)算循環(huán)條件的值為true,則執(zhí)行嵌入語(yǔ)句。執(zhí)行完嵌入語(yǔ)句后,則按順序計(jì)算迭代表達(dá)式,然后從計(jì)算上一個(gè)步驟中的循環(huán)條件開(kāi)始,執(zhí)行另一次迭代。l 如果計(jì)算循環(huán)條件的值為false,結(jié)束for語(yǔ)句的執(zhí)行。3.2.3 for 語(yǔ)句2022-3-727 實(shí)訓(xùn)內(nèi)容:編寫(xiě)一個(gè)應(yīng)用程序,實(shí)現(xiàn)階乘的計(jì)算。 實(shí)訓(xùn)要求:實(shí)訓(xùn)實(shí)現(xiàn)階乘計(jì)算
15、,要對(duì)輸入整數(shù)進(jìn)行異常處理。實(shí)訓(xùn)任務(wù)三2022-3-728問(wèn)題描述; 某人新開(kāi)一個(gè)賬戶,請(qǐng)編寫(xiě)一應(yīng)用程序,輸入開(kāi)始存入的金額(本金)、年利率以及存款周期(年)。假定所有的利息收入都重新存入賬戶,請(qǐng)計(jì)算并輸出在存款周期里,每年年終的賬面金額。其金額的計(jì)算公式為a=p(1+r)n。其中,p是最開(kāi)始存入的金額(本金),r是年利率,n是年數(shù),a是在第n年年終的復(fù)利存款。任務(wù)3.7 計(jì)算復(fù)利存款(一)2022-3-729 打開(kāi)前面創(chuàng)建的項(xiàng)目TestWhile,運(yùn)行程序,輸入數(shù)據(jù),單擊【計(jì)算】按鈕,結(jié)果如圖3.11所示。 運(yùn)行結(jié)果表明嵌入語(yǔ)句一次也沒(méi)有執(zhí)行,因?yàn)閚為-8,year為1,表達(dá)式y(tǒng)ear =
16、n的值為false。為了使嵌入語(yǔ)句至少被執(zhí)行一次,可使用do . while語(yǔ)句。請(qǐng)用do . while語(yǔ)句完成計(jì)算復(fù)利存款的任務(wù)。任務(wù)3.8 計(jì)算復(fù)利存款(二)2022-3-730任務(wù)3.9:打印字母表及對(duì)應(yīng)的ASCII碼(一) 編寫(xiě)一應(yīng)用程序,打印字母表及對(duì)應(yīng)的ASCII碼。任務(wù)3.10:打印字母表及對(duì)應(yīng)的ASCII碼(二)問(wèn)題描述: 修改以上“任務(wù)3.9:打印字母表及對(duì)應(yīng)的ASCII碼(一)”程序,讓?xiě)?yīng)用程序在每一行上輸出5個(gè)字符。解決方案:(1)修改以上程序,我們也可在for循環(huán)中增加另一個(gè)for循環(huán),讓?xiě)?yīng)用程序在每一行上輸出5個(gè)字符。(2)運(yùn)行程序,結(jié)果如圖3.15所示。任務(wù)3.9
17、、3.102022-3-7313.3.1 goto語(yǔ)句3.3.2 break語(yǔ)句3.3.3 continue語(yǔ)句3.3.4 運(yùn)算符的優(yōu)先級(jí)3.3 跳轉(zhuǎn)語(yǔ)句與要點(diǎn)2022-3-732在程序中g(shù)oto語(yǔ)句將程序控制直接傳遞給標(biāo)記語(yǔ)句。它的形式為下列之一:goto 標(biāo)識(shí)符;goto語(yǔ)句的具體應(yīng)用。 1. 使用goto跳出嵌套循環(huán) 2. 使用goto跳轉(zhuǎn)到一個(gè)switch-case標(biāo)簽 3.3.1 goto語(yǔ)句2022-3-7331. 使用goto跳出嵌套循環(huán)任務(wù)3.11:找數(shù)問(wèn)題描述;在一數(shù)組中查找是否存在某一數(shù),如果在數(shù)組中找到該數(shù),則顯示找到該數(shù),否則顯示該數(shù)沒(méi)有被找到。3.3.1 goto語(yǔ)句
18、2022-3-7342. 使用goto跳轉(zhuǎn)到一個(gè)switch-case標(biāo)簽 任務(wù)3.12:自動(dòng)售貨機(jī)l 問(wèn)題描述;有一自動(dòng)售貨機(jī),在出售的商品中有罐裝大、中、小號(hào)冰紅茶及瓶裝純凈水,小號(hào)冰紅茶的單價(jià)為2元,中號(hào)冰紅茶的單價(jià)為小號(hào)冰紅茶單價(jià)的2倍,大號(hào)冰紅茶的單價(jià)為小號(hào)冰紅茶單價(jià)的3倍,瓶裝純凈水的單價(jià)與小號(hào)冰紅茶的單價(jià)相同。試用switch . case語(yǔ)句寫(xiě)出一程序,當(dāng)用戶選擇其中一種商品時(shí),計(jì)算用戶應(yīng)付金額。l當(dāng)用戶輸入0時(shí)表示選擇瓶裝純凈水,1表示小號(hào)冰紅茶,2表示中號(hào)冰紅茶,3表示大號(hào)冰紅茶。3.3.1 goto語(yǔ)句2022-3-735l break語(yǔ)句可用來(lái)退出最近的封閉switch、while、do或for語(yǔ)句。break語(yǔ)句的一般格式為:break;lbreak語(yǔ)句將控制轉(zhuǎn)到最近的封閉switch、while、do或for語(yǔ)句的結(jié)束點(diǎn),從而結(jié)束最近的封閉switch、while、do或for語(yǔ)句執(zhí)行。如果break語(yǔ)句不是由switch、while、do或for語(yǔ)句封閉,則發(fā)生編譯時(shí)錯(cuò)誤。l當(dāng)多個(gè)switch、while、do或for語(yǔ)句彼此嵌套時(shí),break語(yǔ)句只應(yīng)用于最里層的語(yǔ)句。若要在多個(gè)嵌套層之間轉(zhuǎn)移控制,必須使用goto語(yǔ)句。3.3.2 break語(yǔ)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動(dòng)開(kāi)發(fā)技術(shù)課程設(shè)計(jì)
- 揚(yáng)州大學(xué)單片機(jī)課程設(shè)計(jì)
- 混凝土課程設(shè)計(jì)目的
- 復(fù)雜的java課程設(shè)計(jì)
- 整骨課程設(shè)計(jì)
- 礦產(chǎn)勘察課程設(shè)計(jì)湖南
- 2025版駕校車輛購(gòu)置及運(yùn)營(yíng)成本預(yù)算管理合同3篇
- 2025版電子商務(wù)平臺(tái)運(yùn)營(yíng)與服務(wù)合同6篇
- 2025版股權(quán)轉(zhuǎn)讓合同關(guān)于高科技創(chuàng)新企業(yè)的具體條款3篇
- 2025版建筑工程承包合同范本(BIM技術(shù)實(shí)施)3篇
- CCEA GC 11-2019 工程造價(jià)咨詢企業(yè)服務(wù)清單
- 農(nóng)業(yè)比較效益低的成因及應(yīng)對(duì)
- 2020年住房和城鄉(xiāng)建設(shè)行業(yè)人員繼續(xù)教育(八大員繼續(xù)教育)土建質(zhì)量員繼續(xù)教育考試題庫(kù)集
- 直觀教具在小學(xué)英語(yǔ)詞匯教學(xué)中的運(yùn)用初探
- 《制冷設(shè)備原理與維修》期末試卷試題及參考答案
- 供水管道工程現(xiàn)場(chǎng)管理辦法
- 酒店委托管理模式下的財(cái)務(wù)治理
- 簡(jiǎn)單員工考勤表
- 新年賀卡模板
- 國(guó)家開(kāi)放大學(xué)《管理英語(yǔ)4》章節(jié)測(cè)試參考答案
- 云南省普通初中學(xué)生成長(zhǎng)記錄—基本素質(zhì)評(píng)價(jià)表(表一)
評(píng)論
0/150
提交評(píng)論