秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

教學(xué)研究第5章數(shù)組和指針1

上傳人:e****s 文檔編號:251347445 上傳時間:2024-11-07 格式:PPT 頁數(shù):33 大?。?30.50KB
收藏 版權(quán)申訴 舉報 下載
教學(xué)研究第5章數(shù)組和指針1_第1頁
第1頁 / 共33頁
教學(xué)研究第5章數(shù)組和指針1_第2頁
第2頁 / 共33頁
教學(xué)研究第5章數(shù)組和指針1_第3頁
第3頁 / 共33頁

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《教學(xué)研究第5章數(shù)組和指針1》由會員分享,可在線閱讀,更多相關(guān)《教學(xué)研究第5章數(shù)組和指針1(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,第,5,章 數(shù)組和指針,一維數(shù)組的聲明、實例化、初始化和訪問,多維數(shù)組的聲明、實例化、初始化和訪問,數(shù)組的根本操作和排序,System.Array類的使用,C#語言中不平安代碼的根本概念,C#語言中指針的使用,1956,1960,1978,1982,1990,1998,a0,a1,a2,a3,a4,a5,數(shù)組是一些具有,相同類型,的數(shù)據(jù)按一定順序組成的序列,初步

2、認(rèn)識數(shù)組,問題:,輸入,100,個學(xué)生的成績,,計算,100,個學(xué)生的平均分,以及,統(tǒng)計,超過平均分的人數(shù)。,分析:,1,循環(huán),,求出平均分,2,循環(huán),,求出超過平均分的人數(shù),一種算法,sum=0.0;int count2=0;,for(i=1;i=100;i+),輸入,x;,sum=sum+x;,avg=sum/N;,for(i=1;i avg)count2+;,輸出,avg,count2;,第一次循環(huán)計算平均值,第二次循環(huán)計算超出平均分人數(shù),你讓我輸入兩次成績?,更好的解決方法:先把所有數(shù)據(jù)暫存起來,定義,100,個變量?,定義變量,x1,x2,x100;,輸入,x1,x2,x100,su

3、m=sum+x1;,sum=sum+x2;,sum=sum+x100;,avg=sum/100;,count2=0;,if(x1avg)count2+;,if(x2avg)count2+;,.,if(x100avg)count2+;,輸出,count2,變量名看起來很有規(guī)律,,卻無法利用循環(huán)的好處,for(i=1;i=100;i+),sum=sum+xi;,X,需要使用“數(shù)組,5.1,數(shù)組,具有,相同類型,的數(shù)據(jù)按,一定順序,組成的序列,數(shù)組中的每一個數(shù)據(jù)都可以,通過數(shù)組名及下標(biāo)來存取,a0,a1,a2,a3,a4,a5,a6,a7,數(shù)組的所有元素按順序分配在連續(xù)的空間,注意,:,可用下標(biāo)范圍

4、,:,0,數(shù)組長度,-1,int a=new int8;,每一個數(shù)組元素可以當(dāng)作獨立的變量使用,數(shù)組用于存儲和表示既與取值有關(guān),,又與位置順序有關(guān)的數(shù)據(jù)。,數(shù)組的類型,在C#中,數(shù)組屬于引用類型。,1 數(shù)組元素在內(nèi)存中是連續(xù)存放的,這是數(shù)組元素用下標(biāo)表示其在數(shù)組中位置的根據(jù)。,2 C#中的數(shù)組類型可以對應(yīng)任何數(shù)據(jù)類型,即數(shù)組可以是根本數(shù)據(jù)類型,也可以是類類型,例如,可以聲明一個文本框TextBox類型的數(shù)組。,3 C#通過.NET框架中的System.Array類來支持?jǐn)?shù)組,因此,可以使用該類的屬性與方法操作數(shù)組。,5.1.1,一維數(shù)組,聲明、實例化和初始化一維數(shù)組的各種形式參見表5-1,一般

5、通過數(shù)組下標(biāo)來訪問數(shù)組中的數(shù)據(jù)元素。C#語言還可以通過foreach語句來枚舉數(shù)組的各個元素,【例5.1】一維數(shù)組的使用例如:隨機產(chǎn)生100個學(xué)生的成績,計算學(xué)生的平均成績,并統(tǒng)計高于平均成績的學(xué)生人數(shù),【例5.2】利用一維數(shù)組顯示Fibonacii數(shù)列:1、1、2、3、5、8、的前20項。要求每行顯示5項,聲明一維數(shù)組,例:,char CharArr;/,字符型一維數(shù)組,int intArr;/,整型一維數(shù)組,string StringArray;/,字符串一維數(shù)組,數(shù)據(jù)類型,數(shù)組名,;,表示數(shù)組每個元素的類型,現(xiàn)在還不能使用數(shù)組元素,必須經(jīng)過實例化才可以使用,動態(tài)實例化,-,使用,new,

6、運算符,int a;/,聲明,a=new int5;/,實例化,int IntArr=new int5;,int IntArr=new int53,6,9,2,18;,數(shù)組名,=new,數(shù)據(jù)類型,數(shù)組長度,可以將數(shù)組定義和實例化合寫在一起,例:定義并初始化一個,100,個元素的浮點數(shù)數(shù)組,score,float score;,score=,new,float100;,float score=,new,float100;,兩種方式都正確,數(shù)組長度可以是,無符號整型表達式,,即非負(fù)整數(shù),也可以是一個,常量表達式,,或者,變量表達式,。,int Size=5;,int A=new intSize;,

7、C#,允許聲明元素個數(shù)為,0,的數(shù)組,例如:,int A=new int0;,靜態(tài)初始化實例化,例子:,int IntArr=3,6,9,2,18;,string StringArr=English,Computer,Maths,Chinese;,數(shù)據(jù)類型,數(shù)組名,=,元素,1,元素,2,.,靜態(tài)初始化數(shù)組必須與數(shù)組定義結(jié)合在一條語句中,數(shù)組在實例化時,可以為元素指定初始化值。,如果為數(shù)組指定初始化值,可以省略對元素個數(shù)的說明:,int A=new int 1,2,3,4,5;,可以將聲明數(shù)組的語句,“int A=new int51,2,3,4,5;,簡化為:int A=1,2,3,4,5;,

8、為數(shù)組指定初始化的值可以是,變量表達式,,,例如:,int x=1,y=2;,int A=new int5x,y,x+y,y+y,y*y+1;,一旦要為數(shù)組指定初始化值,就必須為數(shù)組的所有元素指定初始化值,指定值的個數(shù)既不能多于數(shù)組的元素個數(shù),也不能少于數(shù)組的元素個數(shù),。,訪問一維數(shù)組,使用數(shù)組名與下標(biāo)索引可以唯一確定數(shù)組中的某個元素,從而實現(xiàn)對該元素的訪問。,數(shù)組名,下標(biāo),可以是任何整型表達式,例如:,int x=4,y=5;,int A=new int31,2,3;,/,使用數(shù)組第,1,個元素的值為其他變量賦值,x=A 0;,A 1=y;,/,為數(shù)組第,2,個元素賦值,在訪問數(shù)組元素時,要

9、注意不要使下標(biāo)越界,例如:,int A=new int5;,A5=15;,/,下標(biāo)越界,可以在實例化數(shù)組時為數(shù)組的所有元素初始化指定的值,但不能在賦值語句中使用一個賦值運算符為整個數(shù)組賦值,例如:,int A=new int31,2,3;,/,正確,A=4,5,6;,/,錯誤,試圖為整個數(shù)組賦值,int a=new int8;,a2=10;,int i=5;,Console.Write(ai-3);,for(i=0;i8;i+),ai=i*i;,這樣用當(dāng)然沒有問題,下標(biāo)可以是表達式,便于使用循環(huán)變量控制下標(biāo),這樣的,for,循環(huán)變量最適合做數(shù)組下標(biāo),for(i=0;i,N,;i+),例:數(shù)組聲

10、明與訪問,using System;,class ArrayTest,static void Main(string args),int numbers;,/,定義一個一維數(shù)組,numbers=new int6;,/,動態(tài)初始化數(shù)組,for(int i=0;i,numbers.Length,;i+),numbersi=i*i;,Console.WriteLine(numbers0=1,i,numbersi);,例:定義一個數(shù)組,使其元素值為對應(yīng)下標(biāo)值的平方,并輸出數(shù)組中的元素,使用,數(shù)組名,.Length,可以獲取數(shù)組的長度,練習(xí)題:,定義一個長度為,10,的,浮點,數(shù)數(shù)組,x,進行動態(tài)或者靜

11、態(tài)初始化,將每個元素賦值為下標(biāo)的開方,Math.Sqrt(),foreach循環(huán)語句,C#專門提供了一種用于遍歷數(shù)組的foreach循環(huán)語句。,foreach循環(huán)語句的格式為:,foreach(類型名稱 變量名稱 in 數(shù)組名稱)循環(huán)體,語句中的“變量名稱是一個循環(huán)變量,在循環(huán)中,該變量依次獲取數(shù)組中各元素的值。因此,對于依次獲取數(shù)組中各元素值的操作,使用這種循環(huán)語句就很方便。要注意,“變量名稱的類型必須與數(shù)組的類型一致。,例如,假定有一個整型數(shù)組A,那么用foreach語句獲取數(shù)組中和元素的值并輸出到label1控件的Text屬性中的代碼為:,foreach(int i in A),labe

12、l1.Text=label1.Text+i+;,foreach語句遍歷數(shù)組雖然很方便,但其功能受一定的限制,例如,如果想為數(shù)組各元素依次有規(guī)律賦值,foreach循環(huán)將無能為力。,5.1.2,多維數(shù)組,多維數(shù)組的聲明、實例化和初始化與一維數(shù)組的聲明、實例化和初始化相類似。聲明多維數(shù)組時,用逗號表示維數(shù),一個逗號表示兩維數(shù)組,兩個逗號表示三維數(shù)組,以此類推。,注意:在聲明數(shù)組聲明中即使沒有指定維數(shù)的實際大小,也必須使用逗號分隔各個維,例,1,例,5,C#,支持兩種類型的多維數(shù)組。第一種是矩形數(shù)組,也稱等長數(shù)組,【,例,5.3,】,二維數(shù)組的使用,聲明多維數(shù)組,在多維數(shù)組中,比較常用的是二維數(shù)組,

13、二維數(shù)組可以保存二行二列的同類型數(shù)據(jù),6,行,4,列的同類數(shù)據(jù),可以使用,64,的二維數(shù)組保存,int,data=,new,int6,4;,data0,0=98;,.,定義數(shù)組和分配空間,訪問數(shù)組元素,使用兩個下標(biāo)指定行和列,聲明二維數(shù)組與聲明一維數(shù)組格式類似,例如:,char,CharArr;,int,A;,數(shù)據(jù)類型,數(shù)組名,數(shù)組元素類型,聲明多維數(shù)組時,用逗號表示維數(shù),一個逗號表示二維數(shù)組,兩個逗號表示三維數(shù)組,依次類推,。,二維數(shù)組的初始化,數(shù)組名,=new,數(shù)據(jù)類型,長度,1,長度,2;,例:,int,IntArr=new int3,2;,int,A=new int2,21,2,3,4

14、;,注意:,上面定義的數(shù)組,IntArr,中包含,3X2=6,個元素,下標(biāo)分別為,0,0,0,1,1,0,1,1,2,0,2,1,訪問多維數(shù)組需要用多個下標(biāo)唯一確定數(shù)組中某個元素,例如:,/聲明一個4行4列的二維數(shù)組,int,Ar=new int4,4;,Ar1,2=15;/為第2行第3列的元素賦值,int a=Ar1,2;/用第2行第3列的元素為其他變量賦值,也可以行基準(zhǔn)給二維數(shù)組靜態(tài)賦值,但一般不用靜態(tài)賦值給超過二維的多維數(shù)組.要訪問二維數(shù)組中的所有元素可以使用雙重循環(huán)來實現(xiàn),通常外循環(huán)控制行,內(nèi)循環(huán)控制列。,例:通過二重循環(huán),將,1-12,賦值給一個二維數(shù)組,并顯示數(shù)組內(nèi)容,static

15、 void Main(string args),int t,i;,int,table=new int3,4;,for(t=0;t 3;t+)/給二維數(shù)組賦值,for(i=0;i 4;i+),tablet,i=(t*4)+i+1;/填數(shù),for(t=0;t 3;t+)/顯示二維數(shù)組的值,for(i=0;i 4;i+),Console.Write(tablet,i+“t);/橫向跳格,Console.WriteLine();,練習(xí):,定義一個,4,行,4,列的,double,型數(shù)組,將數(shù)組所有元素按圖設(shè)置:,輸出該數(shù)組在對角線上的元素值,多維數(shù)組介紹,C#,可以使用多維數(shù)組,3,維數(shù)組的下標(biāo)有三個

16、整數(shù),,4,維數(shù)組的下標(biāo)有,4,個整數(shù),依次類推,多維數(shù)組的使用和二維數(shù)組的使用方法類似,根據(jù)數(shù)組的維數(shù)確定方括號中的逗號的個數(shù),例:,定義一個三維數(shù)組:,string,StringArr=new string3,2,4;,數(shù)組總結(jié),數(shù)組array是一種數(shù)據(jù)結(jié)構(gòu),它包含相同類型的一組數(shù)據(jù),數(shù)組有一個“秩rank,它確定和每個數(shù)組元素element關(guān)聯(lián)的索引個數(shù),其值是數(shù)組類型的方括號之間逗號個數(shù)加上1。數(shù)組的秩又稱為數(shù)組的維度?!爸葹?1 的數(shù)組稱為一維數(shù)組single-dimensional array,“秩大于 1 的數(shù)組稱為多維數(shù)組multi-dimensional array。維度大小確定的多維數(shù)組通常稱為兩維數(shù)組、三維數(shù)組等,數(shù)組的每個維度都有一個關(guān)聯(lián)的長度length,它是一個大于或等于零的整數(shù)。創(chuàng)立數(shù)組實例時,將確定維度和各維度的長度,它們在該實例的整個生存期內(nèi)保持不變。換而言之,對于一個已存在的數(shù)組實例,既不能更改它的維度,也不可能調(diào)整它的維度大小,數(shù)組屬性,1數(shù)組使用類型聲明,通過數(shù)組下標(biāo)或稱索引來訪問數(shù)組中的數(shù)據(jù)元素。,2數(shù)組可以是一維數(shù)組、多維數(shù)組。,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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!