C 程式設計基礎(5) 陣列

2021-10-06 13:49:14 字數 3349 閱讀 6326

所謂陣列,就是乙個集合,裡面存放了相同型別的資料元素

**特點1:**陣列中的每個資料元素都是相同的資料型別

**特點2:**陣列是由連續的記憶體位置組成的

5.2.1 一維陣列定義方式

一維陣列定義的三種方式:

資料型別 陣列名[ 陣列長度 ];資料型別 陣列名[ 陣列長度 ] = ;資料型別 陣列名[ ] = ;

示例

int main() ;

//如果{}內不足10個資料,剩餘資料用0補全

int score2[10] = ;

//逐個輸出

//cout << score2[0] << endl;

//cout << score2[1] << endl;

//乙個乙個輸出太麻煩,因此可以利用迴圈進行輸出

for (int i = 0; i < 10; i++)

//定義方式3

//資料型別 陣列名 = ;

int score3 = ;

for (int i = 0; i < 10; i++)

system("pause");

return 0;

}

總結1:陣列名的命名規範與變數名命名規範一致,不要和變數重名

總結2:陣列中下標是從0開始索引

5.2.2 一維陣列陣列名

一維陣列名稱的用途

可以統計整個陣列在記憶體中的長度

可以獲取陣列在記憶體中的首位址

示例:

int main() ;

cout << "整個陣列所佔記憶體空間為: " << sizeof(arr) << endl;

cout << "每個元素所佔記憶體空間為: " << sizeof(arr[0]) << endl;

cout << "陣列的元素個數為: " << sizeof(arr) / sizeof(arr[0]) << endl;

//2、可以通過陣列名獲取到陣列首位址

//arr = 100; 錯誤,陣列名是常量,因此不可以賦值

system("pause");

return 0;

}

注意:陣列名是常量,不可以賦值

總結2:對陣列名進行sizeof,可以獲取整個陣列佔記憶體空間的大小

5.2.3 氣泡排序

作用:最常用的排序演算法,對陣列內元素進行排序

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素做同樣的工作,執行完畢後,找到第乙個最大值。

重複以上的步驟,每次比較次數-1,直到不需要比較

示例:將陣列 進行公升序排序

int main() ;

for (int i = 0; i < 9 - 1; i++)

}} for (int i = 0; i < 9; i++)

system("pause");

return 0;

}

二維陣列就是在一維陣列上,多加乙個維度。

5.3.1 二維陣列定義方式

二維陣列定義的四種方式:

資料型別 陣列名[ 行數 ][ 列數 ];資料型別 陣列名[ 行數 ][ 列數 ] = , };資料型別 陣列名[ 行數 ][ 列數 ] = ;資料型別 陣列名[ ][ 列數 ] = ;

建議:以上4種定義方式,利用第二種更加直觀,提高**的可讀性

示例:

int main() 

cout << endl;

} //方式2

//資料型別 陣列名[行數][列數] = , };

int arr2[2][3] =

, }; //方式3

//資料型別 陣列名[行數][列數] = ;

int arr3[2][3] = ;

//方式4

//資料型別 陣列名[列數] = ;

int arr4[3] = ;

system("pause");

return 0;

}

總結:在定義二維陣列時,如果初始化了資料,可以省略行數

5.3.2 二維陣列陣列名

示例:

int main() ,

};cout << "二維陣列大小: " << sizeof(arr) << endl;

cout << "二維陣列一行大小: " << sizeof(arr[0]) << endl;

cout << "二維陣列元素大小: " << sizeof(arr[0][0]) << endl;

cout << "二維陣列行數: " << sizeof(arr) / sizeof(arr[0]) << endl;

cout << "二維陣列列數: " << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;

//位址

system("pause");

return 0;

}

總結2:對二維陣列名進行sizeof時,可以獲取整個二維陣列占用的記憶體空間大小

5.3.3 二維陣列應用案例考試成績統計:

案例描述:有三名同學(張三,李四,王五),在一次考試中的成績分別如下表,請分別輸出三名同學的總成績語文

數學英語

張三100

100100

李四90

50100

王五60

7080

int main() ,

, ,

}; string names[3] = ;

for (int i = 0; i < 3; i++)

cout << names[i] << "同學總成績為: " << sum << endl;

} system("pause");

return 0;

}

C 基礎程式設計 05 陣列

5.3 二維陣列 概念 陣列就是乙個集合,裡面存放了相同型別的資料元素 特點 1 陣列中每個資料元素都是相同的資料型別。2 陣列是由連續的記憶體位置組成的。3 可以通過下標訪問陣列中的元素 1 資料型別 陣列名 陣列長度 2 資料型別 陣列名 陣列長度 如果給定的值的數量小於陣列長度,那麼使用0進行...

C 基礎語法入門 5 陣列

5.3 二維陣列 黑馬程式設計師匠心之作 c 教程從0到1入門程式設計 學習筆記 目標 對c 有初步了解,能夠有基礎程式設計能力 案例 通訊錄管理系統 特點一 陣列,就是乙個集合,裡面存放了相同型別的資料元素 特點二 陣列是由連續的記憶體位置組成的 定義有三種方式 資料型別 資料名 陣列長度 int...

C 基礎語法入門 5 陣列

2.二維陣列 所謂陣列,就是乙個集合,裡面存放了相同型別的資料元素。特點1 陣列中的每個資料元素都是相同的資料型別 特點2 陣列是由連續的記憶體位置組成的 資料型別 陣列名 陣列長度 資料型別 陣列名 陣列長度 資料型別 陣列名 可以通過下標來訪問陣列中的元素,從0開始索引 int arr 5 fo...