c#程序設(shè)計基礎(chǔ)_第1頁
c#程序設(shè)計基礎(chǔ)_第2頁
c#程序設(shè)計基礎(chǔ)_第3頁
c#程序設(shè)計基礎(chǔ)_第4頁
c#程序設(shè)計基礎(chǔ)_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 C# 程序設(shè)計2022/8/121浙江萬里學(xué)院C#程序設(shè)計第二章 C#程序設(shè)計基礎(chǔ)2.1 C#的值類型 2.2 常量與變量 2.3 運算符與表達(dá)式 2.4 C#的引用類型 2.5 程序的分支語句 2.6 程序的循環(huán)語句 2022/8/122浙江萬里學(xué)院C#程序設(shè)計2.1 C#的值類型 一、簡單類型 二、枚舉型 enum三、結(jié)構(gòu)型struct 返回2022/8/123浙江萬里學(xué)院C#程序設(shè)計一、簡單類型 1. 整數(shù)型2. 浮點型3. 小數(shù)型4. 布爾型2022/8/124浙江萬里學(xué)院C#程序設(shè)計1. 整數(shù)型類型范 圍長度sbyte 有符號字節(jié)型-128 1278 位byte 字節(jié)型02558

2、位char 字符型U+0000U+ffff (Unicode字符集中的字符)16位short 短整型-32,76832,76716位ushort 無符號短整型065,53516位int 整型-2,147,483,6482,147,483,64732位uint 無符號整型04,294,967,29532位long 長整型-9,223,372,036,854,775,8089,223,372,036,854,775,80764位ulong 無符號長整型018,446,744,073,709,551,61564位2022/8/125浙江萬里學(xué)院C#程序設(shè)計2. 浮點型float型:取值范圍在1.5e

3、45 到 3.4e38精度為7位double型:取值范圍在5.0e324 到 1.7e308精度為15到16位2022/8/126浙江萬里學(xué)院C#程序設(shè)計3. 小數(shù)型decimal 取值范圍在1.010e28 至 7.910e28精度為28到29位 2022/8/127浙江萬里學(xué)院C#程序設(shè)計4. 布爾型用來表示邏輯真或邏輯假只有兩種取值:true或false 2022/8/128浙江萬里學(xué)院C#程序設(shè)計二、枚舉型 enum實質(zhì)就是使用符號來表示的一組相互關(guān)聯(lián)的數(shù)據(jù) 注意事項: 枚舉元素的數(shù)據(jù)值是確定的,一旦聲明就不能在程序的運行過程中更改; 枚舉元素的個數(shù)是有限的,同樣一旦聲明就不能在程序的

4、運行過程中增減; 默認(rèn)情況下,枚舉元素的值是一個整數(shù),第一個枚舉數(shù)的值為 0,后面每個枚舉數(shù)的值依次遞增 1; 如果需要改變默認(rèn)的規(guī)則,則重寫枚舉元素的值即可,例如:enum MyEnuma=101,b,c,d=201,e,f;應(yīng)用案例:實例2-1源代碼閱讀(見教材)操作演示與分析2022/8/129浙江萬里學(xué)院C#程序設(shè)計三、結(jié)構(gòu)型struct結(jié)構(gòu)型必須使用struct來標(biāo)記。結(jié)構(gòu)型的成員數(shù)據(jù)成員表示結(jié)構(gòu)的數(shù)據(jù)項方法成員表示對數(shù)據(jù)項的操作。內(nèi)置的結(jié)構(gòu)型DateTime:表示某個時間點 TimeSpan:表示某個時間段 應(yīng)用案例:實例2-2源代碼閱讀(見教材)操作演示與分析返回struct S

5、tudent public int no; public string name; public char sex; public int score;2022/8/1210浙江萬里學(xué)院C#程序設(shè)計2.2 常量與變量 一、常量 二、變量 三、數(shù)據(jù)類型轉(zhuǎn)換 返回2022/8/1211浙江萬里學(xué)院C#程序設(shè)計一、常量 1, 整型常量無符號整型常量在書寫時添加u或U標(biāo)志。長整型常量在書寫時添加l或L標(biāo)記。 2. 浮點型常量單精度浮點型常量在書寫時添加f或F標(biāo)記雙精度型常量添加d或D標(biāo)記。 3. 小數(shù)型常量小數(shù)型常量的后面必須添加m或M標(biāo)記 4. 字符型常量 (Unicode字符):使用兩個單引號來標(biāo)

