




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第3章流程控制目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)案例展現(xiàn):智能環(huán)境控制-流程控制結(jié)構(gòu)【案例描述】基于C#開發(fā)平臺,創(chuàng)建一個WPF項目應(yīng)用程序,實現(xiàn)實驗室環(huán)境參數(shù)的監(jiān)測及相應(yīng)的智能控制,具體功能如下:實現(xiàn)單擊界面上“開始采集”按鈕,“開始采集”按鈕文本提示符號為“停止采集”,界面分別顯示光照、溫度、濕度的實際物理量值;并判斷溫度是否大于文本輸入的給定溫度值,是則1#風(fēng)扇開;否則顯示1#風(fēng)扇關(guān);能夠根據(jù)溫度的值范圍,給出注意天氣舒適度的提示(大于30℃--炎熱,22~30℃-稍熱,14~22℃-舒適,8~14℃-寒冷,<8℃-寒凍)。再次單擊該“停止采集”按鈕,按鈕文本重新顯示為“開始采集”。界面上的對應(yīng)參數(shù)保持不變。案例展現(xiàn):環(huán)境參數(shù)采集—數(shù)據(jù)表達式的使用【案例結(jié)果】圖3-1是是本案例的界面及點擊【開始采集】按鈕后所顯示的數(shù)據(jù),并且一直是實時采集的數(shù)據(jù),且按鈕顯示【停止采集】。為當(dāng)溫度超過設(shè)置的界限值時,風(fēng)扇自動開啟。圖3-2是點擊【停止采集】按鈕后的界面。案例展現(xiàn):環(huán)境參數(shù)采集—數(shù)據(jù)表達式的使用【案例準(zhǔn)備】從本書配套光盤導(dǎo)入“Csharp_3”的WPF應(yīng)用程序項目,用于實現(xiàn)本案例的功能。操作步驟
(1)新建一個“Csharp_3”WPF應(yīng)用程序項目;(2)為創(chuàng)建后的“Csharp_3”項目,添加隨書光盤提供的“dll庫”目下的設(shè)備操作類庫文件:"NewlandLibrary.dll"、"Comm.Bus.dll"、"Comm.Sys.dll"、"Comm.Utils.dll"、"Newland.DeviceProviderImpl.dll"、"Newland.DeviceProviderIntf.dll"、"WinFormControl.dll";(3)參照實訓(xùn)平臺使用手冊,連接好模擬量四輸入模塊及Adam-4150模塊的線路;備注:如果讀者沒有隨書配套的物聯(lián)網(wǎng)實訓(xùn)系統(tǒng),可省略步驟(2)。在步驟(3)中,"WinFormControl.dll"是風(fēng)扇動畫控件的動態(tài)庫。目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)3.1.C#控制結(jié)構(gòu)1.順序結(jié)構(gòu)
順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的,這種結(jié)構(gòu)的特點是:程序從入口點a開始,按順序執(zhí)行所有操作,直到出口點b處,所以稱為順序結(jié)構(gòu)。2.選擇結(jié)構(gòu)
選擇結(jié)構(gòu)表示程序的處理步驟出現(xiàn)了分支,它需要根據(jù)某一特定的條件選擇其中的一個分支執(zhí)行。選擇結(jié)構(gòu)有單選擇、雙選擇和多選擇三種形式。3.循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)表示程序反復(fù)執(zhí)行某個或某些操作,直到某條件為假(或為真)時才可終止循環(huán)。在循環(huán)結(jié)構(gòu)中最主要的是:什么情況下執(zhí)行循環(huán)?哪些操作需要循環(huán)執(zhí)行?循環(huán)結(jié)構(gòu)的基本形式有兩種:當(dāng)型循環(huán)和直到型循環(huán),而什么情況下執(zhí)行循環(huán)則要根據(jù)條件判斷。C#中提供了以下控制關(guān)鍵字實現(xiàn)程序的流程控制:選擇控制:if、else、switch、case循環(huán)控制:while、do、for、foreach跳轉(zhuǎn)語句:break、continue異常處理:try、catch、finally目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)3.2.順序結(jié)構(gòu)按書寫順序逐句執(zhí)行的,從第一條語句開始,一句一句地執(zhí)行到最后一句,這種結(jié)構(gòu)的程序稱為順序結(jié)構(gòu)?!纠?.1】在本章“Csharp_3”解決方案中,添加一個“Csharp_3_順序結(jié)構(gòu)”WPF應(yīng)用程序項目,來實現(xiàn)華氏溫度與攝氏溫度的轉(zhuǎn)換計算。目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)3.3.選擇結(jié)構(gòu)3.3.1if語句if語句是最常用的選擇語句,它根據(jù)布爾表達式的值來判斷是否執(zhí)行后面的內(nèi)嵌語句。if語句要分為“單分支、雙分支、嵌套、多分支”四種選擇結(jié)構(gòu)。1.單分支選擇結(jié)構(gòu)if語句只有一個分支,其格式為:if
(條件表達式)
內(nèi)嵌語句2.雙分支結(jié)構(gòu)C#中,對一個表達式進行計算,if語句根據(jù)計算結(jié)果進行判斷(真或假),然后二選一執(zhí)行,格式為:if
(條件表達式)
內(nèi)嵌語句1else
內(nèi)嵌語句23.3.選擇結(jié)構(gòu)3.3.1if語句3.嵌套if語句如果程序的邏輯判斷關(guān)系比較復(fù)雜,通常會采用嵌套if語句,即在判斷之中又有判斷。4.多分支選擇結(jié)構(gòu)采用嵌套的if語句是為了實現(xiàn)多分支選擇,但程序結(jié)構(gòu)不夠清晰,所以一般情況下較少使用if語句的嵌套結(jié)構(gòu),而使用if--else--if語句來實現(xiàn)多分支選擇。3.3.選擇結(jié)構(gòu)3.3.1switch語句switch語句的一般形式為:switch(表達式){case常量表達式1:語句組1;break;case常量表達式2:語句組2;break;...case常量表達式n:語句組n;br注意:case后面必須是常量表達式,不能為變量表達式,且常量表達式的值必須為整型、字符型或枚舉型。case后面的各個常量值不能重復(fù)出現(xiàn)。case后面可以放置多條語句,可以不使用復(fù)合語句形式,當(dāng)執(zhí)行到break語句時就跳出switch語句(如上面語句的case3、case4)。目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)3.4.1while語句while語句的一般形式如下:while(表達式){語句序列;}3.4.2do...while語句(直到型循環(huán))do...while語句的一般形式為:do{語句序列;}while(表達式);3.4.循壞控制語句3.4.3for語句for語句是實現(xiàn)循環(huán)最常用的語句,一般用于循環(huán)次數(shù)已知的情況。for循環(huán)語句的一般形式如下:上述for語句的表達式同右側(cè)的while語句是等價的。其執(zhí)行過程如下:先計算表達式1。然后計算表達式2,若其值非0(真),則循環(huán)條件成立,轉(zhuǎn)3),若其值為0(假),則循環(huán)條件不成立,則轉(zhuǎn)5)結(jié)束循環(huán)。執(zhí)行循環(huán)體。計算表達式3的值,然后轉(zhuǎn)2)。結(jié)束循環(huán),執(zhí)行for循環(huán)之后的語句3.4.循壞控制語句3.4.4嵌套循環(huán)一個循環(huán)里面又包含另一個完整的循環(huán),這種形式叫嵌套循環(huán)。按照循環(huán)的嵌套次數(shù),分別稱為二重循環(huán),三重循環(huán)等。for語句、while語句、do...while語句都可以互相嵌套。3.4.5break語句和continue語句
在循環(huán)程序的執(zhí)行過程中,有時需要終止循環(huán)。C#提供了兩個循環(huán)中斷控制語句,break語句和continue語句。1.break語句break語句的功能是跳出本層循環(huán),不再執(zhí)行。其一般形式如下:break;執(zhí)行過程:跳出switch語句或循環(huán)語句,執(zhí)行其后的語句2.continue語句continue語句的一般形式為:continue;3.4.循壞控制語句目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)C#提供了一種處理系統(tǒng)級錯誤和應(yīng)用程序級錯誤的結(jié)構(gòu)化的、統(tǒng)一的、類型安全的方法。C#異常語句包含try子句、catch子句和finally子句。使用try/catch/finally結(jié)構(gòu)需要注意如下幾點:應(yīng)該將程序中可能出現(xiàn)異常的代碼放在try模塊中。而將異常處理的代碼放在catch模塊中。無論產(chǎn)生異常與否都會執(zhí)行finally模塊中的內(nèi)容。一般在finally模塊中關(guān)閉或釋放資源。catch后面的參數(shù)為確定該模塊所處理的異常類型,允許catch后面不帶參數(shù),表示可以處理所有的異常類型??梢园鄠€catch子句,每個catch子句中包含了一個異常類型。而且catch子句是有順序要求的。如圖3-13所示c#的異常類層次圖,catch后面的異常類型在層次圖的位置越高,相應(yīng)的catch語句越要放到后面。如catch(IOExceptione)要放到catch(FileLoadExceptiont)的后面。3.5.異常處理4.try/catch/finally結(jié)構(gòu)可以嵌套。5.finally塊是可選的。6.Try/catch/finally結(jié)構(gòu)的每一部分,都要用復(fù)合語句的形式。7.可以使用throw關(guān)鍵字顯示的引發(fā)異常。3.5.異常處理目錄3.4循環(huán)控制語句3.1C#控制結(jié)構(gòu)案例展現(xiàn)3.2順序結(jié)構(gòu)3.3選擇結(jié)構(gòu)3.5異常處理案例實現(xiàn)【案例演示】本案例的實現(xiàn)要基于本書配套的實訓(xùn)平臺,所以在測試之前,請讀者務(wù)必仔細閱讀時序設(shè)備配套的用戶使用手冊。操作步驟(1)參照實訓(xùn)平臺使用確認手冊,連接好模擬量四輸入模塊和ADAM4150數(shù)字量采集模塊的線路,并正確供電;(2)運行該程序,單擊【開始采集】按鈕,仔細觀察界面中的當(dāng)前值;此時按鈕顯示為“停止采集”,表示正在循環(huán)采集數(shù)據(jù)中;(3)在溫度界限值輸入框中,輸入不同的數(shù)據(jù),查看風(fēng)扇的自動啟停;(3)單擊【停止采集】按鈕,仔細觀察界面中的溫度及風(fēng)扇狀態(tài)的改變案例實現(xiàn)習(xí)題填空題在c#語言中,continue語句的作用是(),即跳過循環(huán)中下面尚未執(zhí)行的語句,接著進行下一次是否執(zhí)行循環(huán)的判定。在c#語言中,break語句可以用于()語句和()語句中。把for(表達式1;表達式2;表達式3),改為等價的while語句。(
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 古代表示年齡的詞語從小到大排序
- 公益慈善存在的問題及建議
- 公共直飲水點管理制度
- 公共交通服務(wù)質(zhì)量評估制度
- 工作票安規(guī)流程
- 工業(yè)產(chǎn)品外觀設(shè)計的基本原則
- 2025年養(yǎng)老保險市場分析:參保人數(shù)穩(wěn)步增長 持續(xù)優(yōu)化服務(wù)保障
- 廣東省茂名市2024-2025學(xué)年高三上學(xué)期第一次綜合測試數(shù)學(xué)試題(解析版)
- 湛江降水井施工方案
- 寧波耐堿磚施工方案
- 2025年阜陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫有答案
- 手術(shù)十大安全管理目標(biāo)
- 2025年1月時事政治考試100題及參考答案
- 實施“教聯(lián)體”賦能共同體 打造校家社協(xié)同育人新模式
- 六年級下冊快樂讀書吧外國名著閱讀練習(xí)《魯濱遜漂流》《湯姆索亞歷險記》《騎鵝旅行記》答案
- 科技助力野生動植物保護-創(chuàng)新技術(shù)與方法探討
- 2025年合肥職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 2025年黑龍江旅游職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫匯編
- 2025年哈爾濱電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整版
- 2025年湖南城建職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫新版
- 國家基本藥物臨床應(yīng)用指南
評論
0/150
提交評論