c语言程序设计二维数组ppt,C语言程序设计教程二维数组的应用优秀讲义.ppt
C語言程序設計教程二維數組的應用優秀講義
第9章 二維數組的應用 9.1 了解二維數組 9.2 二維數組的簡單應用 9.3 利用地址和指針訪問二維數組 9.4 二維數組名作函數的實參 9.5 二維數組操作中的常用算法介紹 9.1 了解二維數組 9.1.1 二維數組的用途 9.1.2 二維數組的定義 與一維數組一樣,二維數組也必須先定義,然后才可以使用。定義語句的形式如下: 類型名 數組名[常量表達式1] [常量表達式2],……; 二維數組的定義形式與一維數組相似,所不同的是增加了一個用方括號括起來的常量表達式。這里常量表達式1用來指定二維數組的行數;常量表達式2用來指定二維數組的列數。由于C語言規定了數組下標值的下限一律為0,所以二維數組行下標的上限為常量表達式1的值減1;列下標的上限為常量表達式2的值減1。 前面提到的存放4名學生3門課成績的二維數組可定義如下: int s[4][3]; 此語句表明:這是一個名為s的4行3列的二維數組;數組中一共可以存儲4×3個整型數據;數組行下標的范圍是0~3,列下標的范圍是0~2。它在邏輯結構上可以看作以下形式的矩陣(或表格): 9.1.3 二維數組元素的引用 二維數組中的元素在邏輯上可以看作構成了一個矩陣,但在物理上仍舊占據的是一串連續的存儲單元。這些元素在內存中的排列順序是“按行”存放,即:先放第0行的元素,再放第1行的元素,依次類推。 如有定義: int x[2][3]; 則數組x在內存中的存儲結構如圖9-1所示: 二維數組每個元素都具有一個名字——帶有雙下標的變量。它的一般表示形式為: 數組名[下標表達式1][下標表達式2] 如圖9-1中所標出的x[0][0]、x[0][1]、…… 這里每一維的下標都可以是整型的常量、變量或表達式。如:x[i][j]、x[0][j+1]等都是合法的。注意:C語言中二維數組元素的兩個下標是分別放在兩個方括號中的,不要誤寫成x[0,0]、x[i,j]這種非法形式。 二維數組元素的引用與一維數組相同,也能夠參與同類型變量允許的所有操作。例如: scanf("%d", &x[0][0]); /* 輸入 */ x[1][0]=x[0][0]; /* 賦值 */ if (x[0][0]>10) … /* 條件判斷 */ 而語句:x[2][3]=0;則是錯誤的。因為在定義語句中限定了x數組是一個2×3的數組,其行下標最大值為1,列下標最大值為2。上述引用造成了下標越界。同樣是x[2][3],初學者要注意區分它出現在定義語句中和元素引用時的不同含義。 9.1.4 二維數組的初始化 與一維數組一樣,可以在定義二維數組的同時為其元素賦初值。 (1)分行給二維數組的所有元素賦初值。例如: int x[3][4]={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12} }; 這種形式比較規范和直觀:最外層有一對花括號,在其內部,每一行元素的初值分別括在一對花括號中,中間用逗號分隔。 (2)分行為二維數組中部分元素提供初值。例如: int x[3][4]={ {1}, {2}, {3} }; 賦值后,x數組中各元素的值為: 1 0 0 0 2 0 0 0 3 0 0 0 顯然,當某一行花括號內初值個數少于該行的元素個數時,系統自動補以初值0。又如: int x[3][4]={ {1,2}, {3,4} }; 賦值后,數組元素值為: 1 2 0 0 3 4 0 0 0 0 0 0 也就是說,當行花括號少于數組的行數時,系統自動為后面的各行補以初值0。 (3)為二維數組賦初值時省略行花括號。例如: int x[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 這里只保留了最外側的花括號,而省略了用來界定行元素的花括號。此時,系統將按照數組元素在內存中的排列順序,依次將數據賦給各個元素。 若數據的個數少于元素的個數,系統將自動為其賦初值0。例如: int x[3][4]={1,2,3}; 賦值后的數組元素值為: 1 2 3 0 0 0 0 0 0 0 0 0 (4)通過賦初值確定二維數組中第一維的大小。 在定義二維數組時,可以省略第1個方括號中的常量表達
總結
以上是生活随笔為你收集整理的c语言程序设计二维数组ppt,C语言程序设计教程二维数组的应用优秀讲义.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Data Matrix二维码编码原理及其
- 下一篇: IDM:从Google Drive快速直