6、記 轉(zhuǎn)義字符常量 5. 布爾型常量 :true 、false6. 字符串常量 :使用兩個雙引號來標(biāo)記 實例2-3演示2022/8/1212浙江萬里學(xué)院C#程序設(shè)計二、變量 1. 變量的概念變量名:每個變量都必須有一個名字。變量命名應(yīng)遵循標(biāo)識符的命名規(guī)則,如必須以字母或下劃線(_)打頭,只能包含英文字母、數(shù)字、和下劃線,不能包含空格等。 變量值:變量值存儲在內(nèi)存中;不同類型的變量,占用的內(nèi)存單元(字節(jié))數(shù)不同。在程序中,通過變量名來引用變量的值。 2. 變量的定義例如:int a,b,c; 3.變量的初始化 例如: float f11.25, f23.6, f3; 實例2-4演示2022/8/1

7、213浙江萬里學(xué)院C#程序設(shè)計三、數(shù)據(jù)類型轉(zhuǎn)換1. 隱式轉(zhuǎn)換如果參與運算的數(shù)據(jù)類型不相同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運算;轉(zhuǎn)換時按數(shù)據(jù)長度增加的方向進(jìn)行,以保證精度不降低,例如int型和long型運算時,先把int數(shù)據(jù)轉(zhuǎn)成long型后再進(jìn)行運算;所有的浮點運算都是以雙精度進(jìn)行的,即使僅含float單精度量運算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運算; 2. 顯示轉(zhuǎn)換(類型說明符) (待轉(zhuǎn)換的數(shù)據(jù)) 例如:(int)(x+y) 3. System.Convert類的類型轉(zhuǎn)換方法 ToBoolean 、ToByte、ToChar、ToInt32、ToSingle、ToString 返回20

8、22/8/1214浙江萬里學(xué)院C#程序設(shè)計2.3 運算符與表達(dá)式 一、算術(shù)運算符與表達(dá)式 二、賦值運算符與表達(dá)式 三、關(guān)系運算符與表達(dá)式 四、邏輯運算符與表達(dá)式 返回2022/8/1215浙江萬里學(xué)院C#程序設(shè)計一、算術(shù)運算符與表達(dá)式C#算術(shù)運算符包括+、-、*、/、%、+、-共七種 自增+/自減-運算符當(dāng)+或-運算符置于變量的左邊時,稱之為前置運算,表示先進(jìn)行自增或自減運算再使用變量的值,而當(dāng)+或-運算符置于變量的右邊時,稱之為后置運算,表示先使用變量的值再自增或自減運算 例如:設(shè)變量i=1、變量j=2,則表達(dá)式+i + j 的值為4實例2-5演示2022/8/1216浙江萬里學(xué)院C#程序設(shè)

9、計二、賦值運算符與表達(dá)式1. 簡單賦值運算符一般形式為:變量=表達(dá)式 注意事項;如果賦值號兩邊的數(shù)據(jù)類型不同,則系統(tǒng)將自動先將賦值號右邊的類型將轉(zhuǎn)換為左邊的類型再賦值;不能把右邊數(shù)據(jù)長度更大的數(shù)值類型隱式轉(zhuǎn)換并賦值給左邊數(shù)據(jù)長度更小的數(shù)值類型。 2. 復(fù)合賦值運算符+=、-=、*=、/=、%=、&=、|=、=、=例如:a+=5 等價于a=a+5x*=y+7 等價于x=x*(y+7)r%=p 等價于r=r%p實例2-6演示2022/8/1217浙江萬里學(xué)院C#程序設(shè)計三、關(guān)系運算符與表達(dá)式關(guān)系運算符用來對兩個操作數(shù)比較,以判斷兩個操作數(shù)之間的關(guān)系。C#的關(guān)系運算符有=、!=、=,關(guān)系運算符的優(yōu)先

