C++学习笔记16——一维数组的定义,数组名,练习
发布时间
阅读量:
阅读量
数组
概述:
所谓数组,就是一个集合,里面存放了相同类型的数据元素
特点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)
还没有任何评论哟~
