




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、內(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)的控制語句進(jìn)行詳細(xì)介紹。目錄3.1 順序結(jié)構(gòu)順序結(jié)構(gòu) 3.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)3.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)3.1 順序結(jié)構(gòu) 順序結(jié)構(gòu)的執(zhí)行特征為:按照語句出現(xiàn)的先后順序,依次執(zhí)行。 處理實(shí)際問題時,往往需要用戶輸入數(shù)據(jù),然后進(jìn)行相應(yīng)的處理,最后由程序輸出結(jié)果??刂婆_應(yīng)用程序的輸入與輸出Windows應(yīng)用程序的輸入與輸出3.1.1 賦值語句 賦值語句是程序設(shè)計中最基本的語
2、句,由于C#的賦值表達(dá)式有多種形式,因此賦值語句也表現(xiàn)出多樣性。 常用的賦值語句有單賦值語句、復(fù)合賦值語句、連續(xù)賦值語句。不管是哪種賦值語句,基本格式都是以下兩種:【格式1】變量名 = 表達(dá)式【功能】將表達(dá)式的值賦值給變量?!靖袷?】對象名.屬性名 = 表達(dá)式【功能】將表達(dá)式的值賦值給對象的屬性。3.1.1 賦值語句單賦值語句單賦值語句2. 復(fù)合賦值語句復(fù)合賦值語句3. 連續(xù)賦值語句連續(xù)賦值語句int i = 3; int j = i-1; label1.Text = 姓名;int x = 55; x -= 50;label1.Text += :;string s1, s2, s3; s1 =
3、 s2 = s3 = 連續(xù)賦值;textBox1.Text = textBox2.Text = ;3.1.2 輸入與輸出 輸入與輸出是應(yīng)用程序進(jìn)行數(shù)據(jù)處理過程中的基本功能。按照應(yīng)用程序的類型,大致分為控制臺、Windows、Web三種應(yīng)用程序的輸入與輸出。1 控制臺應(yīng)用程序的輸入與輸出控制臺應(yīng)用程序的輸入與輸出2 Windows應(yīng)用程序的輸入與輸出應(yīng)用程序的輸入與輸出1 控制臺應(yīng)用程序的輸入與輸出 控制臺輸入輸出,也稱為標(biāo)準(zhǔn)輸入輸出,使用的是標(biāo)準(zhǔn)輸入輸出設(shè)備,即鍵盤和顯示器。控制臺應(yīng)用程序的輸入與輸出,主要通過Console類的靜態(tài)方法實(shí)現(xiàn)。1. 輸入方法輸入方法 控制臺應(yīng)用程序的數(shù)據(jù)輸入,可
4、以通過Console類的靜態(tài)方法Read與ReadLine實(shí)現(xiàn)。2. 輸出方法輸出方法 控制臺應(yīng)用程序的數(shù)據(jù)輸出,可以通過Console類的靜態(tài)方法Write與WriteLine實(shí)現(xiàn),兩個方法都沒有返回值。 1 控制臺應(yīng)用程序的輸入與輸出1. 輸入方法輸入方法 Console類的靜態(tài)方法Read與ReadLine(1) Read方法方法【格式】 Console.Read()【說明】 Read方法只能接受一個字符,返回值是int類型;如果輸入的字符不是數(shù)字,將返回該字符對應(yīng)的ASCII編碼?!臼纠?int i = Console.Read(); char c = (char)Console.R
5、ead();1 控制臺應(yīng)用程序的輸入與輸出1. 輸入方法輸入方法 Console類的靜態(tài)方法Read與ReadLine(2) ReadLine方法方法【格式】 Console.ReadLine()【說明】 ReadLine方法接受一行字符(即一個字符串,回車代表輸入的結(jié)束),返回值是string類型。【示例】 string s = Console.ReadLine(); 2. 輸出方法輸出方法 Console類的靜態(tài)方法Write與WriteLine(1) Write方法方法【格式1】 Console.Write(X) 【功能】 將參數(shù)X指定的數(shù)據(jù)寫入標(biāo)準(zhǔn)輸出流(一般指顯示器)。【說明】 參數(shù)
6、X是任意類型的數(shù)據(jù)?!臼纠?Console.Write(請輸入一個整數(shù):); int j = int.Parse(Console.ReadLine(); Console.Write(輸入的整數(shù)為:+j);1 控制臺應(yīng)用程序的輸入與輸出2. 輸出方法輸出方法 Console類的靜態(tài)方法Write與WriteLine(1) Write方法方法【格式2】 Console.Write(格式字符串,表達(dá)式列表)【功能】 按照格式字符串的約定,輸出提示字符和表達(dá)式的值?!菊f明】 格式字符串是由雙引號括起來的字符串,里面可以包含 括起來的數(shù)字,數(shù)字從0開始,依次對應(yīng)表達(dá)式列表中的表達(dá)式。【示例】 int
7、i = 5; string s = five; Console.Write(i=0,s=1, i, s); /輸出結(jié)果為:i=5,s=five1 控制臺應(yīng)用程序的輸入與輸出2. 輸出方法輸出方法 Console類的靜態(tài)方法Write與WriteLine(2) WriteLine方法方法【格式1】 Console.WriteLine(X)【功能】 將指定的X寫入標(biāo)準(zhǔn)輸出流,并以一個換行符結(jié)尾?!靖袷?】 Console.WriteLine(格式字符串,表達(dá)式列表)【功能】 按照格式字符串的約定,輸出提示字符和表達(dá)式的值,并以一個換行符結(jié)尾。【說明】 WriteLine方法的功能與Write方法基
8、本相同,唯一的區(qū)別是WriteLine方法調(diào)用后要換行。【例例】 編寫一個控制臺應(yīng)用程序,實(shí)現(xiàn)分別輸入姓名和年齡后編寫一個控制臺應(yīng)用程序,實(shí)現(xiàn)分別輸入姓名和年齡后再一起輸出再一起輸出“的年齡是的年齡是歲歲”的功能。的功能。1 控制臺應(yīng)用程序的輸入與輸出 Windows應(yīng)用程序的輸入與輸出,可以通過多種控件實(shí)現(xiàn),如之前介紹過的TextBox、Label、LinkLabel以及下面要介紹的MessageBox(消息框)等。其中,使用頻率最高的是TextBox和Label。 從操作程序的用戶的角度看,TextBox和Label控件的主要區(qū)別在于:Label控件是一個只能顯示數(shù)據(jù)的控件,而TextBo
9、x控件既可以讓用戶在其中輸入數(shù)據(jù),也可以顯示輸出數(shù)據(jù)?!纠?編寫一個編寫一個Windows應(yīng)用程序,實(shí)現(xiàn)分別輸入姓名應(yīng)用程序,實(shí)現(xiàn)分別輸入姓名和年齡后再一起輸出和年齡后再一起輸出“的年齡是的年齡是歲歲”的功能。的功能。3.2.2 Windows應(yīng)用程序的輸入與輸出 消息框 消息框是一個預(yù)定義對話框,用于向用戶顯示與應(yīng)用程序相關(guān)的信息。只有在用戶響應(yīng)該消息框后,程序才能繼續(xù)運(yùn)行下去。顯示消息框顯示消息框要顯示消息框,必須調(diào)用MessageBox類的靜態(tài)方法Show。 【格式】 MessageBox.Show(參數(shù)列表); 消息框可以顯示標(biāo)題、消息、按鈕和圖標(biāo)四部分內(nèi)容,也可以只顯示其中的一項(xiàng)
10、或幾項(xiàng)。1. 顯示消息框顯示消息框 下面給出幾種常用的Show方法。 消息框 2. 消息框的按鈕消息框的按鈕 消息框中,除了默認(rèn)的“確定”按鈕,還可以放置其他按鈕,這些按鈕可以收集用戶對消息框中問題的響應(yīng)。一個消息框中最多可顯示3個按鈕,可以根據(jù)程序要求從MessageBoxButtons枚舉的成員中選擇。 消息框 3. 消息框的圖標(biāo)消息框的圖標(biāo) 默認(rèn)情況下,消息框不顯示圖標(biāo),MessageBoxIcon枚舉用于指定消息框中顯示什么圖標(biāo)。 消息框 4. 消息框的返回值消息框的返回值 單擊消息框中的某一按鈕時,Show方法將返回一個DialogResult枚舉值來指示對話框的返回值?!纠?實(shí)
11、現(xiàn)通過消息框輸出實(shí)現(xiàn)通過消息框輸出“的年齡是的年齡是歲歲”的功能。的功能。 消息框 3.2 選擇結(jié)構(gòu) 選擇結(jié)構(gòu)也稱為分支結(jié)構(gòu),其特點(diǎn)是:根據(jù)給定的條件是否成立,決定從各個可能的分支中執(zhí)行某一分支的相應(yīng)操作。 選擇結(jié)構(gòu)一般分為單分支、雙分支、多分支三種。if語句,用于判斷特定的條件能否滿足,一般用于單分支和雙分支選擇,也可以用于多分支選擇。switch語句常用于多分支選擇。3.2.1 if語句 單分支的if語句是最簡單的,它根據(jù)條件表達(dá)式的值決定是否要執(zhí)行其后的語句塊,格式如下:【格式】if (條件表達(dá)式) 語句塊 ;【說明】 條件表達(dá)式可以是關(guān)系表達(dá)式、邏輯表達(dá)式或布爾常量值(true和fal
12、se)。 “語句塊”可以是單語句,也可以是多語句。如果是單語句,大括號可以省略;如果是多語句,分號可以省略?!纠枯斎胍粋€整數(shù),求絕對值。程序分析:如果是輸入一個整數(shù),求絕對值。程序分析:如果是負(fù)數(shù),取反;否則,絕對值是這個數(shù)本身。負(fù)數(shù),取反;否則,絕對值是這個數(shù)本身。 雙分支的if語句是最常用的,它根據(jù)條件表達(dá)式的值進(jìn)行判斷,選擇其中一個分支執(zhí)行,格式如下: 【格式】if (條件表達(dá)式) 語句塊1 else 語句塊2 ;【例例】根據(jù)輸入的學(xué)生成績根據(jù)輸入的學(xué)生成績Score的值,顯示其是否的值,顯示其是否及格。及格。3.2.1 if語句 if語句也可以用于多分支的選擇結(jié)構(gòu),用來對三種或三種
13、以上的情況進(jìn)行判斷。ifelse ifelse語句實(shí)際上就是if語句的嵌套,一般格式如下:【格式】if (條件表達(dá)式1) 語句塊1 ; else if (條件表達(dá)式2) 語句塊2 ; /其他分支 else if (條件表達(dá)式n) 語句塊n ; else 語句塊n+1 ; 3.2.1 if語句 3.2.2 switch語句 使用嵌套的if語句雖然可以實(shí)現(xiàn)多分支的選擇結(jié)構(gòu),但if語句每次判斷只能有兩個分支,當(dāng)判斷的條件較多時,程序的可讀性將大大降低。switch語句(也稱為開關(guān)語句)專門用于多分支的選擇結(jié)構(gòu),其語法更簡單,能處理復(fù)雜的條件判斷。 switch語句有一個控制表達(dá)式,其分支語句根據(jù)控制
14、表達(dá)式的值的不同,執(zhí)行不同的語句塊。switch語句的格式如下:【格式】switch (控制表達(dá)式) case 常量表達(dá)式1: 語句塊1; break; case 常量表達(dá)式2: 語句塊2; break; /其他分支 case 常量表達(dá)式n: 語句塊n; break; default: 語句塊n+1; break;3.2.2 switch語句【說明】 “控制表達(dá)式”可以是sbyte、byte、short、ushort、int、uint、long、ulong、bool、char、string或枚舉類型,使用較多的是int和string類型。 switch 語句可以包括任意數(shù)目的 case塊,但是
15、任何兩個case語句都不能具有相同的值?!罢Z句塊”可以是單語句,也可以是多語句。 break語句用于中斷選擇分支的語句運(yùn)行,此處用于跳出switch語句。在switch語句中,也可使用goto語句實(shí)現(xiàn)語句轉(zhuǎn)移,但應(yīng)盡量避免使用這種方法。3.2.2 switch語句3.2.2 switch語句【說明】 C#不支持從一個case標(biāo)簽顯式貫穿到另一個case標(biāo)簽,因此在每一個 case 塊(包括default塊)的后面都必須有一個跳轉(zhuǎn)語句(如break);但有一個例外,這個例外是當(dāng)case塊中沒有代碼時,空case標(biāo)簽可以貫穿到另一個case標(biāo)簽,這種情況下多個case語句可以使用同一個語句塊進(jìn)行處
16、理。 default標(biāo)簽用來處理不匹配case語句的值,定義default標(biāo)簽可以增強(qiáng)處理相應(yīng)的異常?!纠?改寫輸入的學(xué)生成績改寫輸入的學(xué)生成績Score的值,顯示其是否及的值,顯示其是否及格。格。3.3 循環(huán)語句 C#提供了多種形式的循環(huán)語句,包括提供了多種形式的循環(huán)語句,包括for語句、語句、foreach語句、語句、while語句和語句和dowhile語句。語句。 3.3.1 for語句語句 循環(huán)次數(shù)可知循環(huán)次數(shù)可知【格式格式】for(表達(dá)式表達(dá)式1; 表達(dá)式表達(dá)式2; 表達(dá)式表達(dá)式3) 循環(huán)體循環(huán)體 ;123445循環(huán)體以外的語句循環(huán)體以外的語句63.3.1 for語句 1+2+3
17、+100=?int i, sum = 0;for (i = 1; i = 100; i+) sum += i; int i=1, sum = 0; sum += i; break;if ( ) i=100 i=i+1;3.3.1 for語句 【例例】編寫一個編寫一個Windows應(yīng)用程序,計算應(yīng)用程序,計算 a+aa+aaa+aaaa+. .+aa.a(n個)個) 的值,其中的值,其中a和和n為為19之間的整數(shù)。之間的整數(shù)。int a, n, num,sum;num = sum = 0;a = int.Parse(txtA.Text);n = int.Parse(txtN.Text);for
18、(int i = 1; i = n; i+) num = num * 10 + a; sum += num; txtSum.Text = sum.ToString();3.3.2 while語句 while語句一般用于語句一般用于循環(huán)次數(shù)未知循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu),也可的循環(huán)結(jié)構(gòu),也可以用于循環(huán)次數(shù)可知的循環(huán)結(jié)構(gòu)。以用于循環(huán)次數(shù)可知的循環(huán)結(jié)構(gòu)。 【格式格式】while(條件表達(dá)式條件表達(dá)式) 循環(huán)體循環(huán)體 ; 注意:注意:1.循環(huán)體可能執(zhí)行循環(huán)體可能執(zhí)行0次;次; 2.while(true) 永真循環(huán),要使用永真循環(huán),要使用break語句。語句。3.3.2 while語句 【例例】編寫一個編寫
19、一個Windows應(yīng)用程序,將所輸入整數(shù)的應(yīng)用程序,將所輸入整數(shù)的各個位上的數(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.3 dowhile語句 dowhile語句語句與與while語句非常相似,而語句非常相似,而dowhile語句的測試條件在每一次循環(huán)結(jié)束時進(jìn)行判語句的測試條件在每一次循環(huán)結(jié)束時進(jìn)行判斷,因?yàn)橄葓?zhí)行后判斷,所以斷,因?yàn)橄葓?zhí)行后判斷,所以至少執(zhí)行一次
20、至少執(zhí)行一次。 【格式格式】do 循環(huán)體循環(huán)體 while(條件表達(dá)式條件表達(dá)式); 注意:注意:最后的分號不能省略,否則會提示錯誤。最后的分號不能省略,否則會提示錯誤。continue 與breakint n=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=13.3.4 foreach語句 foreach語句是專用于對數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu)中的每一個元素進(jìn)行循環(huán)操作的語句,通過它可以列舉數(shù)組、集合中的每個元素,并且通過執(zhí)行循環(huán)可以對每一個元素
21、進(jìn)行需要的操作。foreach語句一般格式如下: 【格式】foreach(類型名 變量名 in 數(shù)組或集合名稱) 循環(huán)體; 【功能】對數(shù)組或集合中的每一個元素(用“變量名”表示),執(zhí)行循環(huán)體中的語句。3.3.4 foreach語句【說明】 “變量名”是一個循環(huán)變量,在循環(huán)中,該變量依次獲取數(shù)組或集合中各元素的值,所以“類型名”必須與數(shù)組或集合的類型一致。 循環(huán)體可以是單語句,也可以是多語句。如果是單語句,大括號可以省略;如果是多語句,分號可以省略。 可以在循環(huán)體中的任意位置放置continue或break語句來結(jié)束本次循環(huán)或退出循環(huán),break和continue語句通常結(jié)合if語句使用?!纠?/p>
22、】利用利用foreach語句計算數(shù)組中的奇數(shù)和偶數(shù)的個語句計算數(shù)組中的奇數(shù)和偶數(shù)的個數(shù)。數(shù)。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í)行速度有所降低?!纠?編寫一個編寫一個Wind
23、ows應(yīng)用程序,輸出九九乘法表。應(yīng)用程序,輸出九九乘法表。3.3.6 跳轉(zhuǎn)語句 前面介紹過,可以在循環(huán)體中放置break語句來 強(qiáng) 制 終 止 循 環(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)語句 1. goto語句語句 goto(轉(zhuǎn)向)語句可以將程序控制直接轉(zhuǎn)移給由“行標(biāo)簽”標(biāo)記的語句。但goto語句只能跳轉(zhuǎn)到它所在方法內(nèi)的行,而且該行必須有g(shù)oto可以引用的行標(biāo)簽。 goto語句
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 綠色生態(tài)園區(qū)停車位租賃與生態(tài)環(huán)保服務(wù)協(xié)議
- 餐飲企業(yè)信息化建設(shè)及運(yùn)維服務(wù)合同
- 房地產(chǎn)開發(fā)商如何制定有效的營銷計劃
- 小學(xué)三年級教師工作總結(jié)
- 江西省考面試題目及答案
- 擊劍選材測試題及答案
- 倫理學(xué)試題及答案
- 按摩醫(yī)士考試題庫及答案
- 軍事愛好者測試題及答案
- 畢業(yè)生的合同協(xié)議書
- 2025年河北雄安友信能源技術(shù)服務(wù)有限公司招聘筆試參考題庫含答案解析
- 23《“蛟龍”探?!饭_課一等獎創(chuàng)新教學(xué)設(shè)計
- 2025至2030年中國川貝行業(yè)發(fā)展研究報告001
- 廣東省廣州市天河區(qū)2022-2023學(xué)年三年級下學(xué)期數(shù)學(xué)期末試卷
- 鐵路通信信號融合-深度研究
- 2025二十屆中紀(jì)委四次全會公報全文
- 打樁機(jī)液壓步履式安全操作規(guī)程
- 醫(yī)療項(xiàng)目駐場人員工作流程制度
- 江蘇省鎮(zhèn)江市2024-2025學(xué)年蘇科版數(shù)學(xué)七年級上學(xué)期期末摸底測評卷A(含答案)
- 2024-2030年中國核電泵行業(yè)市場發(fā)展格局及未來投資潛力分析報告
- 煙酒店創(chuàng)業(yè)計劃書范文
評論
0/150
提交評論