10、級低于算術(shù)運算符。由關(guān)系運算符組成的表達(dá)式稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的運算結(jié)果只能是布爾型值,要么是true,要么是false。例如,設(shè)置變量i=5、j=4,則關(guān)系表達(dá)式i != j的結(jié)果為true。 2022/8/1218浙江萬里學(xué)院C#程序設(shè)計四、邏輯運算符與表達(dá)式C#的邏輯運算符包括!、&或&、|或|、,分別是邏輯非、邏輯與、邏輯或、邏輯異或運算。邏輯運算符的優(yōu)先級低于關(guān)系運算符的優(yōu)先級,但高于賦值運算符的優(yōu)先級。由邏輯運算符組成的表達(dá)式稱為邏輯表達(dá)式。邏輯表達(dá)式的運算結(jié)果只能是布爾型值,要么是true,要么是false。例如,設(shè)置變量i=5、j=4,則邏輯表達(dá)式 i !=j & i =

11、 j的結(jié)果為true。實例2-7演示 返回2022/8/1219浙江萬里學(xué)院C#程序設(shè)計五、例子1. Int a; a=28/3%3; 求a的值2. Int k=7,x=12; 值為3的表達(dá)式是()。 a. x%=(k%=5) b. x%=(k-k%5) c. x%=k-k%5 d. (x%=k)- (k%=5)2022/8/1220浙江萬里學(xué)院C#程序設(shè)計3. Int x=10,y=9,a,b,c; a=(-x=y+)? -x: +y; b=x+; c=y; 求a,b,c 的值。2022/8/1221浙江萬里學(xué)院C#程序設(shè)計2.4 C#的引用類型一、類Class 二、接口Interface

12、三、委托delegate 四、數(shù)組Array 五、字符串string 六、裝箱和拆箱 返回2022/8/1222浙江萬里學(xué)院C#程序設(shè)計一、類Class在現(xiàn)實生活中,“類”是人對具有共同屬性和行為的自然事物的抽象,例如把動物分為哺乳動物、爬行動物等。在程序設(shè)計中,“類”是現(xiàn)實世界中同類事物的進(jìn)一步抽象,是最基本的編程單位,它由若干個數(shù)據(jù)成員、方法成員等組成。在C#中,“類”類型需要使用class進(jìn)行標(biāo)識和聲明。class Student int no; string name; char sex; int score; public string Answer() string result

13、= 該學(xué)生信息如下:; result += n學(xué)號: + no; result += n姓名: + name; return result; 2022/8/1223浙江萬里學(xué)院C#程序設(shè)計二、接口Interface接口是一種特殊的數(shù)據(jù)類型接口與類的關(guān)系是:接口負(fù)責(zé)聲明類的標(biāo)準(zhǔn)行為,而類負(fù)責(zé)實現(xiàn)這些行為。使用接口來設(shè)計程序的最大好處是實現(xiàn)了軟件設(shè)計的規(guī)范化和標(biāo)準(zhǔn)化 在C#中,“接口”類型使用interface進(jìn)行標(biāo)識 。案例演示:實例2-8源代碼閱讀操作演示與分析思考:結(jié)構(gòu)與類有何區(qū)別?2022/8/1224浙江萬里學(xué)院C#程序設(shè)計三、委托delegate委托就是C#提供的一種以托管機(jī)制調(diào)用方法

14、的特殊數(shù)據(jù)類型其作用與諸如房屋租賃、求職等日?;顒又械闹薪闄C(jī)構(gòu)類似。因此委托一旦指向某個的方法,就可以隨時通過委托來調(diào)用那個方法。 一般形式如下:delegate 返回值類型 委托名稱(方法參數(shù)列表)實例2-9演示 2022/8/1225浙江萬里學(xué)院C#程序設(shè)計四、數(shù)組Array1. 什么是數(shù)組數(shù)組是一種由若干個變量組成的集合,數(shù)組中包含的變量稱為數(shù)組的元素,它們具有相同的類型。數(shù)組元素可以是任何類型,包括數(shù)組類型。數(shù)組元素的個數(shù)稱為數(shù)組的長度,數(shù)組長度為0時稱數(shù)組為空數(shù)組。數(shù)組元素沒有名稱,只能通過索引來訪問,索引從零開始。具有 n 個元素的數(shù)組的索引是從 0 到 n-12. 數(shù)組的聲明和創(chuàng)

