版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
單元三程序流程控制與數(shù)組C#語言程序設(shè)計(jì)基礎(chǔ)教程任務(wù)3.1C#中流程控制語句任務(wù)描述實(shí)現(xiàn)模擬自助銀行服務(wù)功能。預(yù)備知識語句是構(gòu)成程序最基本的單位,程序運(yùn)行的過程就是執(zhí)行程序語句的過程。C#采用面向?qū)ο缶幊趟枷牒褪录?qū)動機(jī)制,但在流程控制方面C#通過流程控制語句來執(zhí)行程序流,完成一定的任務(wù)。C#程序設(shè)計(jì)中常用的三大基本結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。3.1.1順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡單、最常用的基本結(jié)構(gòu)。在順序結(jié)構(gòu)中,程序的執(zhí)行按各語句的書寫順序逐條執(zhí)行。順序結(jié)構(gòu)是其他結(jié)構(gòu)的基礎(chǔ),在選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中,總是以順序結(jié)構(gòu)作為它們的子結(jié)構(gòu)。舉例說明:例3-1任務(wù)3.1C#中流程控制語句預(yù)備知識3.1.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu)。在C#中,有兩種語句實(shí)現(xiàn)分支結(jié)構(gòu),即if語句和switch語句。1.使用if語句實(shí)現(xiàn)單分支結(jié)構(gòu)任務(wù)3.1C#中流程控制語句(1)簡單if語句格式:if(條件表達(dá)式){代碼塊}圖3-2簡單if結(jié)構(gòu)的程序流程圖預(yù)備知識(2)一般if語句格式:if(條件表達(dá)式){代碼塊1}else{代碼塊2}任務(wù)3.1C#中流程控制語句圖3-3一般if結(jié)構(gòu)的程序流程圖預(yù)備知識(3)多重if語句格式:if(條件表達(dá)式1){代碼塊1}elseif(條件表達(dá)式2){代碼塊2}…elseif(條件表達(dá)式n){代碼塊n}else{代碼塊n+1}任務(wù)3.1C#中流程控制語句圖3-4多重if語句程序流程圖預(yù)備知識(4)if語句嵌套格式:if(條件表達(dá)式1){if(條件表達(dá)式2){代碼塊1}else{代碼塊2}}else{代碼塊3}任務(wù)3.1C#中流程控制語句圖3-6if語句嵌套程序流程圖舉例說明:例3-2、例3-3預(yù)備知識1.使用switch語句實(shí)現(xiàn)多分支結(jié)構(gòu)當(dāng)程序設(shè)計(jì)中出現(xiàn)的分支情況很多時(shí),雖然if語句的多層嵌套可以實(shí)現(xiàn),但會使程序變得冗長且不直觀。為改善這種用戶體驗(yàn),可以用switch語句來處理多分支的選擇問題。任務(wù)3.1C#中流程控制語句預(yù)備知識格式:switch(控制表達(dá)式){case常量表達(dá)式1:語句1;break;//必須有case常量表達(dá)式2:語句2;break;//必須有…default:語句n;
break;//必須有}任務(wù)3.1C#中流程控制語句舉例說明:例3-4圖3-8switch語句執(zhí)行流程圖預(yù)備知識3.1.3循環(huán)結(jié)構(gòu)在C#中,我們可以使用while循環(huán)、do-while循環(huán)、for循環(huán)和foreach循環(huán)來實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。當(dāng)然,循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)一樣,也可以嵌套。1.使用while和do-while實(shí)現(xiàn)循環(huán)結(jié)構(gòu)任務(wù)3.1C#中流程控制語句(1)while循環(huán)格式:while(條件表達(dá)式){
代碼塊}圖3-10while循環(huán)程序流程圖預(yù)備知識(2)do-while循環(huán)格式:do{
代碼塊}while(條件表達(dá)式);任務(wù)3.1C#中流程控制語句圖3-11do-while循環(huán)程序流程圖預(yù)備知識(3)while循環(huán)與do-while循環(huán)的區(qū)別任務(wù)3.1C#中流程控制語句表3-1while循環(huán)與do-while循環(huán)的區(qū)別預(yù)備知識2.使用for語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
代碼塊}for循環(huán)的執(zhí)行過程如下:(1)執(zhí)行表達(dá)式1,設(shè)置循環(huán)變量的初始值。(2)判斷表達(dá)式2,若為true則轉(zhuǎn)步驟(3)執(zhí)行,否則循環(huán)結(jié)束,執(zhí)行for循環(huán)后面的語句。(3)執(zhí)行循環(huán)體(即代碼塊)。(4)執(zhí)行表達(dá)式3,轉(zhuǎn)到步驟(2)執(zhí)行。任務(wù)3.1C#中流程控制語句預(yù)備知識舉例說明:例3-5。任務(wù)3.1C#中流程控制語句圖3-12for循環(huán)程序流程圖預(yù)備知識3.使用foreach語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)格式:foreach(數(shù)據(jù)類型循環(huán)變量名in數(shù)組名或集合){循環(huán)體}foreach語句是C#中新引入的,在C和C++中沒有這個(gè)語句,它表示收集一個(gè)數(shù)組或集合中的各個(gè)元素,并針對各個(gè)元素執(zhí)行內(nèi)嵌語句。變量用來逐一存放數(shù)組元素的內(nèi)容,數(shù)據(jù)類型必須與數(shù)組元素的或集合中數(shù)據(jù)類型一致;數(shù)據(jù)元素或集合元素的個(gè)數(shù)決定循環(huán)體執(zhí)行的次數(shù);每次進(jìn)入循環(huán)體,會依次將數(shù)組元素內(nèi)容讀入循環(huán)變量,當(dāng)所有數(shù)據(jù)元素都讀完后退出循環(huán)。任務(wù)3.1C#中流程控制語句預(yù)備知識舉例說明:例3-6。任務(wù)3.1C#中流程控制語句圖3-14foreach循環(huán)程序流程圖預(yù)備知識4.使用break與continue語句實(shí)現(xiàn)循環(huán)跳轉(zhuǎn)跳轉(zhuǎn)語句是用來改變程序的執(zhí)行順序的語句。在C#中使用break語句和continue語句來改變程序的執(zhí)行順序。(1)break語句break語句主要用于switch語句和循環(huán)語句中。在switch語句中主要是用來跳出switch結(jié)構(gòu),進(jìn)而執(zhí)行switch結(jié)構(gòu)后的語句。在循環(huán)語句中主要是用來跳出循環(huán)結(jié)構(gòu),執(zhí)行循環(huán)外后面的語句。break語句在循環(huán)中一般和if語句結(jié)合使用。格式:break;舉例說明:例3-7。任務(wù)3.1C#中流程控制語句預(yù)備知識4.使用break與continue語句實(shí)現(xiàn)循環(huán)跳轉(zhuǎn)(2)continue語句Continue語句主要用于循環(huán)語句中,用來結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)。在循環(huán)體中當(dāng)執(zhí)行到continue語句后,continue后的語句將不再執(zhí)行,直接進(jìn)行下一次循環(huán)的判斷。格式:continue;舉例說明:例3-8。任務(wù)3.1C#中流程控制語句任務(wù)實(shí)施編程實(shí)現(xiàn)任務(wù)3-1任務(wù)2.1數(shù)據(jù)類型與表達(dá)式程序調(diào)用自身的編程技巧稱為遞歸(recursion)。遞歸作為一種算法在程序設(shè)計(jì)語言中廣泛應(yīng)用。一個(gè)方法在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個(gè)大型、復(fù)雜的問題層層轉(zhuǎn)化為一個(gè)與原問題相似的規(guī)模較小的問題來求解,遞歸策略只需少量的程序就可描述出解題過程所需要的多次重復(fù)計(jì)算,大大地減少了程序的代碼量。遞歸的能力在于用有限的語句來定義對象的無限集合。一般來說,遞歸需要有邊界條件、遞歸前進(jìn)段和遞歸返回段。當(dāng)邊界條件不滿足時(shí),遞歸前進(jìn);當(dāng)邊界條件滿足時(shí),遞歸返回。使用遞歸可以解決許多有意思的經(jīng)典問題,如求斐波那契數(shù)列、漢諾塔、數(shù)的階乘等。舉例說明:例3-9。(更正教材中非遞歸程序)知識拓展任務(wù)3.1C#中流程控制語句在本節(jié)中,我們重點(diǎn)學(xué)習(xí)了實(shí)現(xiàn)程序流程控制的相關(guān)語句,以及跳轉(zhuǎn)語句。現(xiàn)對相關(guān)語句相關(guān)語句注意事項(xiàng)進(jìn)行總結(jié)。1.if語句2.switch語句3.while語句4.do-while語句5.for語句6.foreach語句7.break語句8.continue語句歸納總結(jié)任務(wù)3.1C#中流程控制語句任務(wù)3.2數(shù)組任務(wù)描述定義一個(gè)整數(shù)數(shù)組,找出整數(shù)類型數(shù)組中最大元素及其索引值。預(yù)備知識數(shù)組是一些具有相同類型的數(shù)據(jù)按一定順序組成的變量序列,數(shù)組中的每個(gè)元素都可以通過數(shù)組名及唯一的索引(即下標(biāo))來確定,在C#中,數(shù)組元素的索引是從0開始的,即對于有N個(gè)元素的數(shù)組,其索引范圍是從0~N-1。數(shù)組適用于存儲和表示既與取值有關(guān)又與位置相關(guān)的數(shù)據(jù)。數(shù)組也必須先定義后使用。定義數(shù)組后就可以對數(shù)組進(jìn)行訪問,訪問數(shù)組一般都轉(zhuǎn)換為對數(shù)組中某個(gè)元素或全部元素的訪問。數(shù)組按照下標(biāo)個(gè)數(shù)劃分,可分為一維數(shù)組和多維數(shù)組。數(shù)組元素下標(biāo)個(gè)數(shù)超過兩個(gè)的數(shù)組可以稱為多維數(shù)組。任務(wù)3.2數(shù)組預(yù)備知識3.2.1一維數(shù)組1.一維數(shù)組的聲明數(shù)組聲明時(shí),主要聲明數(shù)組的名稱和所包含的元素類型,一般格式如下:數(shù)組類型[]數(shù)組名;2.一維數(shù)組的創(chuàng)建(1)先聲明、后創(chuàng)建格式:數(shù)據(jù)類型[]數(shù)組名;數(shù)組名=new數(shù)據(jù)類型[元素個(gè)數(shù)];(2)聲明的同時(shí)創(chuàng)建數(shù)組格式:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[元素個(gè)數(shù)];任務(wù)3.2數(shù)組預(yù)備知識3.2.1一維數(shù)組3.一維數(shù)組的初始化(1)完整定義格式:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[元素個(gè)數(shù)]{初始值列表};(2)省略數(shù)組大小格式:數(shù)據(jù)類型[]數(shù)組名=new數(shù)據(jù)類型[]{初始值列表};(3)省略new和數(shù)據(jù)類型[]格式:數(shù)據(jù)類型[]數(shù)組名={初始值列表};任務(wù)3.2數(shù)組預(yù)備知識3.2.1一維數(shù)組4.一維數(shù)組的賦值要給數(shù)組賦值,需要用到數(shù)組的索引。格式:數(shù)組名[索引值]=數(shù)據(jù)的值;5.數(shù)組類常用屬性和方法任務(wù)3.2數(shù)組表3-2數(shù)組類常用屬性和方法預(yù)備知識3.2.2二維數(shù)組數(shù)組元素下標(biāo)超過兩個(gè)的數(shù)組可以稱為多維數(shù)組。二維數(shù)組主要應(yīng)用于平面或立體排列的數(shù)據(jù)處理,最常見的是矩陣與二維表格中的數(shù)據(jù)處理。二維數(shù)組是多維數(shù)組中最簡單、最常用的一種。二維數(shù)組的操作與一維數(shù)組操作類似,因此我們以二維數(shù)組為例簡要介紹一下多維數(shù)組的使用方法。聲明二維數(shù)組的格式如下:類型名稱[,]數(shù)組名;聲明并實(shí)例化二維數(shù)組的格式如下:類型名稱[,]數(shù)組名=new類型名稱[行數(shù),列數(shù)];在聲明并實(shí)例化二維數(shù)組時(shí),也可以指定數(shù)組元素的初始值。任務(wù)3.2數(shù)組任務(wù)實(shí)施編程實(shí)現(xiàn)任務(wù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 地下通訊中心錨桿施工合同
- 2024毛竹山竹林觀光農(nóng)業(yè)承包經(jīng)營合同3篇
- 2024年深度清潔服務(wù)細(xì)致合同3篇
- 地下人防工程加固鉆機(jī)租賃協(xié)議
- 昆明市學(xué)生公寓租賃合同
- 電力企業(yè)出納勞動合同樣本
- 劇院內(nèi)外墻施工合同
- 2025版夫妻離婚后房產(chǎn)分割及子女撫養(yǎng)協(xié)議書9篇
- 摩托車店裝修設(shè)計(jì)施工合同
- 冷藏工程安裝協(xié)議制藥企業(yè)
- GB/T 10781.2-2006清香型白酒
- 計(jì)算機(jī)程序設(shè)計(jì)綜合實(shí)踐
- 三年級《安徒生童話》知識考試題庫(含答案)
- 德邦物流人力資源管理規(guī)劃項(xiàng)目診療
- 基于西門子S7-200型PLC的消防給水泵控制系統(tǒng)設(shè)計(jì)
- 儀器設(shè)備采購流程圖
- 盈利能力分析外文翻譯
- 不合格醫(yī)療器械報(bào)損清單
- 高中物理全套培優(yōu)講義
- 新一代反洗錢監(jiān)測分析系統(tǒng)操作手冊all
- 礦山環(huán)境保護(hù)ppt課件(完整版)
評論
0/150
提交評論