程序設(shè)計全套3程序流程控制課件_第1頁
程序設(shè)計全套3程序流程控制課件_第2頁
程序設(shè)計全套3程序流程控制課件_第3頁
程序設(shè)計全套3程序流程控制課件_第4頁
程序設(shè)計全套3程序流程控制課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章程序流程控制第3章程序流程控制內(nèi)容簡介

雖然C#是完全的面向?qū)ο笳Z言,但在局部的語句塊內(nèi),仍然要使用結(jié)構(gòu)化程序設(shè)計的方法,用控制結(jié)構(gòu)來控制程序的執(zhí)行流程。結(jié)構(gòu)化程序設(shè)計有三種基本控制結(jié)構(gòu),分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。本章將對這三種基本結(jié)構(gòu)的概念及相應(yīng)的控制語句進行詳細介紹。內(nèi)容簡介雖然C#是完全的面向?qū)ο笳Z言,但在局部的目錄3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)結(jié)構(gòu)目錄3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)3.1順序結(jié)構(gòu)

順序結(jié)構(gòu)的執(zhí)行特征為:按照語句出現(xiàn)的先后順序,依次執(zhí)行。

處理實際問題時,往往需要用戶輸入數(shù)據(jù),然后進行相應(yīng)的處理,最后由程序輸出結(jié)果??刂婆_應(yīng)用程序的輸入與輸出Windows應(yīng)用程序的輸入與輸出3.1順序結(jié)構(gòu)順序結(jié)構(gòu)的執(zhí)行特征為:按照語句出3.1.1賦值語句

賦值語句是程序設(shè)計中最基本的語句,由于C#的賦值表達式有多種形式,因此賦值語句也表現(xiàn)出多樣性。常用的賦值語句有單賦值語句、復(fù)合賦值語句、連續(xù)賦值語句。不管是哪種賦值語句,基本格式都是以下兩種:【格式1】變量名=表達式【功能】將表達式的值賦值給變量?!靖袷?】對象名.屬性名=表達式【功能】將表達式的值賦值給對象的屬性。3.1.1賦值語句賦值語句是程序設(shè)計中最基本的語句3.1.1賦值語句單賦值語句2.復(fù)合賦值語句3.連續(xù)賦值語句inti=3;intj=i-1;label1.Text="姓名";intx=55;x-=50;label1.Text+=":";strings1,s2,s3;s1=s2=s3="連續(xù)賦值";textBox1.Text=textBox2.Text="";3.1.1賦值語句單賦值語句inti=3;int3.1.2輸入與輸出

輸入與輸出是應(yīng)用程序進行數(shù)據(jù)處理過程中的基本功能。按照應(yīng)用程序的類型,大致分為控制臺、Windows、Web三種應(yīng)用程序的輸入與輸出。1控制臺應(yīng)用程序的輸入與輸出2Windows應(yīng)用程序的輸入與輸出3.1.2輸入與輸出1控制臺應(yīng)用程序的輸入與輸出

控制臺輸入輸出,也稱為標(biāo)準(zhǔn)輸入輸出,使用的是標(biāo)準(zhǔn)輸入輸出設(shè)備,即鍵盤和顯示器??刂婆_應(yīng)用程序的輸入與輸出,主要通過Console類的靜態(tài)方法實現(xiàn)。1.輸入方法控制臺應(yīng)用程序的數(shù)據(jù)輸入,可以通過Console類的靜態(tài)方法Read與ReadLine實現(xiàn)。2.輸出方法控制臺應(yīng)用程序的數(shù)據(jù)輸出,可以通過Console類的靜態(tài)方法Write與WriteLine實現(xiàn),兩個方法都沒有返回值。1控制臺應(yīng)用程序的輸入與輸出控制臺輸入輸出,也稱1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——

Console類的靜態(tài)方法Read與ReadLine(1)Read方法【格式】

Console.Read()【說明】Read方法只能接受一個字符,返回值是int類型;如果輸入的字符不是數(shù)字,將返回該字符對應(yīng)的ASCII編碼?!臼纠縤nti=Console.Read();charc=(char)Console.Read();1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——Cons1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——

Console類的靜態(tài)方法Read與ReadLine(2)ReadLine方法【格式】

Console.ReadLine()【說明】ReadLine方法接受一行字符(即一個字符串,回車代表輸入的結(jié)束),返回值是string類型。【示例】strings=Console.ReadLine();1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——Cons2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(1)Write方法【格式1】

Console.Write(X)

