C++学习笔记16——一维数组的定义,数组名,练习

it2024-10-03  38

数组

概述: 所谓数组,就是一个集合,里面存放了相同类型的数据元素

特点1:数组中每个元素都是相同的数据类型 特点2:数组是由连续的内存位置组成的

一维数组——一维数组的定义方式

一维数组定义的三种方式: 1.数据类型 数组名[数组长度]; 2.数据类型 数组名[数组长度] = {值1,值2...}; 3.数据类型 数组名[ ] = {值1,值2...}; [ ]里面的数字为下标,可以通过下标来访问数组中的元素 示例:

#include <iostream> using namespace std; int main() { //数组 //三种定义方式 //1. int arr[5]; //给数组中的元素赋值 //数组元素的下标是从0开始索引的 arr[0] = 10; arr[1] = 20; arr[2] = 30; arr[3] = 40; arr[4] = 50; //访问数组中的元素 cout << arr[0] << " "; cout << arr[1] << " "; cout << arr[2] << " "; cout << arr[3] << " "; cout << arr[4] << " "; cout << endl; //2. int arr2[5] = { 10,20,30,40,50 };//如果初始化数据是没有全部填写,会用0来填写剩余数据 cout << arr2[0] << " "; cout << arr2[1] << " "; cout << arr2[2] << " "; cout << arr2[3] << " "; cout << arr2[4] << " "; cout << endl; //用for循环来输出数组中的元素 for (int i = 0; i < 5; i++) { cout << arr2[i] << " "; } cout << endl; //3. int arr3[] = { 10,20,30,40,50,60,70,80,90 };//定义数组时,必须有初始的长度 for (int i = 0; i < 9; i++) { cout << arr3[i] << " "; } cout << endl; system("pause"); return 0; }

运行结果:

一维数组的数组名

1.可以统计整个数组在内存中的长度 2.可以获取数组在内存中的首地址 示例:

#include <iostream> using namespace std; int main() { //数组名的用途 //1.可以统计整个数组在内存中的大小 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; //2.可以获取数组在内存中的首地址 cout <<" 数组的首地址为:" << arr << endl;//可以在arr前加(int)来把地址转化为十进制数 cout << " 第一个元素的地址为:" <<&arr[0] << endl; cout << " 第二个元素的地址为:" << &arr[1] << endl; //数组名是常量,不可以进行赋值操作 //arr = 0 是进行不了的 system("pause"); return 0; }

运行结果:

一维数组练习案例

案例1 五只小猪称体重 案例描述:在一个数组中记录了5只小猪的体重,如:int arr[5] = {300,350,200,400,250}; 找出并打印最重的小猪体重 示例:

#include <iostream> using namespace std; int main() { //1.创建5只小猪的体重 int arr[5] = { 300,350,200,400,250 }; //2.从数组中找到最大值 int max = 0; for (int i = 0; i < 5; 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() { //数组元素的互换 //1.创建数组 int arr[5] = { 1,3,2,5,4 }; //2.实现逆置 //记录起始下标 int start = 0; //记录结束下标 int end = sizeof(arr) / sizeof(arr[0]) - 1; //互换 //起始++ 结束—— //循环 int temp = 0; for (; 1; ) { temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; if (start >= end) break; } for (int i = 0; i < 5; i++) { cout << arr[i] << endl; } system("pause"); return 0; }

或者

#include <iostream> using namespace std; int main() { //数组元素的互换 //1.创建数组 int arr[5] = { 1,3,2,5,4 }; //2.实现逆置 //记录起始下标 int start = 0; //记录结束下标 int end = sizeof(arr) / sizeof(arr[0]) - 1; //互换 //起始++ 结束—— //循环 int temp = 0; while(start < end ) { temp = arr[start]; arr[start] = arr[end]; arr[end] = temp; start++; end--; } for (int i = 0; i < 5; i++) { cout << arr[i] << endl; } system("pause"); return 0; }

运行结果

最新回复(0)