C#程序設(shè)計 課件項目3 交通燈_第1頁
C#程序設(shè)計 課件項目3 交通燈_第2頁
C#程序設(shè)計 課件項目3 交通燈_第3頁
C#程序設(shè)計 課件項目3 交通燈_第4頁
C#程序設(shè)計 課件項目3 交通燈_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

交通燈項目三高等院校公共課系列精品教材C#程序設(shè)計熟練掌握C#中的流程控制語句熟練掌握各種運(yùn)算符的用法和優(yōu)先級學(xué)會不同數(shù)據(jù)類型間的轉(zhuǎn)換方法掌握WinForm控件TextBox、ComboBox的使用學(xué)會使用Resources類來實(shí)現(xiàn)圖片切換技能目標(biāo)除了用鼠標(biāo)來接收用戶命令之外,我們還可以接收用戶鍵盤輸入的設(shè)置,完成更準(zhǔn)確的計時和圖片切換操作,本項目將通過模擬交通燈來練習(xí)類型轉(zhuǎn)換及流程控制語句的使用。項目導(dǎo)讀任務(wù)1知識點(diǎn)任務(wù)2交通燈項目案例知識梳理知識點(diǎn)任務(wù)1一、流程控制語句二、運(yùn)算符三、類型轉(zhuǎn)換知識梳理任務(wù)引入:C#語言中除了基本的算術(shù)運(yùn)算之外,還有哪些運(yùn)算符?程序的執(zhí)行除了按照從上到下的順序之外,還有哪些流程控制語句呢?任務(wù)分析:和C語言類似,C#中除了算術(shù)運(yùn)算符之外,還有關(guān)系運(yùn)算符、邏輯運(yùn)算符、賦值運(yùn)算符等等。有時為了控制程序的執(zhí)行,C#中還包含選擇語句、迭代語句和跳轉(zhuǎn)語句。任務(wù)1知識點(diǎn)一、流程控制語句C#在局部代碼片斷內(nèi)遵循的依然是過程型編程語言(特征就是程序調(diào)用的先后順序與定義的先后順序之間有關(guān)聯(lián)),因此語句按其在源碼中出現(xiàn)的順序依次執(zhí)行。但是如果完全按固定的順序執(zhí)行,就將缺乏靈活性。因此,需要根據(jù)測試條件的結(jié)果決定要執(zhí)行的語句。C#提供了控制流程語句,可用于改變執(zhí)行順序。所有控制流程語句都具有相同的基本特征:根據(jù)一組條件選擇要執(zhí)行的語句。一般分為:選擇語句、迭代語句(循環(huán)語句)、跳轉(zhuǎn)語句。任務(wù)1知識點(diǎn)(一)選擇語句主要功能是根據(jù)表達(dá)式的值選擇性地執(zhí)行多條語句中的一條,包括if語句和switch語句。1.if語句if語句是最基本的選擇語句,它根據(jù)一個布爾表達(dá)式的結(jié)果選擇執(zhí)行一條語句。2.switch語句switch語句與級聯(lián)if語句功能類似,但更簡潔、更靈活。switch語句執(zhí)行與表達(dá)式值相等的標(biāo)簽指定的語句列表。任務(wù)1知識點(diǎn)(二)迭代語句選擇語句是根據(jù)表達(dá)式的值選擇語句并執(zhí)行一次,而迭代語句(循環(huán)語句)重復(fù)執(zhí)行語句多次。一般在迭代過程中都需要計算表達(dá)式的值,測試是否繼續(xù)循環(huán)。在表達(dá)式的值決定退出循環(huán)之前,還可以使用break,goto、return、throw;也可使用continue結(jié)束本次循環(huán),直接開始下一次的循環(huán)。迭代語句包括while語句、do-while語句、for語句和foreach語句。任務(wù)1知識點(diǎn)(三)跳轉(zhuǎn)語句跳轉(zhuǎn)語句主要包括break語句、continue語句和return語句。1.break語句break語句用于退出最近(本層)的switch、while、do、for或foreach語句。如果多條循環(huán)語句相互嵌套,就只退出所在的那層循環(huán)。2.continue語句continue語句用于退出本次循環(huán),然后進(jìn)入最近的while、do、for、foreach語句的下一次循環(huán)。如果多層循環(huán)嵌套,continue語句只將用于最里面的那層循環(huán)。3.return語句return語句用于返回調(diào)用方所在的位置。一般多用于子方法返回調(diào)用的主方法任務(wù)1知識點(diǎn)(四)位運(yùn)算符位運(yùn)算符作用于二進(jìn)制位,并逐位執(zhí)行操作。&、|、^、~、<<、>>的描述如下表所示:任務(wù)1知識點(diǎn)二、運(yùn)算符運(yùn)算符是一種告訴編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作的符號,C#有豐富的內(nèi)置運(yùn)算符,分為以下六類:算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符位運(yùn)算符賦值運(yùn)算符雜項運(yùn)算符任務(wù)1知識點(diǎn)(一)算術(shù)運(yùn)算符表顯示了C#支持的所有算術(shù)運(yùn)算符。假設(shè)變量

