C語言教程課件第八章 數(shù)組.ppt

C語言教程課件第八章 數(shù)組.ppt

ID:57057057

大小:378.00 KB

頁數(shù):31頁

時間:2020-07-30

C語言教程課件第八章 數(shù)組.ppt_第1頁
C語言教程課件第八章 數(shù)組.ppt_第2頁
C語言教程課件第八章 數(shù)組.ppt_第3頁
C語言教程課件第八章 數(shù)組.ppt_第4頁
C語言教程課件第八章 數(shù)組.ppt_第5頁
資源描述:

《C語言教程課件第八章 數(shù)組.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第8章數(shù)組8.1一維數(shù)組基礎(chǔ)8.2一維數(shù)組與指針8.3一維數(shù)組的引用8.4二維數(shù)組基礎(chǔ)8.5二維數(shù)組與指針8.6二維數(shù)組的引用8.1一維數(shù)組基礎(chǔ)1.一維數(shù)組的定義類型名數(shù)組名[常量表達(dá)式]說明:類型名就是數(shù)組元素的類型數(shù)組名代表內(nèi)存的首地址,是地址常量常量表達(dá)式代表數(shù)組元素個數(shù),下標(biāo)從0開始數(shù)組定義后在編譯時分配連續(xù)的內(nèi)存空間不能用變量定義數(shù)組維數(shù)8.1.1一維數(shù)組的定義和初始化2.一維數(shù)組的初始化說明:數(shù)組不初始化,其元素值為隨機數(shù)對static數(shù)組元素不賦初值,系統(tǒng)會自動賦以0值只給部分?jǐn)?shù)組元素賦初值,其余元素自動補初

2、值0當(dāng)全部數(shù)組元素賦初值時,可不指定數(shù)組長度當(dāng)所賦1初值多于數(shù)組的元素個數(shù)時,編譯時出錯在定義數(shù)組時,為數(shù)組元素賦初值(在編譯階段使之得到初值)3.一維數(shù)組元素的引用數(shù)組必須先定義,后使用只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組數(shù)組元素表示形式:數(shù)組名[下標(biāo)]其中:下標(biāo)可以是常量或整型表達(dá)式,下限為0C語言對數(shù)組不做下標(biāo)越界檢查8.2一維數(shù)組和指針例1數(shù)組元素的引用方法voidmain(){inta[5],*p,i;for(i=0;i<5;i++)a[i]=i+1;p=a;for(i=0;i<5;i++)printf("

3、*(pa+%d):%d",i,*(p+i));for(i=0;i<5;i++)printf("*(a+%d):%d",i,*(a+i));for(i=0;i<5;i++)printf("pa[%d]:%d",i,p[i]);for(i=0;i<5;i++)printf("a[%d]:%d",i,a[i]);}a[0]a[1]a[2]a[3]a[9]...aa+9a+1a+2地址元素下標(biāo)法a[0]a[1]a[2]a[9]a[0]a[1]a[2]a[3]a[9]...pp+9p+1p+2地址元素指針法*p*(p

4、+1)*(p+2)*(p+9)[]變址運算符a[i]?*(a+i)a[i]?p[i]?*(p+i)?*(a+i)*a*(a+1)*(a+2)*(a+9)例2main(){inti,*p,a[7];p=a;for(i=0;i<7;i++)scanf("%d",p++);printf("");for(i=0;i<7;i++,p++)printf("%d",*p);}p=a;8.3一維數(shù)組的引用8.3.1數(shù)組元素作實參當(dāng)調(diào)用函數(shù)時,數(shù)組元素可以作為實參傳送給形參,每個數(shù)組元素和普通變量一樣,對應(yīng)形參必須是類型相同的變量。數(shù)組

5、元素的值可以傳給該變量,在函數(shù)中只能對該變量進(jìn)行操作,而不能直接引用對應(yīng)數(shù)組元素。例3求輸出結(jié)果voidsum(int*a){a[0]=a[1];}voidmain(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=3;i>=0;i--)sum(&aa[i]);for(i=0;i<10;i++)printf(“%d”,aa[i]);}8.3.2數(shù)組名作參數(shù)數(shù)組名作函數(shù)參數(shù),是地址傳遞實參形參數(shù)組名指針變量數(shù)組名指針變量數(shù)組名數(shù)組名指針變量指針變量voidinv(intx[],intn

6、){intt,i,j,m=(n-1)/2;for(i=0;i<=m;i++){j=n-1-i;t=x[i];x[i]=x[j];x[j]=t;}}main(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);printf("Thearrayhasbeenreverted:");for(i=0;i<10;i++)printf("%d,",a[i]);printf("");}實參和形參都為數(shù)組名voidinv(int*x,intn){intt,*p,*i,*j,m=(n-1)/2

7、;i=x;j=x+n-1;p=x+m;for(;i<=p;i++,j--){t=*i;*i=*j;*j=t;}}main(){inti,a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);printf("Thearrayhasbeenreverted:");for(i=0;i<10;i++)printf("%d,",a[i]);printf("");}實參為數(shù)組名,形參為指針voidinv(int*x,intn){intt,*i,*j,*p,m=(n-1)/2;i=x;j=x+n-1;p=

8、x+m;for(;i<=p;i++,j--){t=*i;*i=*j;*j=t;}}main(){inti,a[10],*p=a;for(i=0;i<10;i++,p++)scanf("%d",p);p=a;inv(p,10);printf("Thearrayhasbeenreverted:");fo

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。