【功能】將參數(shù)X指定的數(shù)據(jù)寫入標(biāo)準(zhǔn)輸出流(一般指顯示器)。【說明】參數(shù)X是任意類型的數(shù)據(jù)。【示例】Console.Write("請輸入一個整數(shù):");intj=int.Parse(Console.ReadLine());Console.Write("輸入的整數(shù)為:"+j);1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與W2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(1)Write方法【格式2】

Console.Write(格式字符串,表達式列表)【功能】按照格式字符串的約定,輸出提示字符和表達式的值?!菊f明】格式字符串是由雙引號括起來的字符串,里面可以包含{}括起來的數(shù)字,數(shù)字從0開始,依次對應(yīng)表達式列表中的表達式?!臼纠縤nti=5;strings="five";Console.Write("i={0},s={1}",i,s);

//輸出結(jié)果為:i=5,s=five1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與W2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(2)WriteLine方法【格式1】

Console.WriteLine(X)【功能】將指定的X寫入標(biāo)準(zhǔn)輸出流,并以一個換行符結(jié)尾?!靖袷?】

Console.WriteLine(格式字符串,表達式列表)【功能】按照格式字符串的約定,輸出提示字符和表達式的值,并以一個換行符結(jié)尾?!菊f明】WriteLine方法的功能與Write方法基本相同,唯一的區(qū)別是WriteLine方法調(diào)用后要換行?!纠烤帉懸粋€控制臺應(yīng)用程序,實現(xiàn)分別輸入姓名和年齡后再一起輸出“××的年齡是××歲”的功能。1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與WWindows應(yīng)用程序的輸入與輸出,可以通過多種控件實現(xiàn),如之前介紹過的TextBox、Label、LinkLabel以及下面要介紹的MessageBox(消息框)等。其中,使用頻率最高的是TextBox和Label。從操作程序的用戶的角度看,TextBox和Label控件的主要區(qū)別在于:Label控件是一個只能顯示數(shù)據(jù)的控件,而TextBox控件既可以讓用戶在其中輸入數(shù)據(jù),也可以顯示輸出數(shù)據(jù)?!纠烤帉懸粋€Windows應(yīng)用程序,實現(xiàn)分別輸入姓名和年齡后再一起輸出“××的年齡是××歲”的功能。3.2.2Windows應(yīng)用程序的輸入與輸出3.2.2Windows應(yīng)用程序的輸入與輸出

消息框

消息框是一個預(yù)定義對話框,用于向用戶顯示與應(yīng)用程序相關(guān)的信息。只有在用戶響應(yīng)該消息框后,程序才能繼續(xù)運行下去。顯示消息框要顯示消息框,必須調(diào)用MessageBox類的靜態(tài)方法Show。 【格式】

MessageBox.Show(參數(shù)列表);消息框可以顯示標(biāo)題、消息、按鈕和圖標(biāo)四部分內(nèi)容,也可以只顯示其中的一項或幾項。

消息框消息框是一個預(yù)定義對話框,用于向用戶顯示與1.顯示消息框下面給出幾種常用的Show方法。

消息框

1.顯示消息框消息框2.消息框的按鈕消息框中,除了默認的“確定”按鈕,還可以放置其他按鈕,這些按鈕可以收集用戶對消息框中問題的響應(yīng)。一個消息框中最多可顯示3個按鈕,可以根據(jù)程序要求從MessageBoxButtons枚舉的成員中選擇。

消息框

2.消息框的按鈕消息框3.消息框的圖標(biāo)默認情況下,消息框不顯示圖標(biāo),MessageBoxIcon枚舉用于指定消息框中顯示什么圖標(biāo)。

消息框

3.消息框的圖標(biāo)消息框4.消息框的返回值單擊消息框中的某一按鈕時,Show方法將返回一個DialogResult枚舉值來指示對話框的返回值?!纠繉崿F(xiàn)通過消息框輸出“××的年齡是××歲”的功能。

消息框

4.消息框的返回值消息框3.2選擇結(jié)構(gòu)

選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點是:根據(jù)給定的條件是否成立,決定從各個可能的分支中執(zhí)行某一分支的相應(yīng)操作。選擇結(jié)構(gòu)一般分為單分支、雙分支、多分支三種。if語句,用于判斷特定的條件能否滿足,一般用于單分支和雙分支選擇,也可以用于多分支選擇。switch語句常用于多分支選擇。3.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點是3.2.1if語句