15、建 一般形式:數(shù)組類型 數(shù)組名 = new 數(shù)組類型數(shù)組長度 3. 數(shù)組的初始化(兩種方式,見教材)4. 數(shù)組的使用:逐個引用,一般形式為數(shù)組名索引實例2-10演示2022/8/1226浙江萬里學(xué)院C#程序設(shè)計 int, a=1,8,12,11,-3,-5,-6,5,32; int r=0;for(int i=0;i3;i+) for( int j=0;jj;i-=4) r+=i;k+;Console.WriteLine(r);while(Math.Abs(r)40);2022/8/1228浙江萬里學(xué)院C#程序設(shè)計五、字符串string1. 字符串常量使用雙引號來標(biāo)記,例如,Hello Wor

16、ld 2. 字符串是一個由若干個Unicode 字符的組成字符數(shù)組。字符串可通過索引來提取字符串中的字符。例如,string s=中華人民共和國,則執(zhí)行char c=s6;之后,字符型變量c的值為國 3. C#允許使用關(guān)系運算符=、!=來比較4. System.String與 System.Text.StringBuilderstring 是 System.String 的別名,可創(chuàng)建不可變的字符串,包含Length、Copy、IndexOf、LastIndexOf、Insert、Remove、Replace、Split、Substring、Trim等成員System.Text.StringB

17、uilder用來構(gòu)造可變字符串,包含Length、Append、Insert、Remove、Replace、ToString等成員實例2-11演示2022/8/1229浙江萬里學(xué)院C#程序設(shè)計六、裝箱和拆箱1. 裝箱意味著把一個值類型的數(shù)據(jù)轉(zhuǎn)換為一個對象類型的數(shù)據(jù),裝箱過程是隱式轉(zhuǎn)換過程,由系統(tǒng)自動完成,一般賦值運算前完成。 例如:int i = 100; object box = i;2. 拆箱意味著把一個對象類型數(shù)據(jù)轉(zhuǎn)換為一個值類型數(shù)據(jù),拆箱過程必須是顯示轉(zhuǎn)換過程。拆箱時先檢查對象所引用的數(shù)據(jù)的類型,確保拆箱前后的數(shù)據(jù)類型相同,再復(fù)制出一個值類型數(shù)據(jù)。 int k = (int)box;

18、/拆箱正確返回2022/8/1230浙江萬里學(xué)院C#程序設(shè)計2.5 程序的分支語句一、if語句 二、switch語句 返回2022/8/1231浙江萬里學(xué)院C#程序設(shè)計一、if語句1. 語句結(jié)構(gòu):if (表達(dá)式) 語句1 else 語句2 2. 語句邏輯:如果表達(dá)式的值為true,則選擇執(zhí)行“語句1”,否則選擇執(zhí)行“語句2”。 3. 當(dāng)省略else子句時,表示單分支結(jié)構(gòu)4. 在if語句中嵌套if語句時,表示多分支結(jié)構(gòu)實例2-12演示2022/8/1232浙江萬里學(xué)院C#程序設(shè)計例1、輸入兩數(shù)a,b,比較a,b 兩數(shù)大小,大數(shù)放在a 中,小數(shù)放在b中,并輸出a,b的值。例2、求x的絕對值;例3、

19、輸入一字符,判斷該字符是大寫字母、小寫字母還是數(shù)字,如果都不是則輸出“此字符非字母、數(shù)字”。2022/8/1233浙江萬里學(xué)院C#程序設(shè)計二、switch語句1. 語句結(jié)構(gòu):switch(表達(dá)式) /只能整型、字符型或字符串表達(dá)式 /不能是關(guān)系表達(dá)式或邏輯表達(dá)式 case 常量1:語句1;break; case 常量2:語句2;break; case 常量n:語句n;break; default: 語句n+1;break;2. 語句邏輯和執(zhí)行過程:請閱讀教材3. C# 不支持從一個 case 標(biāo)簽顯式貫穿到另一個 case 標(biāo)簽,因此在每一個 case 塊的后面都必須有一個break語句實例2

20、-13演示返回2022/8/1234浙江萬里學(xué)院C#程序設(shè)計2.6 程序的循環(huán)語句一、while語句 二、do/while語句 三、for語句四、foreach語句五、循環(huán)語句的嵌套六、break與continue語句返回2022/8/1235浙江萬里學(xué)院C#程序設(shè)計一、while語句1. 語句結(jié)構(gòu):while(表達(dá)式) 語句;2. 語句邏輯(見右圖)3. 執(zhí)行過程:請參與教材4. 使用方法:使用循環(huán)控制變量來控制循環(huán),注意在循環(huán)之前循環(huán)控制變量的初值應(yīng)滿足循環(huán)條件,在循環(huán)過程中,每循環(huán)一次需要修改循環(huán)控制變量的值,當(dāng)循環(huán)控制變量的值將不符合循環(huán)條件時循環(huán)終止。 實例2-14演示2022/8/

