Presentation is loading. Please wait.

Presentation is loading. Please wait.

|09 陣列.

Similar presentations


Presentation on theme: "|09 陣列."— Presentation transcript:

1 |09 陣列

2 9.1 陣列 |一維陣列架構 9.1.1 關於陣列 陣列是數個相同型態的資料集合  使用一維陣列 >>

3 |使用一維陣列 宣告 陣列長度 索引 儲存元素 9.1 陣列 9.1.1 關於陣列 << 一維陣列架構
9.1 陣列 |使用一維陣列 9.1.1 關於陣列 宣告 陣列長度 索引 儲存元素 << 一維陣列架構    宣告陣列 >>

4 9.1 陣列 |宣告陣列 9.1.1 關於陣列 int x[6] ; << 使用一維陣列    存取陣列元素 >>

5 |存取陣列元素 150 x[3]=150 ; i=x[3] ; 150 [0] [1] [2] [3] [4] [5] 9.1 陣列
9.1 陣列 |存取陣列元素 9.1.1 關於陣列 x[3]=150 ; i=x[3] ; 150 [0] [1] [2] [3] [4] [5] 150 2 1 << 宣告陣列    存取陣列元素 >>

6 9.1 陣列 |存取陣列元素 9.1.1 關於陣列 << 存取陣列元素    範例:示範陣列 >>

7 |範例:示範陣列 [0] 100 [1] 200 [2] 300 [3] 400 [4] 500 [5] 600
9.1 陣列 |範例:示範陣列 9.1.1 關於陣列 100,200,300,400,500,600 8 7 6 5 4 [0] 100 [1] 200 [2] 300 [3] 400 [4] 500 [5] 600 3 2 1 > << 存取陣列元素    特定型態的陣列宣告 >>

8 |特定型態的陣列宣告 double ds[6] ; 宣告一個 double 型態的陣列 ds 可以儲存 6 個 double 型態的數值
9.1 陣列 |特定型態的陣列宣告 9.1.1 關於陣列 double ds[6] ; 宣告一個 double 型態的陣列 ds 可以儲存 6 個 double 型態的數值 << 範例:示範陣列    陣列索引值 >>

9 |陣列索引值 mybArray[k] k 是一個 int 型態的變數。 k 被用來做為索引值。 9.1 陣列 9.1.2 陣列的變數存取
9.1 陣列 |陣列索引值 9.1.2 陣列的變數存取 mybArray[k] k 是一個 int 型態的變數。 k 被用來做為索引值。 << 特定型態的陣列宣告    範例:陣列索引存取 >>

10 |範例:陣列索引存取 3 4 5 [0] 100 [1] 200 [2] 300 [3] 400 [4] 500 [5] 600
9.1 陣列 |範例:陣列索引存取 9.1.2 陣列的變數存取 3 4 5 [0] 100 [1] 200 [2] 300 [3] 400 [4] 500 [5] 600 3 2 1 << 陣列索引值     範例:陣列的變數設值 >>

11 |範例:陣列的變數設值 200 設定第 2 個陣列元素值: x[0]:100,x[1]:200 100 200 [0] [1] 9.1 陣列
9.1 陣列 |範例:陣列的變數設值 9.1.2 陣列的變數存取 [0] [1] 100 4 設定第 2 個陣列元素值: x[0]:100,x[1]:200 200 200 3 2 1 << 範例:陣列索引存取    sizeof() >>

12 |sizeof() int size = sizeof(x) ; x 是一個陣列。 變數 size 儲存 sizeof() 回傳的整數。
9.1 陣列 |sizeof() 9.1.3 陣列長度 int size = sizeof(x) ; x 是一個陣列。 變數 size 儲存 sizeof() 回傳的整數。 回傳值代表陣列 x 所能儲存的位元數目。 << 範例:陣列的變數設值    範例:陣列的大小 >>

13 |範例:陣列的大小 x 陣列所能儲存的位元:24 x 陣列所能儲存的 int 數量:6 9.1 陣列 9.1.3 陣列長度 3 2 1
9.1 陣列 |範例:陣列的大小 9.1.3 陣列長度 x 陣列所能儲存的位元:24 x 陣列所能儲存的 int 數量:6 3 2 1 << sizeof()    範例:陣列存取型態錯誤 >>

14 |範例:陣列存取型態錯誤 4198928,100,456,37814176 9.1 陣列 9.1.4 使用陣列的錯誤 2 1
9.1 陣列 |範例:陣列存取型態錯誤 9.1.4 使用陣列的錯誤 ,100,456, 2 1 << 範例:陣列的大小    索引超出範圍的錯誤 >>