單分支的if語句是最簡單的,它根據(jù)條件表達式的值決定是否要執(zhí)行其后的語句塊,格式如下:【格式】if(條件表達式) {

語句塊

};【說明】①條件表達式可以是關(guān)系表達式、邏輯表達式或布爾常量值(true和false)。②“語句塊”可以是單語句,也可以是多語句。如果是單語句,大括號可以省略;如果是多語句,分號可以省略。【例】輸入一個整數(shù),求絕對值。程序分析:如果是負數(shù),取反;否則,絕對值是這個數(shù)本身。3.2.1if語句單分支的if語句是最簡單的,

雙分支的if語句是最常用的,它根據(jù)條件表達式的值進行判斷,選擇其中一個分支執(zhí)行,格式如下:

【格式】if(條件表達式) {

語句塊1}else

{

語句塊2};【例】根據(jù)輸入的學(xué)生成績Score的值,顯示其是否及格。3.2.1if語句雙分支的if語句是最常用的,它根據(jù)條件表達式的值進行if語句也可以用于多分支的選擇結(jié)構(gòu),用來對三種或三種以上的情況進行判斷。if…elseif…else語句實際上就是if語句的嵌套,一般格式如下:【格式】if(條件表達式1) {語句塊1};

elseif(條件表達式2) {語句塊2};

……//其他分支

elseif(條件表達式n) {語句塊n};

else

{語句塊n+1};3.2.1if語句if語句也可以用于多分支的選擇結(jié)構(gòu),用來對三種或3.2.2switch語句

使用嵌套的if語句雖然可以實現(xiàn)多分支的選擇結(jié)構(gòu),但if語句每次判斷只能有兩個分支,當(dāng)判斷的條件較多時,程序的可讀性將大大降低。switch語句(也稱為開關(guān)語句)專門用于多分支的選擇結(jié)構(gòu),其語法更簡單,能處理復(fù)雜的條件判斷。

switch語句有一個控制表達式,其分支語句根據(jù)控制表達式的值的不同,執(zhí)行不同的語句塊。switch語句的格式如下:3.2.2switch語句使用嵌套的if語句雖然【格式】switch(控制表達式){

case

常量表達式1:

語句塊1;break;case常量表達式2:

語句塊2;break;

……//其他分支

case常量表達式n:

語句塊n;break;

default:

語句塊n+1;break;}3.2.2switch語句【格式】3.2.2switch語句【說明】①“控制表達式”可以是sbyte、byte、short、ushort、int、uint、long、ulong、bool、char、string或枚舉類型,使用較多的是int和string類型。②switch語句可以包括任意數(shù)目的case塊,但是任何兩個case語句都不能具有相同的值。③“語句塊”可以是單語句,也可以是多語句。④break語句用于中斷選擇分支的語句運行,此處用于跳出switch語句。在switch語句中,也可使用goto語句實現(xiàn)語句轉(zhuǎn)移,但應(yīng)盡量避免使用這種方法。3.2.2switch語句【說明】3.2.2switch語句3.2.2switch語句【說明】⑤C#不支持從一個case標(biāo)簽顯式貫穿到另一個case標(biāo)簽,因此在每一個case塊(包括default塊)的后面都必須有一個跳轉(zhuǎn)語句(如break);但有一個例外,這個例外是當(dāng)case塊中沒有代碼時,空case標(biāo)簽可以貫穿到另一個case標(biāo)簽,這種情況下多個case語句可以使用同一個語句塊進行處理。⑥default標(biāo)簽用來處理不匹配case語句的值,定義default標(biāo)簽可以增強處理相應(yīng)的異常?!纠扛膶戄斎氲膶W(xué)生成績Score的值,顯示其是否及格。3.2.2switch語句【說明】3.3循環(huán)語句

C#提供了多種形式的循環(huán)語句,包括for語句、foreach語句、while語句和do…while語句。

3.3.1for語句循環(huán)次數(shù)可知【格式】for(表達式1;表達式2;表達式3){

循環(huán)體

};123445循環(huán)體以外的語句63.3循環(huán)語句C#提供了多種形式的循環(huán)語句3.3.1for語句1+2+3+……+100=?inti,sum=0;for(i=1;i<=100;i++)sum+=i;inti=1,sum=0;{sum+=i;

break;}if()i==100

i=i+1;3.3.1for語句1+2+3+……+100=?in3.3.1for語句【例】編寫一個Windows應(yīng)用程序,計算a+aa+aaa+aaaa+......+aa...a(n個)的值,其中a和n為1~9之間的整數(shù)。inta,n,num,sum;num=sum=0;a=int.Parse(txtA.Text);n=int.Parse(txtN.Text);for(inti=1;i<=n;i++)