21、1236浙江萬里學(xué)院C#程序設(shè)計二、do/while語句1. 語句結(jié)構(gòu):do 語句; while(表達(dá)式)2. 語句邏輯(見右圖)3. 執(zhí)行過程:請參與教材4. while語句與do/while語句的區(qū)別前者循環(huán)體執(zhí)行的次數(shù)可能是0次,而后循環(huán)體執(zhí)行的次數(shù)至少是1次 實例2-15演示2022/8/1237浙江萬里學(xué)院C#程序設(shè)計三、for語句1. 語句結(jié)構(gòu):for(表達(dá)式1; 表達(dá)式2; 表達(dá)式3)語句;說明:表達(dá)式1為賦值表達(dá)式,為循環(huán)控制變量賦初始值;表達(dá)式2為布爾型的表達(dá)式,用來檢測循環(huán)條件是否成立;表達(dá)式3賦值表達(dá)式,用來更新循環(huán)控制變量的值,以保證循環(huán)能正常終止。 2. 語句邏輯和執(zhí)

22、行過程:請參與教材實例2-16演示2022/8/1238浙江萬里學(xué)院C#程序設(shè)計using System;public class Sum100 public static void Main ( ) int Sum , i ; for (Sum=0, i=1; i100) break; / 但條件滿足時,break語句跳出循環(huán)。 Console.WriteLine (Sum is + Sum); Sum=0; i=1; for ( ; ; ) / 三個表達(dá)式都缺省 Sum+=i+; if (i100) / 這種情況一般都會用if語句來設(shè)置跳出循環(huán) break; Console.WriteLi

23、ne (Sum is + Sum); 2022/8/1239浙江萬里學(xué)院C#程序設(shè)計實例1、計算s=1+1/2+1/3+1/4+1/100;2、仿真一個銅板在連續(xù)100次的投擲中,出現(xiàn)正反面的次數(shù)。3、一竹竿長10米,每日截取一半,過多少日后,竹竿長度才會少于10厘米。2022/8/1240浙江萬里學(xué)院C#程序設(shè)計4、寫出程序結(jié)果:int x=10,y=1;do y+=x-;while(x5);Console.WriteLine(“0,1”,x,y);2022/8/1241浙江萬里學(xué)院C#程序設(shè)計有一個for(x=0,y=0;(y!=50)&(x5);x+)。這個for循環(huán)執(zhí)行幾次。2022/

24、8/1242浙江萬里學(xué)院C#程序設(shè)計四、foreach語句1. 語句結(jié)構(gòu):foreach(類型 循環(huán)變量 in 表達(dá)式)語句;說明:類型是循環(huán)變量的類型,應(yīng)該與表達(dá)式的數(shù)據(jù)類型保持兼容,表達(dá)式一般是一個數(shù)組名或集合名。 2. 語句邏輯和執(zhí)行過程:請參與教材實例2-17演示注意:不要使用foreach語句來更改集合內(nèi)容,以避免產(chǎn)生不可預(yù)知的副作用。如果要更改數(shù)組或集合的內(nèi)容,建議使用for語句 。2022/8/1243浙江萬里學(xué)院C#程序設(shè)計五、循環(huán)語句的嵌套實例2-18演示2022/8/1244浙江萬里學(xué)院C#程序設(shè)計六、break與continue語句1. break語句在switch語句中

25、用來跳轉(zhuǎn)執(zhí)行switch語句的后續(xù)語句在循環(huán)語句中用來提前終止循環(huán),跳轉(zhuǎn)出循環(huán)結(jié)構(gòu) 2. continue語句 continue語句不是用來終止并跳出循環(huán)結(jié)構(gòu)的,而是忽略continue后面的語句,直接進(jìn)入本循環(huán)結(jié)構(gòu)的下一次循環(huán)操作。實例2-18演示返回2022/8/1245浙江萬里學(xué)院C#程序設(shè)計例1:int i; for (i = 1; i = 100; i+) if (i = 5) break; Console.WriteLine(i); 2022/8/1246浙江萬里學(xué)院C#程序設(shè)計例2、int i; for (i = 1; i = 10; i+) if (i 9) continue;