A

的值為10,變量

B

的值為20,則:任務(wù)1知識點(diǎn)(二)關(guān)系運(yùn)算符表顯示了C#支持的所有關(guān)系運(yùn)算符。假設(shè)變量A的值為0,變量B的值為20,則:(三)邏輯運(yùn)算符表顯示了C#支持的所有邏輯運(yùn)算符。假設(shè)變量A為布爾值true,變量B為布爾值false,則:任務(wù)1知識點(diǎn)(四)賦值運(yùn)算符表列出了C#支持的賦值運(yùn)算符:任務(wù)1知識點(diǎn)(五)其他運(yùn)算符表列出了C#支持的其他一些重要的運(yùn)算符,包括sizeof、typeof和條件運(yùn)算符?:等等。任務(wù)1知識點(diǎn)(六)運(yùn)算符優(yōu)先級表將按運(yùn)算符優(yōu)先級從高到低列出各個運(yùn)算符,具有較高優(yōu)先級的運(yùn)算符出現(xiàn)在表格的上面,具有較低優(yōu)先級的運(yùn)算符出現(xiàn)在表格的下面。在表達(dá)式中,較高優(yōu)先級的運(yùn)算符會被優(yōu)先計算。任務(wù)1知識點(diǎn)三、類型轉(zhuǎn)換作為統(tǒng)一類型系統(tǒng)的一部分,所有值類型都可以轉(zhuǎn)換為object。預(yù)定義的數(shù)值型類型之間支持隱式轉(zhuǎn)換,隱式轉(zhuǎn)換可能降低精度,但是不降低量級(表示數(shù)據(jù)的能力),所以實(shí)際應(yīng)用過程中應(yīng)該避免使用隱式轉(zhuǎn)換。inti=40;objectj=i;//隱式轉(zhuǎn)換必要的時候需要進(jìn)行強(qiáng)制轉(zhuǎn)換,強(qiáng)制轉(zhuǎn)換的方式分為:(Type)e即將e的值轉(zhuǎn)換為類型Type;intm=(int)j;//顯式轉(zhuǎn)換任務(wù)1知識點(diǎn)同時C#還提供了Convert.ToType(e)即將e的類型轉(zhuǎn)換為Type的形式,如下表所示;以及e.ToString()即將e的類型轉(zhuǎn)換為字符串;Type.parse(e)即將e的類型轉(zhuǎn)換為Type等方法。任務(wù)1知識點(diǎn)交通燈項目案例任務(wù)2一、創(chuàng)建項目二、界面布局三、編寫代碼知識梳理任務(wù)引入:在圖片移動項目中,我們控制的圖片只有一張,能不能用程序控制圖片的更換呢?在本任務(wù)中就使用多張圖片的切換來實(shí)現(xiàn)對交通燈中紅、綠、黃三種顏色的變換。任務(wù)分析:本任務(wù)需要提前準(zhǔn)備好四張圖片,第1張用于顯示初始狀態(tài),即三個燈都不亮;第2張用于顯示只有綠燈亮;第3張用于顯示只有黃燈亮;第4張用于顯示只有紅燈亮。程序運(yùn)行過程中用代碼動態(tài)改變PictureBox控件中的圖片,而每個燈亮的秒數(shù)則由用戶的輸入數(shù)據(jù)來決定。任務(wù)2交通燈項目案例一、創(chuàng)建項目啟動VS2013以后,選擇“文件”菜單——“新建”——“項目”打開“新建項目”對話框,確認(rèn)左側(cè)目錄樹選中的是“VisualC#”選項,然后選擇“Windows窗體應(yīng)用程序”,瀏覽到項目的存放目錄“D:\CSharp”,名稱設(shè)置為“WTrafficLight”。任務(wù)2交通燈項目案例二、界面布局本項目主要來模擬交通燈效果,可以設(shè)置三種燈亮滅切換的時間和順序,界面布局如圖所示,主要控件的屬性和事件設(shè)置如表所示。選中下拉列表框ComboBox1的Items屬性后,點(diǎn)擊后面的“三個點(diǎn)”按鈕,依次添加三行數(shù)據(jù):綠燈先亮、黃燈先亮、紅燈先亮。任務(wù)2交通燈項目案例這三行數(shù)據(jù)的順序要和后面代碼中枚舉LightOn的順序一致。注意:PictureBox1控件需要放置4張圖片,通過設(shè)置其Image屬性來添加圖片,選中Image屬性后,點(diǎn)擊后面的“三個點(diǎn)”按鈕——“項目資源文件”——“導(dǎo)入”選擇4個圖片文件,這4個文件大小相同,這4張圖片可以到本書提供的資源中獲取,分別是:滅燈圖片default.png、綠燈圖片green.png、黃燈圖片yellow.png、紅燈圖片red.png。任務(wù)2交通燈項目案例三、編寫代碼前臺界面(Form.cs[設(shè)計])設(shè)置完畢之后,右擊窗體“Form1”——“查看代碼”可以進(jìn)入后臺代碼(Form.cs)的編寫界面,或者右擊解決方案資源管理器的文件“Form1.cs”——“查看代碼”也可以進(jìn)入代碼編寫界面。1.定義枚舉類型LightOn(在類Form1的上面,命名空間里面,和類Form1是平行的)2.定義窗體的公共變量(即類Form1的字段)3.編寫“開始”按鈕的單擊事件綁定的方法btnStart_Click(),開始模擬交通燈,該方法是在設(shè)計界面雙擊控件btnStart自動生成的。4.編寫timer1_Tick()方法,該方法是在設(shè)計界面雙擊控件timer1自動生成的,根據(jù)用戶設(shè)置的時間和順序控制交通燈的亮滅任務(wù)2交通燈項目案例5.編寫“重置”按鈕的單擊事件綁定的方法btnReset_Click(),該方法是在設(shè)計界面雙擊控件btnReset自動生成的。6.編寫“退出”按鈕的單擊事件綁定的方法btnExit_Click(),該方法是在設(shè)計界面雙擊控件btnExit自動生成的。7.編寫窗口Form1的關(guān)閉事件綁定的方法Form1_FormClosed(),該方法是在設(shè)計界面選中控件Form1,點(diǎn)擊屬性窗口中的“事件”按鈕,然后找到FormClosed事件(也可以用FormClosing事件,這兩個事件的細(xì)微區(qū)別讀者可以自行研究),雙擊FormClosed事件的值添加的。任務(wù)2交通燈項目案例本項目是在圖片移動項目的基礎(chǔ)上進(jìn)行提升,使用了更多的Windows控件,同時練習(xí)用代碼控制圖片的切換,項目中對亮燈顏色的控制也可以簡單的使用一個整型變量,之所以使用了枚舉類型,主要是為了提高程序的可讀性,達(dá)到“見名知

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論