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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章程序流程控制第3章程序流程控制內容簡介

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

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

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

賦值語句是程序設計中最基本的語句,由于C#的賦值表達式有多種形式,因此賦值語句也表現(xiàn)出多樣性。常用的賦值語句有單賦值語句、復合賦值語句、連續(xù)賦值語句。不管是哪種賦值語句,基本格式都是以下兩種:【格式1】變量名=表達式【功能】將表達式的值賦值給變量?!靖袷?】對象名.屬性名=表達式【功能】將表達式的值賦值給對象的屬性。3.1.1賦值語句賦值語句是程序設計中最基本的語句3.1.1賦值語句單賦值語句2.復合賦值語句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輸入與輸出

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

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

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

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

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

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

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

Console.Write(X)

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

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

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

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

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

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

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

消息框

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

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

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

消息框

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

消息框

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

消息框

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

消息框

4.消息框的返回值消息框3.2選擇結構

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

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

語句塊

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

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

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

語句塊1}else

{

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

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

……//其他分支

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

else

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

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

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)語句轉移,但應盡量避免使用這種方法。3.2.2switch語句【說明】3.2.2switch語句3.2.2switch語句【說明】⑤C#不支持從一個case標簽顯式貫穿到另一個case標簽,因此在每一個case塊(包括default塊)的后面都必須有一個跳轉語句(如break);但有一個例外,這個例外是當case塊中沒有代碼時,空case標簽可以貫穿到另一個case標簽,這種情況下多個case語句可以使用同一個語句塊進行處理。⑥default標簽用來處理不匹配case語句的值,定義default標簽可以增強處理相應的異常。【例】改寫輸入的學生成績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應用程序,計算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應用3.3.2while語句while語句一般用于循環(huán)次數(shù)未知的循環(huán)結構,也可以用于循環(huán)次數(shù)可知的循環(huán)結構。

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

循環(huán)體

};

注意:1.循環(huán)體可能執(zhí)行0次;2.while(true)永真循環(huán),要使用break語句。3.3.2while語句while語句3.3.2while語句【例】編寫一個Windows應用程序,將所輸入整數(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)結束時進行判斷,因為先執(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ù)結構中的每一個元素進行循環(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語句來結束本次循環(huán)或退出循環(huán),break和continue語句通常結合if語句使用?!纠坷胒oreach語句計算數(shù)組中的奇數(shù)和偶數(shù)的個數(shù)。3.3.4foreach語句【說明】3.3.5循環(huán)的嵌套

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

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

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

goto(轉向)語句可以將程序控制直接轉移給由“行標簽”標記的語句。但goto語句只能跳轉到它所在方法內的行,而且該行必須有goto可以引用的行標簽。

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

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

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

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

return語句通常用于返回方法的調用值并退出類的方法。如果方法有返回類型,應使用“return表達式;

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

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

本章介紹了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ù)組和集合中的元素。本章小結本章介紹了C#的if語句、switch語演講完畢,謝謝觀看!演講完畢,謝謝觀看!第3章程序流程控制第3章程序流程控制內容簡介

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

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

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

賦值語句是程序設計中最基本的語句,由于C#的賦值表達式有多種形式,因此賦值語句也表現(xiàn)出多樣性。常用的賦值語句有單賦值語句、復合賦值語句、連續(xù)賦值語句。不管是哪種賦值語句,基本格式都是以下兩種:【格式1】變量名=表達式【功能】將表達式的值賦值給變量?!靖袷?】對象名.屬性名=表達式【功能】將表達式的值賦值給對象的屬性。3.1.1賦值語句賦值語句是程序設計中最基本的語句3.1.1賦值語句單賦值語句2.復合賦值語句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輸入與輸出

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

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

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

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

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

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

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

Console.Write(X)

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

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

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

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

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

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

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

消息框

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

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

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

消息框

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

消息框

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

消息框

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

消息框

4.消息框的返回值消息框3.2選擇結構

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

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

語句塊

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

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

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

語句塊1}else

{

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

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

……//其他分支

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

else

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

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

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)語句轉移,但應盡量避免使用這種方法。3.2.2switch語句【說明】3.2.2switch語句3.2.2switch語句【說明】⑤C#不支持從一個case標簽顯式貫穿到另一個case標簽,因此在每一個case塊(包括default塊)的后面都必須有一個跳轉語句(如break);但有一個例外,這個例外是當case塊中沒有代碼時,空case標簽可以貫穿到另一個case標簽,這種情況下多個case語句可以使用同一個語句塊進行處理。⑥default標簽用來處理不匹配case語句的值,定義default標簽可以增強處理相應的異常?!纠扛膶戄斎氲膶W生成績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應用程序,計算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應用3.3.2while語句while語句一般用于循環(huán)次數(shù)未知的循環(huán)結構,也可以用于循環(huán)次數(shù)可知的循環(huán)結構。

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

循環(huán)體

};

注意:1.循環(huán)體可能執(zhí)行0次;2.while(true)永真循環(huán),要使用break語句。3.3.2while語句while語句3.3.2while語句【例】編寫一個Windows應用程序,將所輸入整數(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)結束時進行判斷,因為先執(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ù)結構中的每一個元素進行循環(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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論