版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三節(jié)C#語(yǔ)言基礎(chǔ)
—流程控制語(yǔ)句
主要內(nèi)容掌握結(jié)構(gòu)化程序設(shè)計(jì)的3種基本控制結(jié)構(gòu)掌握利用if和switch實(shí)現(xiàn)分支結(jié)構(gòu)的方法,熟練掌握條件表達(dá)式構(gòu)建方法理解循環(huán)語(yǔ)句的結(jié)構(gòu)特點(diǎn)和語(yǔ)法規(guī)則,熟練掌握運(yùn)用循環(huán)語(yǔ)句求解有規(guī)律重復(fù)運(yùn)算問(wèn)題的方法3.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)(structuredprogramming)是進(jìn)行以模塊功能和處理過(guò)程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下,逐步求精,模塊化,限制使用goto語(yǔ)句。3.2結(jié)構(gòu)化程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)我們將介紹這3種控制結(jié)構(gòu)的概念及相應(yīng)的控制語(yǔ)句。程序是按程序語(yǔ)句的編寫順序依次執(zhí)行的,這種結(jié)構(gòu)稱為順序結(jié)構(gòu)。由于順序結(jié)構(gòu)比較簡(jiǎn)單,之前接觸的案例均為順序結(jié)構(gòu),這里就不在詳細(xì)介紹了。3.2.1條件語(yǔ)句1.if語(yǔ)句
是用于實(shí)現(xiàn)單個(gè)條件(即只有一個(gè)條件)選擇結(jié)構(gòu)的語(yǔ)句。
if語(yǔ)句的語(yǔ)法格式如下:
if(<條件表達(dá)式>){//條件為真的時(shí)候,我就要做的事情<語(yǔ)句組>}
如果表達(dá)式的值為true,則執(zhí)行后面if語(yǔ)句所控制的語(yǔ)句;如果表達(dá)式的值為false,則不執(zhí)行if語(yǔ)句控制的語(yǔ)句,而直接跳轉(zhuǎn)執(zhí)行后面的語(yǔ)句。<條件表達(dá)式>可以是關(guān)系表達(dá)式或邏輯表達(dá)式,表示執(zhí)行的條件,運(yùn)算結(jié)果是一個(gè)bool值(true或false)。<語(yǔ)句組>可以是一條語(yǔ)句,也可以是多條語(yǔ)句。當(dāng)只有一條語(yǔ)句時(shí),花括號(hào)({})可以省略,但并不提倡這么做?!緦?shí)例1】計(jì)算下面公式中的b的值。請(qǐng)用if語(yǔ)句寫出實(shí)現(xiàn)代碼。2.if…else語(yǔ)句
用于實(shí)現(xiàn)雙分支(兩個(gè)條件)選擇結(jié)構(gòu)的語(yǔ)句。if…else語(yǔ)句的語(yǔ)法格式如下:if(表達(dá)式){
語(yǔ)句塊1;
}else{
語(yǔ)句塊2;
}①如果表達(dá)式的值為true,則執(zhí)行if語(yǔ)句所控制的語(yǔ)句塊1;如果表達(dá)式的值為false,則執(zhí)行else語(yǔ)句所控制的語(yǔ)句塊2。完成【實(shí)例1】的實(shí)現(xiàn)代碼3.elseif語(yǔ)句elseif語(yǔ)句是if語(yǔ)句和if…else語(yǔ)句的組合,其一般形式如下:
if(表達(dá)式1)
語(yǔ)句塊1;
elseif(表達(dá)式2)
語(yǔ)句塊2;
……elseif(表達(dá)式n-1)
語(yǔ)句塊n-1;
else
語(yǔ)句塊n;①如果表達(dá)式1的值為true,則執(zhí)行if語(yǔ)句所控制的語(yǔ)句塊1;否則,判斷表達(dá)式2,如果表達(dá)式是2的值為true,則執(zhí)行語(yǔ)句塊2;否則,繼續(xù)判斷下一個(gè)表達(dá)式;以此類推,判斷表達(dá)式n-1的值是否為true,如果為true,則執(zhí)行,語(yǔ)句塊n-1,否則,執(zhí)行語(yǔ)句塊n。②添加到if子句中的elseif語(yǔ)句的個(gè)數(shù)沒(méi)有限制。③用于測(cè)試多個(gè)條件【實(shí)例2】
根據(jù)輸入的數(shù)字,該數(shù)值是個(gè)位數(shù),十位數(shù),百位數(shù),千位數(shù),還是大數(shù)值。4.if語(yǔ)句的嵌套if語(yǔ)句的嵌套是指<語(yǔ)句組1>或<語(yǔ)句組2>中又包含if語(yǔ)句的情況,其形式為:if(<條件表達(dá)式1>){if(<條件表達(dá)式2>){……}else{……}}else{}在實(shí)例2中,在添加一個(gè)功能,如果輸入的數(shù)是數(shù)值,再判斷數(shù)值是幾位數(shù)。如果是不是字符,則輸出,您輸入的不是字符串。3.2.2循環(huán)語(yǔ)句循環(huán)是指在指定的條件下多次重復(fù)執(zhí)行一組語(yǔ)句。被重復(fù)執(zhí)行的一組語(yǔ)句稱為循環(huán)體。VisualC#2010提供了4種不同的循環(huán)機(jī)制(for、while、do...while和foreach)1.while語(yǔ)句while語(yǔ)句的語(yǔ)法格式為:while(<表達(dá)式>){<循環(huán)體>}【實(shí)例3】編程實(shí)現(xiàn)輸出1至500之間的能被9整除的數(shù)以及個(gè)數(shù)。2.do…while語(yǔ)句do…while語(yǔ)句類似于while語(yǔ)句,是while語(yǔ)句的變形,兩者的區(qū)別在于while語(yǔ)句把循環(huán)條件的判斷置于循環(huán)體執(zhí)行之前,而do…while語(yǔ)句則把循環(huán)條件放在循環(huán)體執(zhí)行之后。do...while語(yǔ)句的語(yǔ)法格式為:do{<循環(huán)體>}while(<表達(dá)式>);對(duì)以上語(yǔ)法格式說(shuō)明如下:① <循環(huán)體>即反復(fù)執(zhí)行的操作塊。② <表達(dá)式>為循環(huán)條件,一般為關(guān)系表達(dá)式或邏輯表達(dá)式。③
在“while(<表達(dá)式>)”之后,應(yīng)加上一個(gè)分號(hào)(;),否則將發(fā)生編譯錯(cuò)誤。【實(shí)例4】
用do-while語(yǔ)句實(shí)現(xiàn)100以內(nèi)的能被5整除的數(shù)累加。3.for語(yǔ)句通常情況下,for語(yǔ)句按照指定的次數(shù)執(zhí)行循環(huán)體,循環(huán)執(zhí)行的次數(shù)由一個(gè)變量來(lái)控制,通常把這種變量稱為循環(huán)變量。C#的for循環(huán)提供的迭代循環(huán)機(jī)制是在執(zhí)行下一次迭代前,測(cè)試是否滿足某個(gè)條件,其語(yǔ)法如下:for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體;}【實(shí)例5】使用for循環(huán)語(yǔ)句,編程輸出1~20的每個(gè)奇數(shù)的平方4.循環(huán)的中斷beak語(yǔ)句在循環(huán)語(yǔ)句中,break用來(lái)從當(dāng)前所在的循環(huán)內(nèi)跳出。也就是說(shuō)break命令可退出循環(huán),繼續(xù)執(zhí)行循環(huán)后面的第一行代碼,例如:inti=1;while(i<=10){if(i==6){break;}
i++;}MessageBox.Show(i);【實(shí)例6】任意給定一個(gè)整數(shù)n,判定其是否為素?cái)?shù)(即只能被1和自身整除)。解析:設(shè)i取值[2,n-1],如果n不能被該區(qū)間上的任何一個(gè)數(shù)整除,即對(duì)每個(gè)i,n%i都不為0,則n是素?cái)?shù);但是只要n能被該區(qū)間上的某個(gè)數(shù)整除,即只要找到一個(gè)i,使n%i為0,則n肯定不是素?cái)?shù)。繼續(xù)解析:由于n不可能被大于n/2的數(shù)整除,所以上述i的取值區(qū)間可縮小為[2,n/2],continue語(yǔ)句continue語(yǔ)句用于循環(huán)語(yǔ)句中。continue語(yǔ)句并不是跳出當(dāng)前的循環(huán),它只是終止一次循環(huán),接著進(jìn)行下一次循環(huán)是否執(zhí)行的判定?!緦?shí)例6】continue語(yǔ)句應(yīng)用判斷素?cái)?shù)時(shí),如果i循環(huán)到3,則輸出提示,并繼續(xù)下一次循環(huán)5.FOREACH語(yǔ)句
foreach語(yǔ)句是專用于數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)數(shù)組元素進(jìn)行循環(huán)操作的語(yǔ)句,通過(guò)它可以列舉數(shù)組、集合中的每一個(gè)元素,并且通過(guò)執(zhí)行循環(huán)體對(duì)每一個(gè)元素進(jìn)行需要的操作。格式:
foreach(數(shù)據(jù)類型
變量名
in數(shù)組或集合)
循環(huán)體;功能:對(duì)數(shù)組或集合中的每一個(gè)元素(用“變量名”表示)執(zhí)行循環(huán)體中的語(yǔ)句的操作。6.循環(huán)的嵌套
一個(gè)循環(huán)體內(nèi)又包含另一個(gè)完整的循環(huán)結(jié)構(gòu),稱為循環(huán)的嵌套。內(nèi)層的循環(huán)中還可以嵌套循環(huán),這就是多層循環(huán)。循環(huán)語(yǔ)句while,do-while,for均可以進(jìn)行嵌套使用【實(shí)例7】編程計(jì)算1!+2!+……+10!3.2.3SWITCH語(yǔ)句VisualC#2010提供了多分支選擇語(yǔ)句switch來(lái)實(shí)現(xiàn),其語(yǔ)法格式如下:switch(<表達(dá)式>){ case<常量表達(dá)式1>: <語(yǔ)句組1> break;…. case<常量表達(dá)式n>: <語(yǔ)句組n> break; [default: <語(yǔ)句組n+1> break;]}【實(shí)例8】查詢學(xué)生姓名,輸入一個(gè)字符,如輸入“k”時(shí),顯示Kate;輸入“m”時(shí),顯示Mary;輸入“r”時(shí),顯示Rose;輸入“T”時(shí),顯示Tom;輸入其他字符時(shí),顯示OtherStudents。3.3預(yù)處理介紹所謂的預(yù)處理指令,就是用來(lái)控制編譯器工作的一些指令,比如說(shuō)使用預(yù)處理指令來(lái)禁止編譯器編譯代碼的某一部分。所有的C#預(yù)處理指令都是以符號(hào)#開頭的。#號(hào)必須是該行除了任何空白字符外的第一個(gè)字符。#后是指令關(guān)鍵字,在關(guān)鍵字和#號(hào)之間允許存在任意個(gè)數(shù)的空白字符。整行語(yǔ)句構(gòu)成了一條預(yù)處理指令,該指令將在編譯器進(jìn)行編譯之前對(duì)源代碼做某些轉(zhuǎn)換。常用的預(yù)處理指令有如下的幾種。(1)#defineundef(2)#if、#elif、#else和#endif(3)#warning和#error(4)#region和#endregion(5)#line(6)#pragma#defineundef#define用于定義某個(gè)符號(hào)#undef用于取消某個(gè)符號(hào)的定義#if#elif#else#endif這些指令告訴編譯器是否要編譯某些代碼塊#warning#error在編譯時(shí)產(chǎn)生警告或錯(cuò)誤.如果編譯器遇到#warning或者#error,那么編譯器會(huì)顯示指令后面的文本,而#error還會(huì)導(dǎo)致編譯器強(qiáng)制停止.#regionendregion這兩個(gè)指令把一段代碼標(biāo)記為有名稱的一個(gè)塊#line用于改變編譯器在警告或錯(cuò)誤信息中顯示的文件名和行號(hào)信息,可使用#linedefault把行號(hào)恢復(fù)為默認(rèn)的行號(hào)。#pragma該指令可以抑制或恢復(fù)指定的編譯警告.小結(jié)主要介紹了VisualC#2010程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)標(biāo)識(shí)符變量、常量的定義運(yùn)算符和表達(dá)式類型轉(zhuǎn)換程序設(shè)計(jì)結(jié)構(gòu):順序、選擇和
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大三(歷史學(xué))中國(guó)近代史試題及答案
- 2025年中職(烹飪工藝與營(yíng)養(yǎng))烘焙技術(shù)基礎(chǔ)試題及答案
- 2026年紅色文化在開工儀式中的重要性
- 2025年中職休閑農(nóng)業(yè)經(jīng)營(yíng)與管理(休閑農(nóng)業(yè)基礎(chǔ))試題及答案
- 2025年中職家政服務(wù)(家庭服務(wù)技能)試題及答案
- 2025年大學(xué)草坪(草坪建植養(yǎng)護(hù))試題及答案
- 2025年高職(建筑設(shè)備工程技術(shù))建筑設(shè)備施工試題及答案
- 2025年中職(商務(wù)英語(yǔ)函電綜合實(shí)訓(xùn))撰寫實(shí)操試題及答案
- 2025年中職(畜禽生產(chǎn)技術(shù))家畜養(yǎng)殖技能測(cè)試題及答案
- 2026年農(nóng)村通信服務(wù)(服務(wù)模式)試題及答案
- QGDW12505-2025電化學(xué)儲(chǔ)能電站安全風(fēng)險(xiǎn)評(píng)估規(guī)范
- 2025四川眉山市國(guó)有資本投資運(yùn)營(yíng)集團(tuán)有限公司招聘50人筆試參考題庫(kù)附帶答案詳解
- 2024年山東濟(jì)南中考滿分作文《為了這份繁華》
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)新版
- 《煤礦安全生產(chǎn)責(zé)任制》培訓(xùn)課件2025
- 項(xiàng)目進(jìn)度跟進(jìn)及完成情況匯報(bào)總結(jié)報(bào)告
- 2025年常州機(jī)電職業(yè)技術(shù)學(xué)院高職單招語(yǔ)文2018-2024歷年參考題庫(kù)頻考點(diǎn)含答案解析
- 民間融資居間合同
- 2024-2025學(xué)年冀教版九年級(jí)數(shù)學(xué)上冊(cè)期末綜合試卷(含答案)
- 《智能網(wǎng)聯(lián)汽車車控操作系統(tǒng)功能安全技術(shù)要求》
- 公司綠色可持續(xù)發(fā)展規(guī)劃報(bào)告
評(píng)論
0/150
提交評(píng)論