{num=num*10+a;sum+=num;

}txtSum.Text=sum.ToString();3.3.1for語句【例】編寫一個Windows應(yīng)用3.3.2while語句while語句一般用于循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu),也可以用于循環(huán)次數(shù)可知的循環(huán)結(jié)構(gòu)。

【格式】while(條件表達式){

循環(huán)體

};

注意:1.循環(huán)體可能執(zhí)行0次;2.while(true)永真循環(huán),要使用break語句。3.3.2while語句while語句3.3.2while語句【例】編寫一個Windows應(yīng)用程序,將所輸入整數(shù)的各個位上的數(shù)字按相反順序輸出。8639779368aa!=0b=a%10;//7str=str+b.ToString();a=a/10;//8639b=a%10;//9str=str+b.ToString();a=a/10;//8633.3.2while語句【例】編寫一個Windows3.3.3do…while語句

do…while語句與while語句非常相似,而do…while語句的測試條件在每一次循環(huán)結(jié)束時進行判斷,因為先執(zhí)行后判斷,所以至少執(zhí)行一次。

【格式】do{

循環(huán)體

}while(條件表達式);

注意:最后的分號不能省略,否則會提示錯誤。3.3.3do…while語句do…whilcontinue與breakintn=0;m=0;for(i=1;i<=10;i++){if(i%2==0)continue;n++;}for(i=1;i<=10;i++){if(i%2==0)break;m++;}n=5,m=1continue與breakintn=0;m=0;fo3.3.4foreach語句foreach語句是專用于對數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個元素進行循環(huán)操作的語句,通過它可以列舉數(shù)組、集合中的每個元素,并且通過執(zhí)行循環(huán)可以對每一個元素進行需要的操作。foreach語句一般格式如下:

【格式】foreach(類型名變量名in數(shù)組或集合名稱){

循環(huán)體};【功能】對數(shù)組或集合中的每一個元素(用“變量名”表示),執(zhí)行循環(huán)體中的語句。3.3.4foreach語句foreach3.3.4foreach語句【說明】①“變量名”是一個循環(huán)變量,在循環(huán)中,該變量依次獲取數(shù)組或集合中各元素的值,所以“類型名”必須與數(shù)組或集合的類型一致。②循環(huán)體可以是單語句,也可以是多語句。如果是單語句,大括號可以省略;如果是多語句,分號可以省略。③可以在循環(huán)體中的任意位置放置continue或break語句來結(jié)束本次循環(huán)或退出循環(huán),break和continue語句通常結(jié)合if語句使用。【例】利用foreach語句計算數(shù)組中的奇數(shù)和偶數(shù)的個數(shù)。3.3.4foreach語句【說明】3.3.5循環(huán)的嵌套

