C/C++學習筆記 基礎入門系列(九)

C/C++基礎入門系列

寫在前面的話

C++學了一段時間了,現在在整理筆記,作爲備份和分享,會一點點的連載上來,如果此時的你在看這篇文章,而且想學C/C++,本篇系列文章或許能幫助你打基礎,爲了方便大家,代碼我也直接碼在上面了,如果複製粘貼都懶得做的話,過段時間我會把整理好的代碼打包傳到下載裏面。

目錄

第一部分 HelloWorld的起點
第二部分 初探數據類型(一)
第三部分 初探數據類型(二)
第四部分 認識運算符(一)
第五部分 認識運算符(二)
第六部分 理清思路,寫好邏輯結構(一)
第七部分 理清思路,寫好邏輯結構(二)
第八部分 理清思路,寫好邏輯結構(三)
第九部分 數據處理神器之數組(一)
第十部分 數據處理神器之數組(二)
第十一部分 寫好函數,學會功能複用(一)
第十二部分 寫好函數,學會功能複用(二)

第九部分 數據處理神器之數組(一)

五、數組

5.1 概述

所謂數組,就是一個集合,裏面存放了相同類型的數據元素

特點1: 數組中的每個數據元素都是相同的數據類型

特點2: 數組是由連續的內存位置組成的

5.2 一維數組

5.2.1 一維數組的定義方式

一位數組的定義方式有三種:

  1. 數據類型 數組名[數組長度];
  2. 數據類型 數組名[數組長度] = {值1, 值2, ...};
  3. 數據類型 數組名[] = {值1, 值2, ...};

示例:

# include<iostream>
using namespace std;

int main() {
	
	// 定義1
	/*int arr[5];
	arr[0] = 10;
	arr[1] = 20;
	arr[2] = 30;
	arr[3] = 40;
	arr[4] = 50;*/

	// 定義2
	//int arr[5] = { 10, 20, 30, 40, 50 };
	//int arr2[5] = { 10, 20 }; // 初始化沒全部填寫,則補零

	// 定義3
	int arr[] = { 10, 20, 30, 40, 50 };
	// 定義數組時候,必須有初始長度
	
	// 訪問1
	/*cout << arr[0] << endl;
	cout << arr[1] << endl;
	cout << arr[2] << endl;
	cout << arr[3] << endl;
	cout << arr[4] << endl;*/

	// 訪問2
	for (int i = 0; i <= 4; i++) {
		cout << arr[i] << endl;
	}
	/*cout << endl;
	for (int i = 0; i <= 4; i++) {
		cout << arr2[i] << endl;
	}*/


	system("pause");
	return 0;
}

總結1:數組名命名規範與變量名一致,不要和變量重名

總結2:數組中下標是從0開始索引

5.2.2 一維數組數組名

一位數組數組名用途:

  • 可以統計整個數組在內存中的長度
  • 可以獲取數組在內存中的首地址

示例:

#include<iostream>
using namespace std;

int main() {

	int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

	cout << "整個數組佔用內存空間:" << sizeof(arr) << endl;
	cout << "每個元素佔用內存空間:" << sizeof(arr[0]) << endl;
	cout << "數組中元素個數爲:" << sizeof(arr)/sizeof(arr[0]) << endl;

	cout << "數組的首地址爲:" << (int)arr << endl;
	cout << "數組中第一個元素首地址爲:" << (int)&arr[0] << endl;
	cout << "數組中第二個元素首地址爲:" << (int)&arr[1] << endl;

	//arr = 100;	// 錯誤,數組名是常量,不可進行賦值

	system("pause");
	return 0;
}

練習案例1: 5只小豬稱重

案例描述:

在一個數組中記錄了五隻小豬的體重,如:int arr[5] = {300, 350, 400, 200, 250};

找出並打印最重小豬體重

#include<iostream>
using namespace std;

int main() {

	int arr[5] = { 300, 350, 400, 200, 250 };

	int max = 0;

	for (int i = 0; i <= sizeof(arr) / sizeof(arr[0]); i++) {
		if (arr[i] >= max) {
			max = arr[i];
		}
	}
	cout << "最重的爲:" << max << endl;

	system("pause");
	return 0;
}

練習案例2: 數組元素逆置

案例描述: 請聲明一個5個元素的數組,並且將元素逆置(例如:原來:1, 2, 3, 4, 5,則結果爲:5, 4, 3, 2,1)

#include<iostream>
using namespace std;

int main() {

	int arr[] = { 1, 2, 3, 4, 5 };

	for (int i = 0; i <= sizeof(arr) / sizeof(arr[0])-1; i++) {
		cout << arr[i] << endl;
	}

	//cout << sizeof(arr) / sizeof(arr[0]) / 2 + 1 << endl;
	//cout << (sizeof(arr) / sizeof(arr[0]) - 1) / 2 + 1 << endl;

	for (int i = 0; i <= (sizeof(arr) / sizeof(arr[0])-1 )/2; i++) {
		int temp = arr[i];
		arr[i] = arr[sizeof(arr) / sizeof(arr[0])-1 - i];
		arr[sizeof(arr) / sizeof(arr[0])-1 - i] = temp;
	}

	for (int i = 0; i <= sizeof(arr) / sizeof(arr[0])-1; i++) {
		cout << arr[i] << endl;
	}

	//for (int i = 0; i <= 4; i++) {
	//	cout << arr[i] << endl;
	//}

	//int start = 0;	// 起始下標
	//int end = sizeof(arr) / sizeof(arr[0]) - 1;

	//while (start < end) {
	//	// 交換
	//	int temp = arr[start];
	//	arr[start] = arr[end];
	//	arr[end] = temp;

	//	start++;
	//	end--;
	//}

	//for (int i = 0; i <= 4; i++) {
	//	cout << arr[i] << endl;
	//}


	system("pause");
	return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章