Advertisement

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)

还没有任何评论哟~