如果一個循環(huán)(稱為“外循環(huán)”)語句的循環(huán)體內(nèi)包含另一個或多個循環(huán)(稱為“內(nèi)循環(huán)”)語句,稱為循環(huán)的嵌套。內(nèi)循環(huán)中還可以包含循環(huán),形成多層循環(huán)。通常把循環(huán)體內(nèi)不含有循環(huán)語句的循環(huán)叫做單層循環(huán),而把循環(huán)體內(nèi)含有循環(huán)語句的循環(huán)稱為多重循環(huán)。在程序設(shè)計過程中,常常需要使用循環(huán)的嵌套來處理重復(fù)操作。而在處理重復(fù)操作時,往往又需要根據(jù)某一條件改變循環(huán)的正常流程。各種循環(huán)語句可以互相嵌套,嵌套的層數(shù)理論上無限制,但多重循環(huán)可能會導(dǎo)致程序的執(zhí)行速度有所降低?!纠烤帉懸粋€Windows應(yīng)用程序,輸出九九乘法表。3.3.5循環(huán)的嵌套如果一個循環(huán)(稱為“外循環(huán)3.3.6跳轉(zhuǎn)語句

前面介紹過,可以在循環(huán)體中放置break語句來強制終止循環(huán),還可以在循環(huán)體中放置continue語句來結(jié)束本次循環(huán)。break語句和continue語句都是跳轉(zhuǎn)語句,使用跳轉(zhuǎn)語句,可以在循環(huán)的中途直接控制流程轉(zhuǎn)移。

C#中提供了四種跳轉(zhuǎn)語句:goto、break、continue和return語句。3.3.6跳轉(zhuǎn)語句前面介紹過,可以在循環(huán)體中放3.3.6跳轉(zhuǎn)語句1.goto語句

goto(轉(zhuǎn)向)語句可以將程序控制直接轉(zhuǎn)移給由“行標(biāo)簽”標(biāo)記的語句。但goto語句只能跳轉(zhuǎn)到它所在方法內(nèi)的行,而且該行必須有g(shù)oto可以引用的行標(biāo)簽。

goto語句的一般用于將控制傳遞給switch語句中特定的case標(biāo)簽或的default標(biāo)簽,有時也用于跳出深嵌套循環(huán)。但由于goto語句改變了程序的正常流程,使代碼的閱讀和維護變得更加困難,所以盡量不要使用。而且,用goto語句實現(xiàn)的功能一般都可以利用控制結(jié)構(gòu)實現(xiàn),因此goto語句很少使用。3.3.6跳轉(zhuǎn)語句1.goto語句3.3.6跳轉(zhuǎn)語句2.break語句

break(終止)語句用于終止最近的循環(huán)語句或它所在的switch語句,將程序控制傳遞給它所終止語句的后續(xù)語句。3.continue語句

continue(繼續(xù))語句只能用于循環(huán)結(jié)構(gòu),可以將程序控制傳遞給循環(huán)語句的下一次循環(huán)。也就是說,continue語句的作用是結(jié)束本次循環(huán),跳過continue之后的其他循環(huán)語句,返回到循環(huán)的起始處,并根據(jù)循環(huán)條件決定是否執(zhí)行下一次循環(huán)。3.3.6跳轉(zhuǎn)語句2.break語句3.3.6跳轉(zhuǎn)語句4.return語句

return(返回)語句用于終止它所在的方法的執(zhí)行,并將控制返回給調(diào)用方法。

return語句通常用于返回方法的調(diào)用值并退出類的方法。如果方法有返回類型,應(yīng)使用“return表達式;

”返回該類型的值;如果方法為void類型,應(yīng)使用“return;

”來退出該方法;如果方法為void類型且“return;”是方法的最后一條語句,則可以省略“return;”。3.3.6跳轉(zhuǎn)語句4.return語句本章小結(jié)

本章介紹了C#的if語句、switch語句、while語句、do-while語句、for語句以及foreach語句等流程控制語句。其中for語句是所有循環(huán)語句中使用最頻繁的語句。對于do-while循環(huán)語句來說,無論是否滿足條件表達式,它的循環(huán)體都至少執(zhí)行一次;但對于while循環(huán)來說,只有滿足條件表達式,才能執(zhí)行循環(huán)體。foreach語句是C#特有的循環(huán)語句,主要用于遍歷數(shù)組和集合中的元素。本章小結(jié)本章介紹了C#的if語句、switch語演講完畢,謝謝觀看!演講完畢,謝謝觀看!第3章程序流程控制第3章程序流程控制內(nèi)容簡介

雖然C#是完全的面向?qū)ο笳Z言,但在局部的語句塊內(nèi),仍然要使用結(jié)構(gòu)化程序設(shè)計的方法,用控制結(jié)構(gòu)來控制程序的執(zhí)行流程。結(jié)構(gòu)化程序設(shè)計有三種基本控制結(jié)構(gòu),分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。本章將對這三種基本結(jié)構(gòu)的概念及相應(yīng)的控制語句進行詳細介紹。內(nèi)容簡介雖然C#是完全的面向?qū)ο笳Z言,但在局部的目錄3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)結(jié)構(gòu)目錄3.1順序結(jié)構(gòu)3.2選擇結(jié)構(gòu)3.3循環(huán)3.1順序結(jié)構(gòu)

順序結(jié)構(gòu)的執(zhí)行特征為:按照語句出現(xiàn)的先后順序,依次執(zhí)行。

處理實際問題時,往往需要用戶輸入數(shù)據(jù),然后進行相應(yīng)的處理,最后由程序輸出結(jié)果。控制臺應(yīng)用程序的輸入與輸出Windows應(yīng)用程序的輸入與輸出3.1順序結(jié)構(gòu)順序結(jié)構(gòu)的執(zhí)行特征為:按照語句出3.1.1賦值語句

賦值語句是程序設(shè)計中最基本的語句,由于C#的賦值表達式有多種形式,因此賦值語句也表現(xiàn)出多樣性。常用的賦值語句有單賦值語句、復(fù)合賦值語句、連續(xù)賦值語句。不管是哪種賦值語句,基本格式都是以下兩種:【格式1】變量名=表達式【功能】將表達式的值賦值給變量?!靖袷?】對象名.屬性名=表達式【功能】將表達式的值賦值給對象的屬性。3.1.1賦值語句賦值語句是程序設(shè)計中最基本的語句3.1.1賦值語句單賦值語句2.復(fù)合賦值語句3.連續(xù)賦值語句inti=3;intj=i-1;label1.Text="姓名";intx=55;x-=50;label1.Text+=":";strings1,s2,s3;s1=s2=s3="連續(xù)賦值";textBox1.Text=textBox2.Text="";3.1.1賦值語句單賦值語句inti=3;int3.1.2輸入與輸出

輸入與輸出是應(yīng)用程序進行數(shù)據(jù)處理過程中的基本功能。按照應(yīng)用程序的類型,大致分為控制臺、Windows、Web三種應(yīng)用程序的輸入與輸出。1控制臺應(yīng)用程序的輸入與輸出2Windows應(yīng)用程序的輸入與輸出3.1.2輸入與輸出1控制臺應(yīng)用程序的輸入與輸出

控制臺輸入輸出,也稱為標(biāo)準(zhǔn)輸入輸出,使用的是標(biāo)準(zhǔn)輸入輸出設(shè)備,即鍵盤和顯示器??刂婆_應(yīng)用程序的輸入與輸出,主要通過Console類的靜態(tài)方法實現(xiàn)。1.輸入方法控制臺應(yīng)用程序的數(shù)據(jù)輸入,可以通過Console類的靜態(tài)方法Read與ReadLine實現(xiàn)。2.輸出方法控制臺應(yīng)用程序的數(shù)據(jù)輸出,可以通過Console類的靜態(tài)方法Write與WriteLine實現(xiàn),兩個方法都沒有返回值。1控制臺應(yīng)用程序的輸入與輸出控制臺輸入輸出,也稱1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——

Console類的靜態(tài)方法Read與ReadLine(1)Read方法【格式】

Console.Read()【說明】Read方法只能接受一個字符,返回值是int類型;如果輸入的字符不是數(shù)字,將返回該字符對應(yīng)的ASCII編碼。【示例】inti=Console.Read();charc=(char)Console.Read();1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——Cons1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——

Console類的靜態(tài)方法Read與ReadLine(2)ReadLine方法【格式】

Console.ReadLine()【說明】ReadLine方法接受一行字符(即一個字符串,回車代表輸入的結(jié)束),返回值是string類型?!臼纠縮trings=Console.ReadLine();1控制臺應(yīng)用程序的輸入與輸出1.輸入方法——Cons2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(1)Write方法【格式1】

Console.Write(X)

【功能】將參數(shù)X指定的數(shù)據(jù)寫入標(biāo)準(zhǔn)輸出流(一般指顯示器)。【說明】參數(shù)X是任意類型的數(shù)據(jù)?!臼纠緾onsole.Write("請輸入一個整數(shù):");intj=int.Parse(Console.ReadLine());Console.Write("輸入的整數(shù)為:"+j);1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與W2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(1)Write方法【格式2】

Console.Write(格式字符串,表達式列表)【功能】按照格式字符串的約定,輸出提示字符和表達式的值。【說明】格式字符串是由雙引號括起來的字符串,里面可以包含{}括起來的數(shù)字,數(shù)字從0開始,依次對應(yīng)表達式列表中的表達式?!臼纠縤nti=5;strings="five";Console.Write("i={0},s={1}",i,s);

//輸出結(jié)果為:i=5,s=five1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與W2.輸出方法——

Console類的靜態(tài)方法Write與WriteLine(2)WriteLine方法【格式1】

Console.WriteLine(X)【功能】將指定的X寫入標(biāo)準(zhǔn)輸出流,并以一個換行符結(jié)尾。【格式2】

Console.WriteLine(格式字符串,表達式列表)【功能】按照格式字符串的約定,輸出提示字符和表達式的值,并以一個換行符結(jié)尾?!菊f明】WriteLine方法的功能與Write方法基本相同,唯一的區(qū)別是WriteLine方法調(diào)用后要換行?!纠烤帉懸粋€控制臺應(yīng)用程序,實現(xiàn)分別輸入姓名和年齡后再一起輸出“××的年齡是××歲”的功能。1控制臺應(yīng)用程序的輸入與輸出2.輸出方法——Console類的靜態(tài)方法Write與WWindows應(yīng)用程序的輸入與輸出,可以通過多種控件實現(xiàn),如之前介紹過的TextBox、Label、LinkLabel以及下面要介紹的MessageBox(消息框)等。其中,使用頻率最高的是TextBox和Label。從操作程序的用戶的角度看,TextBox和Label控件的主要區(qū)別在于:Label控件是一個只能顯示數(shù)據(jù)的控件,而TextBox控件既可以讓用戶在其中輸入數(shù)據(jù),也可以顯示輸出數(shù)據(jù)。【例】編寫一個Windows應(yīng)用程序,實現(xiàn)分別輸入姓名和年齡后再一起輸出“××的年齡是××歲”的功能。3.2.2Windows應(yīng)用程序的輸入與輸出3.2.2Windows應(yīng)用程序的輸入與輸出

消息框

消息框是一個預(yù)定義對話框,用于向用戶顯示與應(yīng)用程序相關(guān)的信息。只有在用戶響應(yīng)該消息框后,程序才能繼續(xù)運行下去。顯示消息框要顯示消息框,必須調(diào)用MessageBox類的靜態(tài)方法Show。 【格式】

MessageBox.Show(參數(shù)列表);消息框可以顯示標(biāo)題、消息、按鈕和圖標(biāo)四部分內(nèi)容,也可以只顯示其中的一項或幾項。

消息框消息框是一個預(yù)定義對話框,用于向用戶顯示與1.顯示消息框下面給出幾種常用的Show方法。

消息框

1.顯示消息框消息框2.消息框的按鈕消息框中,除了默認的“確定”按鈕,還可以放置其他按鈕,這些按鈕可以收集用戶對消息框中問題的響應(yīng)。一個消息框中最多可顯示3個按鈕,可以根據(jù)程序要求從MessageBoxButtons枚舉的成員中選擇。

消息框

2.消息框的按鈕消息框3.消息框的圖標(biāo)默認情況下,消息框不顯示圖標(biāo),MessageBoxIcon枚舉用于指定消息框中顯示什么圖標(biāo)。

消息框

3.消息框的圖標(biāo)消息框4.消息框的返回值單擊消息框中的某一按鈕時,Show方法將返回一個DialogResult枚舉值來指示對話框的返回值。【例】實現(xiàn)通過消息框輸出“××的年齡是××歲”的功能。

消息框

4.消息框的返回值消息框3.2選擇結(jié)構(gòu)

選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點是:根據(jù)給定的條件是否成立,決定從各個可能的分支中執(zhí)行某一分支的相應(yīng)操作。選擇結(jié)構(gòu)一般分為單分支、雙分支、多分支三種。if語句,用于判斷特定的條件能否滿足,一般用于單分支和雙分支選擇,也可以用于多分支選擇。switch語句常用于多分支選擇。3.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點是3.2.1if語句

單分支的if語句是最簡單的,它根據(jù)條件表達式的值決定是否要執(zhí)行其后的語句塊,格式如下:【格式】if(條件表達式) {

語句塊

};【說明】①條件表達式可以是關(guān)系表達式、邏輯表達式或布爾常量值(true和false)。②“語句塊”可以是單語句,也可以是多語句。如果是單語句,大括號可以省略;如果是多語句,分號可以省略?!纠枯斎胍粋€整數(shù),求絕對值。程序分析:如果是負數(shù),取反;否則,絕對值是這個數(shù)本身。3.2.1if語句單分支的if語句是最簡單的,

雙分支的if語句是最常用的,它根據(jù)條件表達式的值進行判斷,選擇其中一個分支執(zhí)行,格式如下:

【格式】if(條件表達式) {

語句塊1}else

{

語句塊2};【例】根據(jù)輸入的學(xué)生成績Score的值,顯示其是否及格。3.2.1if語句雙分支的if語句是最常用的,它根據(jù)條件表達式的值進行if語句也可以用于多分支的選擇結(jié)構(gòu),用來對三種或三種以上的情況進行判斷。if…elseif…else語句實際上就是if語句的嵌套,一般格式如下:【格式】if(條件表達式1) {語句塊1};

elseif(條件表達式2) {語句塊2};

……//其他分支

elseif(條件表達式n) {語句塊n};

else

{語句塊n+1};3.2.1if語句if語句也可以用于多分支的選擇結(jié)構(gòu),用來對三種或3.2.2switch語句

使用嵌套的if語句雖然可以實現(xiàn)多分支的選擇結(jié)構(gòu),但if語句每次判斷只能有兩個分支,當(dāng)判斷的條件較多時,程序的可讀性將大大降低。switch語句(也稱為開關(guān)語句)專門用于多分支的選擇結(jié)構(gòu),其語法更簡單,能處理復(fù)雜的條件判斷。

switch語句有一個控制表達式,其分支語句根據(jù)控制表達式的值的不同,執(zhí)行不同的語句塊。switch語句的格式如下:3.2.2switch語句使用嵌套的if語句雖然【格式】switch(控制表達式){

case

常量表達式1:

語句塊1;break;case常量表達式2:

語句塊2;break;

……//其他分支

case常量表達式n:

語句塊n;break;

default:

語句塊n+1;break;}3.2.2switch語句【格式】3.2.2switch語句【說明】①“控制表達式”可以是sbyte、byte、short、ushort、int、uint、long、ulong、bool、char、string或枚舉類型,使用較多的是int和string類型。②switch語句可以包括任意數(shù)目的case塊,但是任何兩個case語句都不能具有相同的值。③“語句塊”可以是單語句,也可以是多語句。④break語句用于中斷選擇分支的語句運行,此處用于跳出switch語句。在switch語句中,也可使用goto語句實現(xiàn)語句轉(zhuǎn)移,但應(yīng)盡量避免使用這種方法。3.2.2switch語句【說明】3.2.2switch語句3.2.2switch語句【說明】⑤C#不支持從一個case標(biāo)簽顯式貫穿到另一個case標(biāo)簽,因此在每一個case塊(包括default塊)的后面都必須有一個跳轉(zhuǎn)語句(如break);但有一個例外,這個例外是當(dāng)case塊中沒有代碼時,空case標(biāo)簽可以貫穿到另一個case標(biāo)簽,這種情況下多個case語句可以使用同一個語句塊進行處理。⑥default標(biāo)簽用來處理不匹配case語句的值,定義default標(biāo)簽可以增強處理相應(yīng)的異常?!纠扛膶戄斎氲膶W(xué)生成績Score的值,顯示其是否及格。3.2.2switch語句【說明】3.3循環(huán)語句

C#提供了多種形式的循環(huán)語句,包括for語句、foreach語句、while語句和do…while語句。

3.3.1for語句循環(huán)次數(shù)可知【格式】for(表達式1;表達式2;表達式3){

循環(huán)體

};123445循環(huán)體以外的語句63.3循環(huán)語句C#提供了多種形式的循環(huán)語句3.3.1for語句1+2+3+……+100=?inti,sum=0;for(i=1;i<=100;i++)sum+=i;inti=1,sum=0;{sum+=i;

break;}if()i==100

