計(jì)算機(jī)二級(jí)C++九二.ppt

上傳人:za****8 文檔編號(hào):20545819 上傳時(shí)間:2021-03-28 格式:PPT 頁(yè)數(shù):22 大?。?43KB
收藏 版權(quán)申訴 舉報(bào) 下載
計(jì)算機(jī)二級(jí)C++九二.ppt_第1頁(yè)
第1頁(yè) / 共22頁(yè)
計(jì)算機(jī)二級(jí)C++九二.ppt_第2頁(yè)
第2頁(yè) / 共22頁(yè)
計(jì)算機(jī)二級(jí)C++九二.ppt_第3頁(yè)
第3頁(yè) / 共22頁(yè)

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

9.9 積分

下載資源

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

資源描述:

《計(jì)算機(jī)二級(jí)C++九二.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《計(jì)算機(jī)二級(jí)C++九二.ppt(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、對(duì)于一維數(shù)組 : ( 1)數(shù)組名 array表示數(shù)組的首地址,即 array0的地址; ( 2)數(shù)組名 array是 可以看做一個(gè)指針變量,但值是不能變化 故又稱為地址常量。 ( 3) array+i是元素 arrayi的地址 即 array+i= 回顧 二維數(shù)組定義與元素引用 datatype arrayNamerowsizecolsize; int num42; 內(nèi)存 num num00 num01 num10 num11 num20 num21 num30 num31 4 X 2 = 8 8*sizeof(int) 字節(jié) num00 num01 num10 num11 num20 num

2、21 num30 num31 num 為了便于理解,二維數(shù)組一般理 解為幾行幾列的矩陣 二維數(shù)組初始化 int books42 = 11, 1294,22,450, 33,4000, 44,79; int arr43 = 1,2, 4,5, 7, 10 ; int arr43 = 1,2, 4,5 ; int arr43 = 1,2,4,5 ; 沒(méi)有花括號(hào)依次賦值,其余補(bǔ)零 通過(guò)賦初值定義二維數(shù)組的大小 int arr 3 = 1,2,3, 4,5, 6, 8 ; 由初值行數(shù)來(lái)確定第一維的大小 int arr 3 = 1, 2, 3, 4, 5; 第一 維的大小為: 1.數(shù)值數(shù) %列數(shù) =0,

3、維數(shù) =商 2.數(shù)值數(shù) %列數(shù)! =0,維數(shù) =商 +1 故 :上述等價(jià)于: int arr 23 = 1, 2, 3, 4, 5; int arr2 = 1,2,3, 4,5, 6, 8 ; 錯(cuò)誤,可以省略行但不能省略 列 從終端設(shè)備二維數(shù)組賦值 int i, j, num42; for (i = 0; i = 3; i+) for (j = 0; j =1 ; j+) scanf(%d, i j numi j 0 0 100 0 1 200 1 0 300 1 1 400 2 0 500 2 1 600 3 0 700 3 1 800 第一行 第二行 第三行 第四行 第一列 第二列 (3,

4、1) 800 (3,0) 700 (2,1) 600 (1,1) 400 (0,1) 200 (2,0) 500 (1,0) 300 (0,0) 100 行下標(biāo) 列下標(biāo) num0 0 二維數(shù)組和指針 int a34; 對(duì)于一個(gè)二維數(shù)組可以看成一個(gè)一維數(shù)組,這個(gè)一維數(shù)組 的每個(gè)元素又是一個(gè)一維數(shù)組。如上:可以將二維數(shù)組 a 看成一個(gè)由 a0,a1,a2三個(gè)元素組成的一維數(shù)組,而每 個(gè)元素 a0,a1,a2分別又是由四個(gè)元素組成的一維數(shù)組。 如 a0元素又可由 a00, a01, a02, a03四個(gè)元素 組成的一維數(shù)組。 對(duì)于二維數(shù)組: ( 1) a是 數(shù)組名, 包含三個(gè)元素 a0,a1,a2

5、( 2) 每個(gè)元素 ai 又是一個(gè)一維 數(shù)組,包含 4個(gè) 元素 int a34; a0 a1 a2 2000 2008 2016 2000 2002 2008 2010 2016 2018 a00 a01 a10 a11 a20 a21 a02 a03 a12 a13 a22 a23 前面對(duì)于一維數(shù)組學(xué)過(guò) int a3數(shù)組名 a是一個(gè)地址常量, 或可以看做一個(gè)指針變量,值為第一個(gè)元素的地址 int a34; 首先討論二維數(shù)組中的一維數(shù)組名: 二維數(shù)組 a34,包括 a0,a1,a2三個(gè)元素,每個(gè)元素又是 一個(gè)一維數(shù)組名。故 a0,a1,a2三個(gè)一維數(shù)組名分別代 表地址常量,或指針,值為每行第一

6、個(gè)元素的地址。 討論二維數(shù)組名: 二維數(shù)組名 a,包含著三個(gè)一維數(shù)組名(地址常量或指針) 的指針,值為第一個(gè)元素的首地址。 回顧二重指針: int *p,*a,k=10; a= p= p a k a0 a1 a2 2000 2008 2016 2000 2002 2008 2010 2016 2018 a00 a01 a10 a11 a20 a21 a02 a03 a12 a13 a22 a23 a a+1 a+2 int a34; a00 a01 a10 a11 a20 a21 a02 a03 a12 a13 a22 a23 二維數(shù)組元素表示形式: ( 1) a12 ( 2) *(a1+2)

7、 ( 3) *(*(a+1)+2) ( 4) *( 例 int (*p)4,a34; p先與 *結(jié)合,說(shuō)明 p是一個(gè)指針變量 再與 結(jié)合,即 p指向一個(gè)含有 4個(gè)元 素的一維數(shù)組。在這里 p的類型與二維 數(shù)組名 a相同 ,因此合法賦值語(yǔ)句: p=a; 故 p+1=a+1,p+i=a+1 則可用以下形式來(lái)表示 aij *(pi+j) *(*(p+i)+j) (*(p+i)j pij 1.( )不能少, 2.p是 行指針 , 不是 數(shù)組名 3.一維數(shù)組指針變量 維數(shù)和二維數(shù)組 列 數(shù) 必須 相同 1. 若有以下定義 int x10,*pt=x; 則對(duì)數(shù)組元素的正確引用 是 A)*0=i4,則正 確

8、的賦值是( ) A prt=a B qi=ai C prt=ai 3. 設(shè) int( *p) 4;,則 p的含義是( )。 A指向整型變量的指針數(shù)組 B指向 4個(gè)整型變量的函數(shù)指針 C 4個(gè)指向整型變量的指針變量 D指向具有 4個(gè)整型元素的一維數(shù)組的指針 4. 課后題 9.12和 9.13 9.7二維數(shù)組名和指針數(shù)組作為參數(shù) 1.二維數(shù)組名 作為實(shí)參時(shí),形參必須是一個(gè)指針變量 main() double sMN f (s); 則 f子函數(shù): f(double (*a)N) f(double a N) f(double aMN) 系統(tǒng)將 a處理成行指針 2.指針數(shù)組名 作為實(shí)參時(shí),形參必須是指向

9、指針的數(shù)組 main() double sMN, *pM; for()pi=si; f (p); 則 f子函數(shù)可為如下之一: f(double *aM) f(double *a ) f(double *a ) 9.8二維程序舉例 例題 9.11 編寫程序,通過(guò)調(diào)用隨機(jī)函數(shù)給 5*6的二維數(shù)組元素賦 10-40 范圍內(nèi)的整數(shù),求出二維數(shù)組每行元素的平均值 思路: #include #include #define M 6 #define N 5 void getdata(int (*) M) void lineave(int M,float *) void outdata (int NM,flo

10、at*) main 定義一個(gè)二維數(shù)組存放隨機(jī)數(shù); int rNM; 定義一個(gè)一維數(shù)組存放每行元素的平均值; inaveN; 調(diào)用一個(gè)子函數(shù)獲得隨機(jī)數(shù); getdata(r); 調(diào)用一個(gè)子函數(shù)求二維數(shù)組的行平均值; lineave(r,ave); 調(diào)用一個(gè)子函數(shù)輸出平均值: outdata(r,data); 注意格式:被調(diào)用函數(shù)的位置 函數(shù)原型:跟子函數(shù)函數(shù)一樣 但可省略參數(shù)名稱 獲得隨機(jī)數(shù)的子函數(shù): void getdata(int (*sp) M) int i,j,x; for(i=0;iN;i+) /控制行數(shù) j=0; while(j=10)/只有產(chǎn)生的隨機(jī)數(shù)在 =10至 40之間才可放入

11、數(shù)組 spij=x; j+; 求二維數(shù)組的行平均值: void lineave(int sp M,float *a) int i,j; float ave; for(i=0;iN;i+) ave=0.0;/每求完一行,重新將 ave賦值為 0.0 for(j=0;jM;j+) ave+=sij;/求每行的總和 ai=ave/M;/求行平均值存儲(chǔ)于數(shù)組 a中 輸出平均值的子函數(shù): void outdata (int spNM,float a ) int i,j; printf(輸出二維數(shù)組元素: n); for(i=0;iN;i+) for(j=0;jM;j+) printf(%4d,spij)

12、; printf(:%6.2fn,ai); 例題 9.12打印如下楊輝三角 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 1 1 6 15 20 1 思路:首先建立一個(gè)二維數(shù)組 根據(jù)規(guī)律給二維數(shù)組賦值 按照上述圖形輸出二維數(shù)組 規(guī)律: 1.第一列和斜對(duì)角線的元素為 1。 2.其他元素 =上一行的同列元素 +前列元素 for(i=0;in;i+) si0=1;sii=1; for(i=2;in;i+) for(j=1;jn;j+) sij=si-1j+si-1j-1; 規(guī)律:列數(shù) =行數(shù) for(i=0;in;i+) for(j=0;j=i;j+) printf(“%6d”,sij); 例題 9.13找出方陣每列中的最小元素及所在行號(hào) 23 87 10 44 11 91 66 24 5 51 31 2 19 91 28 65 40 9 6 39 22 35 49 82 76 思考: for(i=0;iN;i+) for(j=0;jN;j+) aij (位置是怎樣變化的?若換成 aji呢? )

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

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

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

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


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