




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VisualC#2008程序設(shè)計(jì)
第四章數(shù)組17十二月2023VisualC#2008程序設(shè)計(jì)第四章數(shù)組
4.1數(shù)組的概念4.2聲明、創(chuàng)建數(shù)組4.3初始化數(shù)組變量4.4遍歷數(shù)組元素4.5多維數(shù)組4.6交錯(cuò)數(shù)組4.7隱式類型數(shù)組17十二月2023VisualC#2008程序設(shè)計(jì)4.1數(shù)組的概念在程序設(shè)計(jì)過(guò)程中,經(jīng)常出現(xiàn)同一種類型的數(shù)據(jù)需要進(jìn)行統(tǒng)一管理和操作的情況,例如:同一個(gè)班級(jí)中有多名學(xué)生,班級(jí)內(nèi)的所有學(xué)生信息需要統(tǒng)一進(jìn)行統(tǒng)計(jì)、排序等操作。為方便實(shí)現(xiàn)這些對(duì)同一類型數(shù)據(jù)的處理,可以使用數(shù)組這一數(shù)據(jù)結(jié)構(gòu)。數(shù)組的作用17十二月2023VisualC#2008程序設(shè)計(jì)4.1數(shù)組的概念數(shù)組(array)是一種數(shù)據(jù)結(jié)構(gòu),是一個(gè)包含相同數(shù)據(jù)類型的數(shù)據(jù)的集合,可以通過(guò)數(shù)值索引來(lái)訪問(wèn)其中的所有數(shù)據(jù)成員(數(shù)組元素)。C#中的數(shù)組一般分為:一維數(shù)組多維數(shù)組交錯(cuò)數(shù)組隱式類型數(shù)組數(shù)組的定義17十二月2023VisualC#2008程序設(shè)計(jì)4.1數(shù)組的概念(1)數(shù)組可以是一維、多維或交錯(cuò)的。(2)數(shù)值數(shù)組元素的默認(rèn)值設(shè)置為零,而引用元素的默認(rèn)值設(shè)置為
null。(3)交錯(cuò)數(shù)組是數(shù)組的數(shù)組,因此,它的元素是引用類型,初始化為
null。(4)數(shù)組的索引(序號(hào))從零開(kāi)始:具有
n個(gè)元素的數(shù)組的索引是從
0到
n-1。(5)數(shù)組元素可以是任何類型,包括數(shù)組類型。數(shù)組屬性:17十二月20234.2聲明、創(chuàng)建數(shù)組1.聲明數(shù)組
一維數(shù)組的聲明格式為:數(shù)據(jù)類型[]數(shù)組對(duì)象名稱;
例:
string[]studentsName;多維數(shù)組的聲明格式為:數(shù)據(jù)類型[,]數(shù)組對(duì)象名稱;
例:
float[,]studentsGrades;交錯(cuò)數(shù)組的聲明格式為:數(shù)據(jù)類型[][]數(shù)組對(duì)象名稱;
例:
float[][]studentsGrades;VisualC#2008程序設(shè)計(jì)17十二月20234.2聲明、創(chuàng)建數(shù)組2.創(chuàng)建數(shù)組創(chuàng)建數(shù)組時(shí),使用new關(guān)鍵字,并指定數(shù)組的大小,也即數(shù)組最多能保存元素的個(gè)數(shù)。創(chuàng)建數(shù)組時(shí)就確定其大小。創(chuàng)建最多能保存35個(gè)學(xué)生姓名的數(shù)組代碼為:string[]studentsName=newstring[35];創(chuàng)建最多能保存35個(gè)float數(shù)據(jù)的數(shù)組代碼為:float[]studentsGrade=newfloat[35];創(chuàng)建保存35個(gè)學(xué)生各5門課程成績(jī)多維數(shù)組:float[,]studentsGrades=newfloat[35,5];VisualC#2008程序設(shè)計(jì)17十二月20234.2聲明、創(chuàng)建數(shù)組2.創(chuàng)建數(shù)組(續(xù))聲明并創(chuàng)建一個(gè)交錯(cuò)數(shù)組,數(shù)組大小為6,數(shù)組中這6個(gè)元素分別是一個(gè)int類型的數(shù)組,但這6個(gè)數(shù)組的大小還未確定。
int[][]jaggedArray=newint[6][];在確定數(shù)組中的元素值時(shí),也可以在創(chuàng)建數(shù)組元素的同時(shí)設(shè)置數(shù)組元素的值,語(yǔ)法格式為:數(shù)據(jù)類型[]數(shù)組對(duì)象名稱=new數(shù)據(jù)類型[]{初始值1,初始值2,初始值3,…};VisualC#2008程序設(shè)計(jì)17十二月20234.3初始化數(shù)組變量數(shù)組變量在創(chuàng)建后,還必須先初始化才能被訪問(wèn)。數(shù)組變量在初始化時(shí)需要注意,數(shù)組變量自身是一個(gè)變量,數(shù)組中所包含的所有元素也是變量,數(shù)組變量和數(shù)組元素所對(duì)應(yīng)的變量可分別進(jìn)行初始化。VisualC#2008程序設(shè)計(jì)17十二月20234.3初始化數(shù)組變量數(shù)組元素進(jìn)行訪問(wèn)是通過(guò)數(shù)組名稱及此元素在數(shù)組中的序號(hào)來(lái)實(shí)現(xiàn),其語(yǔ)法格式為:數(shù)組名稱[元素在數(shù)組中的序號(hào)]注意:元素在數(shù)組中的序號(hào)是從0開(kāi)始計(jì)數(shù),最后元素的序號(hào)為:數(shù)組長(zhǎng)度-1。VisualC#2008程序設(shè)計(jì)17十二月20234.3初始化數(shù)組變量數(shù)組元素變量的值可以被讀,也可以被寫,如果數(shù)組元素在賦值符號(hào)的左側(cè),則是對(duì)數(shù)組元素進(jìn)行賦值(寫)操作,否則是讀取數(shù)組元素的值。//第0號(hào)元素的值被修改為“張飛”studentsName[0]="張飛";//第4號(hào)元素的值讀取后賦值到變量lastStudentName中stringlastStudentName=student[4];VisualC#2008程序設(shè)計(jì)17十二月20234.4遍歷數(shù)組元素?cái)?shù)組中的元素之所以會(huì)放在同一個(gè)數(shù)組中,實(shí)現(xiàn)統(tǒng)一管理和操作,正是因?yàn)橥粩?shù)組中的元素在邏輯上應(yīng)同屬于一個(gè)整體,對(duì)于同一整體中的數(shù)組元素常常需要按照同樣的要求依次進(jìn)行處理,此時(shí)需要實(shí)現(xiàn)數(shù)組元素的遍歷。例如同一個(gè)班的學(xué)生姓名放在同一數(shù)組中,則常常需要把同一個(gè)班內(nèi)學(xué)生的姓名打印出來(lái),此時(shí)就需要把每位學(xué)生的姓名都打印出來(lái),但每個(gè)姓名又只能被打印一次。VisualC#2008程序設(shè)計(jì)17十二月20234.4遍歷數(shù)組元素?cái)?shù)組的遍歷一般通過(guò)循環(huán)實(shí)現(xiàn),利用元素序號(hào)的有規(guī)律變化,訪問(wèn)到數(shù)組中的每一個(gè)元素。數(shù)組的遍歷除了可以用for形式的循環(huán)實(shí)現(xiàn)外,還可以通過(guò)while或dowhile形式的循環(huán)完成,此外,還可以使用foreach形式完成。foreach的通用語(yǔ)法格式為:foreach(數(shù)據(jù)類型當(dāng)前變量in集合對(duì)象){//處理代碼}注意:foreach內(nèi)容代碼中,不能修改當(dāng)前變量的值VisualC#2008程序設(shè)計(jì)17十二月20234.4遍歷數(shù)組元素例:創(chuàng)建了一個(gè)星期每天對(duì)應(yīng)的名稱,然后按順序顯示出一個(gè)星期的名稱。例:創(chuàng)建了一個(gè)整形數(shù)組,然后反序輸出各元素的值,并計(jì)算總和。VisualC#2008程序設(shè)計(jì)17十二月20234.5多維數(shù)組數(shù)組可以具有多個(gè)維度,就象現(xiàn)實(shí)世界可以有二維空間、三維空間一樣,對(duì)應(yīng)的稱為二維數(shù)組、三維數(shù)組等。二維數(shù)組可以被看成為多行多列的多個(gè)元素組成,行數(shù)即是第0維的長(zhǎng)度,列數(shù)即為第1維的長(zhǎng)度。多維數(shù)組的使用與一維數(shù)組的基本一致,只是訪問(wèn)數(shù)組元素時(shí),必須指定元素在每一維中的序號(hào)。例:創(chuàng)建一個(gè)整形數(shù)組,用于記錄5個(gè)學(xué)生學(xué)號(hào)和對(duì)應(yīng)的一門課程成績(jī)。VisualC#2008程序設(shè)計(jì)17十二月20234.6交錯(cuò)數(shù)組在某些特殊情況下,多維數(shù)組中的各維元素所包含的元素個(gè)數(shù)不相同,使用多維數(shù)組實(shí)現(xiàn)相應(yīng)功能時(shí),將出現(xiàn)部分元素實(shí)際應(yīng)該不存在但卻已創(chuàng)建的情況,為了使數(shù)組中的元素對(duì)應(yīng)實(shí)際情況,可以使用交錯(cuò)數(shù)組。交錯(cuò)數(shù)組是元素為數(shù)組的數(shù)組。交錯(cuò)數(shù)組元素的維度和大小可以不同。交錯(cuò)數(shù)組有時(shí)稱為“數(shù)組的數(shù)組”,即數(shù)組中的元素自身也是數(shù)組。VisualC#2008程序設(shè)計(jì)17十二月20234.6交錯(cuò)數(shù)組以下示例聲明并創(chuàng)建了一個(gè)交錯(cuò)數(shù)組,數(shù)組實(shí)際是一個(gè)由三個(gè)元素組成的一維數(shù)組,其中每個(gè)元素都是一個(gè)一維整數(shù)數(shù)組:
int[][]jaggedArray=newint[3][];初始化這三個(gè)元素時(shí),可用如下所示代碼://交錯(cuò)數(shù)組的第0號(hào)元素被創(chuàng)建成為一個(gè)長(zhǎng)度為5的一維數(shù)組jaggedArray[0]=newint[5];//交錯(cuò)數(shù)組的第1號(hào)元素被創(chuàng)建成為一個(gè)長(zhǎng)度為4的一維數(shù)組jaggedArray[1]=newint[4];//交錯(cuò)數(shù)組的第2號(hào)元素被創(chuàng)建成為一個(gè)長(zhǎng)度為2的一維數(shù)組jaggedArray[2]=newint[2];所有整數(shù)元素都被初始化為int的默認(rèn)值0。VisualC#2008程序設(shè)計(jì)17十二月20234.6交錯(cuò)數(shù)組訪問(wèn)交錯(cuò)數(shù)組的元素時(shí),使用數(shù)組名稱及元素在數(shù)組中的對(duì)應(yīng)各序號(hào)實(shí)現(xiàn)。例如訪問(wèn)償以上示例中jaggedArray3的值為“2”的元素,用變量“jaggedArray3[1][1]”;而訪問(wèn)jaggedArray4中值為“99”的元素則用變量“jaggedArray4[2][1,0]”。
例:創(chuàng)建一個(gè)交錯(cuò)數(shù)組,數(shù)組的所有元素分別是一個(gè)一維整形數(shù)組。VisualC#2008程序設(shè)計(jì)17十二月20234.7隱式類型數(shù)組在C#中可以創(chuàng)建隱式類型的數(shù)組,在這樣的數(shù)組中,數(shù)組實(shí)例的類型是從數(shù)組初始值設(shè)定項(xiàng)中指定的元素推斷而來(lái)的。有關(guān)任何隱式類型變量的規(guī)則也適用于隱式類型的數(shù)組。在實(shí)際開(kāi)發(fā)過(guò)程中,隱式類型的數(shù)組通常與匿名類型以及對(duì)象初始值設(shè)定和集合初始值設(shè)定一起使用。VisualC#2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 光伏融資租賃協(xié)議合同范本
- 會(huì)員推廣合同范本
- 單位廚房用人合同范例
- 加盟合同范本在
- 產(chǎn)銷合作協(xié)議合同范本
- 水泥買賣的合同范本
- 包工簡(jiǎn)易合同范本
- 個(gè)人店員合同范本
- 高級(jí)包間服務(wù)合同范本
- 中標(biāo)檢測(cè)儀器合同范本
- 尋夢(mèng)環(huán)游記(Coco)中英文臺(tái)詞對(duì)照
- 重點(diǎn)關(guān)愛(ài)學(xué)生幫扶活動(dòng)記錄表
- 改革后-topik考試作文紙
- 5-6歲幼兒園小學(xué)美術(shù)PPT課件教案教程創(chuàng)意幼教手工《樹懶》
- 父母委托子女保管存款協(xié)議書
- 產(chǎn)品設(shè)計(jì)與開(kāi)發(fā)的系統(tǒng)工程方法
- 初中物理核心素養(yǎng)培養(yǎng)
- 保安公司招聘筆試題及答案
- 預(yù)防留置針脫落
- 痛風(fēng)護(hù)理疑難病例討論
- 韓國(guó)語(yǔ)入門教學(xué)資料
評(píng)論
0/150
提交評(píng)論