i=i+1;3.3.1for語句1+2+3+……+100=?in3.3.1for語句【例】編寫一個Windows應(yīng)用程序,計算a+aa+aaa+aaaa+......+aa...a(n個)的值,其中a和n為1~9之間的整數(shù)。inta,n,num,sum;num=sum=0;a=int.Parse(txtA.Text);n=int.Parse(txtN.Text);for(inti=1;i<=n;i++)

{num=num*10+a;sum+=num;

}txtSum.Text=sum.ToString();3.3.1for語句【例】編寫一個Windows應(yīng)用3.3.2while語句while語句一般用于循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu),也可以用于循環(huán)次數(shù)可知的循環(huán)結(jié)構(gòu)。

【格式】while(條件表達式){

循環(huán)體

};

注意:1.循環(huán)體可能執(zhí)行0次;2.while(true)永真循環(huán),要使用break語句。3.3.2while語句while語句3.3.2while語句【例】編寫一個Windows應(yīng)用程序,將所輸入整數(shù)的各個位上的數(shù)字按相反順序輸出。8639779368aa!=0b=a%10;//7str=str+b.ToString();a=a/10;//8639b=a%10;//9str=str+b.ToString();a=a/10;//8633.3.2while語句【例】編寫一個Windows3.3.3do…while語句

do…while語句與while語句非常相似,而do…while語句的測試條件在每一次循環(huán)結(jié)束時進行判斷,因為先執(zhí)行后判斷,所以至少執(zhí)行一次。

【格式】do{

循環(huán)體

}while(條件表達式);

注意:最后的分號不能省略,否則會提示錯誤。3.3.3do…while語句do…whilcontinue與breakintn=0;m=0;for(i=1;i<=10;i++){if(i%2==0)continue;n++;}for(i=1;i<=10;i++){if(i%2==0)break;m++;}n=5,m=1continue與breakintn=0;m=0;fo3.3.4foreach語句foreach語句是專用于對數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個元素進行循環(huán)操作的語句,通過它可以列舉數(shù)組、集合中的每個元素,并且通過執(zhí)行循環(huán)可以對每一個元素進行需要的操作。foreach語句一般格式如下:

【格式】foreach(類型名變量名in數(shù)組或集合名稱){

循環(huán)體};【功能】對數(shù)組或集合中的每一個元素(用“變量名”表示

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論