初學C語言 二維陣列與字元陣列

2021-10-10 21:34:09 字數 4668 閱讀 5343

二維陣列

簡單地說就是具有兩個下標的陣列稱為二維陣列。

二維陣列的定義形式

儲存型別 型別說明符 陣列識別符號[常量表示式1] [常量表示式2]

例如:static int a[2][3],b[2][3];

char c[10][10];

a[2][3]在記憶體中想當與

0,00,10,2

1,01,1

1,2即[2][3]表示為2行3列。

以此類推[10][10]的陣列即表示為10行10列,即這樣乙個二維陣列中可以放10*10個元素。

說明:

0,0,0

0,0,1

0,0,2

0,1,0

0,1,1

0,1,2

即a[1][2][3]表示為:

1倍數行數2列數3(博主自己的理解)即有123個元素。

二維陣列元素的引用

二維陣列元素的引用格式:

陣列名[下標表示式1][下標表示式2]

說明:

static

int a[2]

[3],b[5]

[5];

char c[10]

[9];

a[2][

2]=123;b[

2][5

]=100;c[8

][8]

=a[2][

2]*2

+a[2][

1]/2

;c[5]

[5]=

'n';

從鍵盤上為二維陣列輸入值,一般要用雙重迴圈。

例如:

int i ,j;

int a[3]

[3];

for(i=

0;i<

3;i++

)}

例1.從鍵盤上為乙個5*5的整型陣列賦值,找出其中的最小值和最大值,並顯示出來。

#include

intmain()

}int max=a[0]

[0];

int min=a[0]

[0];

for(i=

0;i<

5;i++)}

printf

("max=%d,max=%d"

,min,max)

;}

二維陣列的初始化

二維陣列的賦值大概有兩個方法:

//陣列元素=常數

int i,j;

int a[5]

[5];

for(i=

0;i<

5;i++

)}

//scanf函式

int i,j;

int a[5]

[5];

for(i=

0;i<

5;i++

)}

static

int a[2]

[2]=,};

表示為 a[0][0]=1,a[0][1]=2,a[1][0]=2,a[1][1]=1

例2:

static

int a[2]

[2]=

;

所表達效果和例1基本相同

例1.從鍵盤上輸入5*5的陣列,並找到對角線最大值所在的位置

#include

intmain()

} max=a[0]

[0];

for(i=

0;j<

5;i++

)printf

("max=%d位置是%d"

,max,r)

;}

例2.將乙個二維陣列行列互換,存到另乙個陣列中

#include

intmain()

}int c,b;

c=0; b=0;

for(i=

0;i<=

2;i++)}

}

字元陣列用來存放字元資料的陣列稱為字元陣列,型別為char,同其他陣列一樣可以是一維陣列也可以為多維陣列。

字元陣列的定義

一維字元陣列格式為:

儲存型別 char 陣列識別符號[常量表示式]

例如:

static

char c[10]

,p[100

]

二維字元陣列格式如下:

儲存型別 char 陣列識別符號[常量表示式1][常量表示式2]

例如:

char a[1]

[3];

以此類推

字串及其結束標誌

字串所謂「字串」是指若干c語言規定的有效字串行,包括字母、數字、專用字元、轉義字元等。c中規定,字串是用雙引號括起來的字串行,也稱為字串常數。

例如:「china」,「wc」、「hust」等

2、字串結束標誌

例如:用字元陣列在螢幕上顯示hello word!!

#include

intmain()

;int i ;

for(i=

0;i<

12;i++

)}

其實上述**可以加以改進更加方便如:

#include

intmain()

;int i ;

for(i=

0;i<

12;i++

)}

char a=等價於char a=

字元陣列的輸入/輸出

字元陣列的輸入輸出有兩個種辦法

按字元逐個輸入輸出

按字串整個輸入輸出

#include

intmain()

for(i=

0;i<

20;i++

)}

2.對字元陣列整個字串輸入輸出

例如:

#include

intmain()

注意

static

char a[10]

=;printf

("%s"

,a);

則只能輸出tom三個字元,而不是10個。

#include

intmain()

}

常用的字串處理函式

輸出字串函式puts

格式為:puts(字元陣列名);

功能:輸出乙個以」\0「結尾的字串,在輸出時將」\0「轉換為」\n「,且輸出的字串中可以包含轉義字元。

例如:

char a=

;puts

(a);

2.輸入字串函式gets

格式: gets(字元陣列名);

功能:將輸入的字串內容存放到指定的字元陣列中

例如:

char a[10]

;gets

(a);

注意字串複製函式strcpy

格式: strcpy(字元陣列名,字串)

strcpy(字元陣列1,字元陣列2)

功能:將字串內容複製到字元陣列中。

例如:

char a[10]

;char b=

"china"

;strcpy

(a,"china");

char s[12]

;strcpy

(b,s)

;

注意字串比較函式strcmp

格式為:strcmp(字串名1,字串2)

功能:將兩個字串的對應字元自左向右逐個比較,直到出現不同字元或者遇到/0字元為止。比較結果由函式值帶回

說明:

char a[30]

,b[30];

gets

(a);

gets

(b);

p=strcmp

(a,b)

;

字串連線函式 strcat

格式:strcat (字元陣列名1,字元陣列名2);

功能:將字元陣列2的內容連線到字元陣列1的後面,並在最後麵加乙個「\0」,且將結果存放在字元陣列1中。

測字串長度函式strlen

格式:strlen(字元陣列);

strlen(字串);

static

char a[12]

="china"

;printf

("%d"

,strlen

(a))

;printf

("%d"

,strlen

("china"

);

初學C語言2 3 二維陣列

二維陣列的定義 型別 陣列名 常量表示式 常量表示式 int a 6 6 66,6行6列 char b 4 5 45,4行5列 double c 6 3 6 3,6行3列 二維陣列的訪問 陣列名 下標 下標 a 0 0 訪問a陣列中第1行第1列的元素 b 1 3 訪問b陣列中第2行第4列的元素 c ...

C語言 一維陣列與二維陣列

int arr 4 定義了乙個一維陣列,長度為4 說明以下三個分別是什麼型別 1 arr 型別為int 表示陣列元素首位址,即圖中箭頭指向的位置。2 arr 1 型別為int 表示陣列元素首位址 1,即圖中箭頭指向的位置。3 arr 0 型別為int 表示第乙個元素,即圖中紅色的格仔。int brr...

c語言 一維陣列與二維陣列(2)

今天覆習了陣列內容。包括一維陣列,二維陣列,字元陣列,字串等內容。形式就是int a 常量 可預設 氣泡排序 設陣列個數為n,則氣泡排序要比較n 1次 在某一次比較中。將其可以比較的最後乙個數與前面所有的數進行比較。最終將陣列全部比較,形成公升序或降序排列。include int main for ...