15 |索引超出範圍的錯誤 001 int x[6] ; 002 x[0] = 100 ; 003 x[1] = 2000 ;
9.1 陣列 |索引超出範圍的錯誤 9.1.4 使用陣列的錯誤 001 int x[6] ; 002 x[0] = 100 ; 003 x[1] = 2000 ; 004 x[6] = 3000 ; 索引值 0~5 索引值超出範圍邊界值 5 的錯誤 #define 指令預先定義 3 2 1 << 範例:陣列存取型態錯誤    範例:定義陣列長度 >>

16 9.1 陣列 |範例:定義陣列長度 9.1.4 使用陣列的錯誤 << 索引超出範圍的錯誤    初始化陣列 >>

17 |初始化陣列 int x[3] ={10 ,20 ,50 }; int y[]={100,200,500} ;
9.1 陣列 |初始化陣列 9.1.5 初始化陣列 int x[3] ={10 ,20 ,50 }; 建立一個儲存 3 個元素的 int 型態陣列物件。 將 3 個整數值直接儲存至陣列。 int y[]={100,200,500} ; 宣告的陣列會根據指定的初始化內容,自行定義。 y 是一個長度等於 3 的陣列。 2 1 << 範例:定義陣列長度    範例:陣列的初始化 >>

18 |範例:陣列的初始化 x:10,20,50 y:100,200,500 9.1 陣列 9.1.5 初始化陣列 3 2 1
9.1 陣列 |範例:陣列的初始化 9.1.5 初始化陣列 x:10,20,50 y:100,200,500 3 2 1 << 初始化陣列    範例:陣列的初始化 >>

19 |範例:陣列的初始化 warning: excess elements in array initializer x:10,0,0
9.1 陣列 |範例:陣列的初始化 9.1.5 初始化陣列 x:10,0,0 d: , , y:100,200,300 7 6 5 warning: excess elements in array initializer 4 3 2 1 << 範例:陣列的初始化    陣列元素列舉 >>

20 |陣列元素列舉 100, 200, 300, 400, 500, 600, x[1] x[5] x[4] x[0] x[2] x[3]
9.1 陣列 |陣列元素列舉 9.1.6 陣列元素的列舉 x[1] x[5] x[4] x[0] x[2] x[3] 3 100, 200, 300, 400, 500, 600, 2 1 << 範例:陣列的初始化    範例:空陣列 >>

21 |範例:空陣列 2009198149,65536,575, 9.1 陣列 9.1.7 空陣列 2 1 << 陣列元素列舉
9.1 陣列 |範例:空陣列 9.1.7 空陣列 ,65536,575, 2 1 << 陣列元素列舉    二維陣列 >>

22 |二維陣列 int tdx[3][4] ; 9.2 多維陣列 9.2.1 二維陣列 << 空陣列
9.2 多維陣列 |二維陣列 9.2.1 二維陣列 int tdx[3][4] ; << 空陣列    二維陣列的定義 >>

23 |二維陣列的定義 int tdx[3][6] ; 9.2 多維陣列 9.2.1 二維陣列 << 二維陣列
9.2 多維陣列 |二維陣列的定義 9.2.1 二維陣列 int tdx[3][6] ; << 二維陣列    二維陣列的存取 >>

24 |二維陣列的存取 tdx[1][2] ; 9.2 多維陣列 9.2.1 二維陣列 << 二維陣列的定義
9.2 多維陣列 |二維陣列的存取 9.2.1 二維陣列 tdx[1][2] ; << 二維陣列的定義    範例:二維陣列示範 >>

25 |範例:二維陣列示範 學生A:英文(80),數學(80),國文(77),自然(100)
9.2 多維陣列 |範例:二維陣列示範 9.2.1 二維陣列 學生A:英文(80),數學(80),國文(77),自然(100) 學生B:英文(60),數學(88),國文(75),自然(70) 學生C:英文(75),數學(40),國文(95),自然(80) 3 2 1 << 二維陣列的存取    範例:透過巢狀迴圈存取二維陣列 >>

26 |範例:透過巢狀迴圈存取二維陣列 學生 A(英文,數學,國文,自然): 學生 B(英文,數學,國文,自然):
9.2 多維陣列 |範例:透過巢狀迴圈存取二維陣列 9.2.2 利用巢狀式迴圈列舉二維陣列 6 5 學生 A(英文,數學,國文,自然): 學生 B(英文,數學,國文,自然): 學生 C(英文,數學,國文,自然): 80,80,77,100, 60,88,75,70, 75,40,95,80, 4 3 2 1 << 範例:二維陣列示範    範例:二維陣列初始化 >>

27 |範例:二維陣列初始化 100,200,300 123,456,789 9.2 多維陣列 9.2.3 二維陣列的初始化
9.2 多維陣列 |範例:二維陣列初始化 9.2.3 二維陣列的初始化 100,200,300 123,456,789 << 範例:透過巢狀迴圈存取二維陣列    三維陣列結構 >>

