版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 寒露文化傳承與應(yīng)用模板
- 小學(xué)數(shù)學(xué)《分?jǐn)?shù)除法》50道應(yīng)用題包含答案
- DB2201T 60-2024 西餐廳服務(wù)規(guī)范
- 職業(yè)導(dǎo)論-房地產(chǎn)經(jīng)紀(jì)人《職業(yè)導(dǎo)論》深度自測卷1
- 親子活動主持詞
- 二零二五年度船舶運輸代理合同
- 人教版四年級數(shù)學(xué)上冊寒假作業(yè)(九)(含答案)
- 上海市竹欣中學(xué)2024-2025學(xué)年七年級上學(xué)期英語期末測試卷(含答案無聽力原文及音頻)
- 重慶市第一中學(xué)2024-2025學(xué)年高三上學(xué)期12月月考生物試題(有答案)
- 燕山大學(xué)《數(shù)字信號處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 高中歷史教學(xué)中開展小組合作學(xué)習(xí)的思考
- 監(jiān)理資料檔案盒背脊貼紙
- 數(shù)學(xué)八下學(xué)霸電子版蘇教版
- SQL Server 2000在醫(yī)院收費審計的運用
- 《FANUC-Oi數(shù)控銑床加工中心編程技巧與實例》教學(xué)課件(全)
- 微信小程序運營方案課件
- 陳皮水溶性總生物堿的升血壓作用量-效關(guān)系及藥動學(xué)研究
- 安全施工專項方案報審表
- 學(xué)習(xí)解讀2022年新制定的《市場主體登記管理條例實施細則》PPT匯報演示
- 好氧廢水系統(tǒng)調(diào)試、驗收、運行、維護手冊
- 五年級上冊口算+脫式計算+豎式計算+方程
評論
0/150
提交評論