26、 Console.WriteLine(i); 2022/8/1247浙江萬里學(xué)院C#程序設(shè)計2.7 數(shù)組2.7.1 數(shù)組的定義1. 一維數(shù)組(1) 一維數(shù)組聲明語法形式 type arrayName ; 其中:type可以是C#中任意的數(shù)據(jù)類型 表明后面的變量是一個數(shù)組類型,必須放在數(shù)組名之前arrayName數(shù)組名,遵循標(biāo)識符的命名規(guī)則例如: int a1; / a1是一個含有int類型數(shù)據(jù)的數(shù)組double f1; / f1是一個含有double類型數(shù)據(jù)的數(shù)組 string s1; / s1是一個含有string類型數(shù)據(jù)的數(shù)組2022/8/1248浙江萬里學(xué)院C#程序設(shè)計2.7.1 數(shù)組的

27、定義(2) 創(chuàng)建數(shù)組對象用new運算符創(chuàng)建數(shù)組實例,有二種基本形式。聲明數(shù)組和創(chuàng)建數(shù)組分別進(jìn)行: type arrayName ; / 數(shù)組聲明arrayName = new type size; / 創(chuàng)建數(shù)組實例 其中:size表明數(shù)組元素的個數(shù) 聲明數(shù)組和創(chuàng)建數(shù)組實例也可以合在一起寫: type arrayName = new type size ; 例如: int a1; a1 = new int 10; / a1是一個有10個int類型元素的數(shù)組 string s1 = new string 5; / s1是含有5個string類型元素的數(shù)組2022/8/1249浙江萬里學(xué)院C#程序設(shè)

28、計2.7.1 數(shù)組的定義2. 多維數(shù)組(1) 多維數(shù)組聲明語法形式type , , , arrayName ;多維數(shù)組就是指能用多個下標(biāo)訪問的數(shù)組。在聲明時方括號內(nèi)加逗號,就表明是多維數(shù)組,有n個逗號,就是n+1維數(shù)組。例如: int , score; / score是一個int類型的二維數(shù)組float , , table; / table是一個float類型的三維2022/8/1250浙江萬里學(xué)院C#程序設(shè)計2.7.1 數(shù)組的定義(2) 創(chuàng)建數(shù)組對象聲明數(shù)組和創(chuàng)建數(shù)組分別進(jìn)行: type , , arrayName ; / 數(shù)組聲明arrayName = new type size1, si

29、ze2, size3; / 創(chuàng)建數(shù)組實例size1, size2, size3分別表明多維數(shù)組每一維的元素個數(shù) 聲明數(shù)組和創(chuàng)建數(shù)組實例也可以合在一起寫: type , , arrayName = new type size1, size2, size3 ; 例如: int , score ; score = new int 3, 4 ; / score是一個3行4列的二維數(shù)組float , , table=new float 2, 3, 4 / table是一三維數(shù)組,每維分別是2、3、42022/8/1251浙江萬里學(xué)院C#程序設(shè)計2.7.1 數(shù)組的定義(3) 不規(guī)則數(shù)組一維數(shù)組和多維數(shù)組都

30、屬于矩形數(shù)組,而C#所特有的不規(guī)則數(shù)組是數(shù)組的數(shù)組,它的內(nèi)部每個數(shù)組的長度可以不同,就像一個鋸齒形狀。不規(guī)則數(shù)組聲明 type arrayName ;方括號 的個數(shù)與數(shù)組的維數(shù)相關(guān)。例如: int jagged ; / jagged是一個int類型的二維不規(guī)則數(shù)組創(chuàng)建數(shù)組對象以二維不規(guī)則數(shù)組為例:int jagged;jagged = new int 3 ;jagged0 = new int 4;jagged1 = new int 2;jagged2 = new int 6;2022/8/1252浙江萬里學(xué)院C#程序設(shè)計2.7.2 數(shù)組的初始化1. 一維數(shù)組初始化語法形式1:type arra

31、yName = new type size val1, val2, ,valn ;數(shù)組聲明與初始化同時進(jìn)行時,size也就是數(shù)組元素的個數(shù)必須是常量,而且應(yīng)該與大括號內(nèi)的數(shù)據(jù)個數(shù)一致。語法形式2: type arrayName = new type val1, val2, ,valn ;省略size,由編譯系統(tǒng)根據(jù)初始化表中的數(shù)據(jù)個數(shù),自動計算數(shù)組的大小。語法形式3: type arrayName = val1, val2, ,valn ;數(shù)組聲明與初始化同時進(jìn)行,還可以省略new運算符。語法形式4: type arrayName ;arrayName = new type size val1

