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
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
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
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
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;
}

你可能感兴趣的:(C/C++(连载中),c++,编程语言,c)