28 |三維陣列結構 xtd[1][2][4] 9.2 多維陣列 9.2.3 三維陣列 << 範例:二維陣列初始化
9.2 多維陣列 |三維陣列結構 9.2.3 三維陣列 xtd[1][2][4] << 範例:二維陣列初始化    陣列參數語法 >>

29 |陣列參數語法 void dosome(xtype xarr[]) ; void dosome(xtype xarr[]) { }
9.3 陣列與函數參數的傳址呼叫 |陣列參數語法 void dosome(xtype xarr[]) ; void dosome(xtype xarr[]) { << 三維陣列結構    範例:函數的陣列引數 >>

30 |範例:函數的陣列引數 xarray[] 參數內容: 100,200,300,400,500,600, X[6]
9.3 陣列與函數參數的傳址呼叫 |範例:函數的陣列引數 X[6] xarray[] 參數內容: 100,200,300,400,500,600, 5 4 3 2 1 << 陣列參數語法    陣列:函數的陣列傳址呼叫 >>

31 |陣列:函數的陣列傳址呼叫 x[] 陣列元素:100,200,300,400,500,600, 呼叫 setArray() ...
9.3 陣列與函數參數的傳址呼叫 |陣列:函數的陣列傳址呼叫 X[6] 999 9 x[] 陣列元素:100,200,300,400,500,600, 4 8 呼叫 setArray() ... 3 7 x[] 陣列元素: 100,200,300,999,500,600, 2 6 1 5 << 範例:函數的陣列引數    字串語法 >>

32 |字串語法 char c[]="Good" ; c 陣列將會儲存 Good 字串 輸出字串必須指定 %s 格式碼 9.4 字串資料
9.4 字串資料 |字串語法 9.4.1 關於字串 char c[]="Good" ; c 陣列將會儲存 Good 字串 輸出字串必須指定 %s 格式碼 << 範例:函數的陣列傳址呼叫    範例:字串與字元 >>

33 Good Night and Good Luck
9.4 字串資料 |範例:字串與字元 9.4.1 關於字串 Good Night and Good Luck << 字串語法    指定字串長度 >>

34 |指定字串長度 char c[10]="GoodNight" ; 9.4 字串資料 9.4.2 宣告固定長度字元陣列
9.4 字串資料 |指定字串長度 9.4.2 宣告固定長度字元陣列 char c[10]="GoodNight" ; << 範例:字串與字元    範例:固定字元陣列字串 >>

35 |範例:固定字元陣列字串 c1:ABCDEFG c2:ABCDEFG l @ \ @ E轀w 9.4 字串資料
9.4 字串資料 |範例:固定字元陣列字串 9.4.2 宣告固定長度字元陣列 4 3 c1:ABCDEFG c2:ABCDEFG E轀w 2 1 << 指定字串長度    字串與字元 >>

36 |字串與字元 char c1[7]={'T','A','I','W','A','N','\0'} ; 001 char c4[7] ;
9.4 字串資料 |字串與字元 9.4.3 字串與字元 char c1[7]={'T','A','I','W','A','N','\0'} ; 001 char c4[7] ; 002 c4[0] = 'T' ; 003 … << 範例:固定字元陣列字串    範例:字元陣列與字串 >>

37 |範例:字元陣列與字串 c1:TAIWAN c2:TAIWAN c3:TAIWAN髯 蒔篤TAIWAN c4:TAIWAN 9.4 字串資料
9.4 字串資料 |範例:字元陣列與字串 9.4.3 字串與字元 c1:TAIWAN c2:TAIWAN c3:TAIWAN髯 蒔篤TAIWAN c4:TAIWAN << 字串與字元    gets() 與 puts() 函數 >>

38 |gets() 與 puts() 函數 gets(c) ; puts(c) ; pubs("Hello World")
9.4 字串資料 |gets() 與 puts() 函數 9.4.3 字串與字元 gets(c) ; 與 scanf() 類似,讀取使用者輸入的字串。 c 是一個特定長度的字元陣列變數用以承接使用者輸入的字串。 puts(c) ; pubs("Hello World") 提供輸出字串的功能。 << 範例:字元陣列與字串    範例:字串存取 >>

39 |範例:字串存取 WELCOME C Hello C 9.4 字串資料 9.4.4 gets() 與 puts() 4 3 2 1
9.4 字串資料 |範例:字串存取 9.4.4 gets() 與 puts() WELCOME C Hello C 4 3 2 1 << gets() 與 puts() 函數    範例:scanf() 的空白字串讀取 >>

40 |範例:scanf() 的空白字串讀取 Welcome C Welcome 9.4 字串資料 9.4.4 gets() 與 puts() 2
9.4 字串資料 |範例:scanf() 的空白字串讀取 9.4.4 gets() 與 puts() Welcome C Welcome 2 1 << 範例:字串存取    字串二維陣列 >>

41 char sa[4][10] = {"AAA","BBB","CCC","DDD"} ;
9.5 字串陣列 |字串二維陣列 char sa[4][10] = {"AAA","BBB","CCC","DDD"} ; sa 是 4x10 的二維陣列。 第 1 個數值 4 儲存的串數目。 第2 個數值 10 儲存字串的長度。 << 範例:scanf() 的空白字串讀取    範例:字串存取 >>

42 |範例:字串存取 9.4 字串資料 9.4.3 gets() 與 puts() << 字串二維陣列
9.4 字串資料 |範例:字串存取 9.4.3 gets() 與 puts() << 字串二維陣列    strlen() 函數 >>

43 |strlen() 函數 size_t strlen(const char *s) s 為測試長度的字串,而回傳值代表字串的長度。
9.6 字串函數 |strlen() 函數 9.6.1 取得字串長度 size_t strlen(const char *s) s 為測試長度的字串,而回傳值代表字串的長度。 size_t 型態的數值,是一個無號的整數。 << 範例:字串存取    範例:取得字串長度 >>

44 |範例:取得字串長度 字串長度:13 9.6 字串函數 9.6.1 取得字串長度 2 1 << strlen() 函數
9.6 字串函數 |範例:取得字串長度 9.6.1 取得字串長度 字串長度:13 2 1 << strlen() 函數    大小寫轉換函數 >>

45 |大小寫轉換函數 char *strlwr(char *str) ; char *strupr(char *str) ;
9.6 字串函數 |大小寫轉換函數 9.6.2 轉換大小寫 char *strlwr(char *str) ; char *strupr(char *str) ; strlwr() 將參數 str 的組成字元全部轉換成為小寫。 strupr() 則將參數 str 的組成字元全部轉換成為大寫。 << 範例:取得字串長度    範例:轉換字串大小寫 >>

46 |範例:轉換字串大小寫 大寫:HELLO WORLD ! 小寫:hello world ! 9.6 字串函數 9.6.2 轉換大小寫 3 2
9.6 字串函數 |範例:轉換字串大小寫 9.6.2 轉換大小寫 大寫:HELLO WORLD ! 小寫:hello world ! 3 2 1 << 大小寫轉換函數    搜尋字串函數 – strcspn >>

47 |搜尋字串函數 - strcspn size_t strcspn( const char *s1, const char *s2);
9.6 字串函數 |搜尋字串函數 - strcspn 9.6.3 搜尋子字串 size_t strcspn(  const char *s1, const char *s2); s1 為所要搜尋的主字串。 s2 為搜尋條件。 回傳的結果值表示 s2 中任何一個字元第一次出現在 s1 字串中的索引位置。 << 範例:轉換字串大小寫    範例:搜尋字元 >>

48 出現 HELLO 任一字元的第一個索引位置:4
9.6 字串函數 |範例:搜尋字元 9.6.3 搜尋子字串 4 3 出現 HELLO 任一字元的第一個索引位置:4 2 1 << 搜尋字串函數 - strcspn    範例:字串存取 >>

49 char *strcpy(char *s1,const char *s2);
9.6 字串函數 |範例:字串存取 9.6.4 複製與串字串 char *strcpy(char *s1,const char *s2); 字串常值 s2 的內容,複製到 s1 ,並且回傳 s1 的內容 char *strcat(char *s1,const char *s2); s1 與 s2 是兩個要合併的字串。 s2 的值被合併至 s1 ,最後回傳合併後的字串。 << 範例:搜尋字元    範例:字串存取 >>

50 |範例:字串存取 原始字串:ABCDEFGH 複製字串:ABCDEFGH 回傳字串:ABCDEFGH 9.6 字串函數
9.6 字串函數 |範例:字串存取 9.6.4 複製與串字串 7 6 5 4 3 2 1 原始字串:ABCDEFGH 複製字串:ABCDEFGH 回傳字串:ABCDEFGH << 範例:字串存取    範例:字串存取 >>

51 |範例:字串存取 原始字串:ABCDEFGH 輸入欲合併字串: 合併結果:ABCDEFGHXYZ XYZ 9.6 字串函數
9.6 字串函數 |範例:字串存取 9.6.4 複製與串字串 6 5 原始字串:ABCDEFGH  輸入欲合併字串: 合併結果:ABCDEFGHXYZ 4 XYZ 3 2 1 << 範例:字串存取    |


Download ppt "|09 陣列."

Similar presentations


Ads by Google