32、, val2, ,valn ;2022/8/1253浙江萬里學(xué)院C#程序設(shè)計2.7.2 數(shù)組的初始化例如: 以下數(shù)組初始化實例都是等同的。int nums = new int 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ;int nums = new int 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;int nums = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ;int nums ;nums = new int 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ;2022/8/1254浙江萬里學(xué)院C#程序設(shè)計2.7.2 數(shù)組的

33、初始化2. 多維數(shù)組初始化語法形式1: type , arrayName = new type size1, size2 val11, val12, ,val1n , val21, val22, ,val2n , valm1, valm2, ,valmn ;數(shù)組聲明與初始化同時進(jìn)行,數(shù)組元素的個數(shù)是size1*size2,數(shù)組的每一行分別用一個花括號括起來,每個花括號內(nèi)的數(shù)據(jù)就是這行的每一列元素的值,初始化時的賦值順序按矩陣的“行”存儲原則。語法形式2: type arrayName = new type , val11, val12, ,val1n , val21, val22, ,val2

34、n , valm1, valm2, ,valmn ;省略size,由編譯系統(tǒng)根據(jù)初始化表中花括號的個數(shù)確定行數(shù),再根據(jù)內(nèi)的數(shù)據(jù)確定列數(shù),從而得出數(shù)組的大小。2022/8/1255浙江萬里學(xué)院C#程序設(shè)計2.7.2 數(shù)組的初始化語法形式3: type , arrayName = val11, val12, ,val1n , val21, val22, ,val2n , valm1, valm2, ,valmn ;數(shù)組聲明與初始化同時進(jìn)行,還可以省略new運算符。語法形式4: type , arrayName ;arrayName = new type size1, size2 val11, va

35、l12, ,val1n , val21, val22, ,val2n , valm1, valm2, ,valmn ;把聲明與初始化分開在不同的語句中進(jìn)行時,size1,size2同樣可以缺省,但也可以是變量。例如: 以下數(shù)組初始化實例都是等同的。int , a = new int 3,4 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ;int , a = new int , 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ;int , a = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ;int a ;a =

36、 new int 3, 4 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ;2022/8/1256浙江萬里學(xué)院C#程序設(shè)計2.7.2 數(shù)組的初始化3. 不規(guī)則數(shù)組初始化不規(guī)則數(shù)組是一個數(shù)組的數(shù)組,所以它的初始化通常是分步驟進(jìn)行的。type arrayName = new type size ;size可以是常量或變量,后面一個中括號 內(nèi)是空著的,表示數(shù)組的元素還是數(shù)組且這每一個數(shù)組的長度是不一樣,需要單獨再用new運算符生成。arrayName0 = new type size0 val1, val2, , valn1;arrayName1 = new type s

37、ize1 val1, val2, , valn2; 例如: char st1 = new char 3 ; / st1是由三個數(shù)組組成的數(shù)組st10 = new char S, e, p, t, e, m, b, e, r ;st11 = new char O, c, t, o, b, e, r;st12 = new char N, o, v, e, m, b, e, r ;2022/8/1257浙江萬里學(xué)院C#程序設(shè)計2.7.3 數(shù)組元素的訪問1. 一維數(shù)組的引用一維數(shù)組的引用語法形式: 數(shù)組名下標(biāo)【例2.16】定義一個數(shù)組,存放一組數(shù)據(jù),找出這組數(shù)中最大數(shù)和最小數(shù)。using System

38、;class MaxMin static void Main(string args) int max, min; int queue = new int10 89, 78, 65, 52, 90, 92, 73, 85, 91, 95 ; max = min = queue0; for (int i = 1; i max) max = queuei; if (queuei min) min = queuei; Console.WriteLine(最大數(shù)是0,最小數(shù)是1, max, min); Console.Read(); 2022/8/1258浙江萬里學(xué)院C#程序設(shè)計2.7.3 數(shù)組元素的訪問運行的結(jié)果如圖2.15所示。2022/8/1259浙江萬里學(xué)院C#程序設(shè)計2.7.3 數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論