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;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《算法笔记》是由胡凡编写的一本关于算法学习的教材,它最初以C/C++为主要编程语言。这本教材主要面向想要学习算法的初学者,以及希望进一步提升算法能力的人群。 《算法笔记》的内容广泛而且深入,涵盖了很多算法的基础知识和主要思想,如递归、排序、查找、图论、动态规划等。通过学习这本教材,读者可以掌握这些算法的基本原理和实现方法,提高解决实际问题的能力。 该教材有几个特点:首先,它提供了很多例子和习题,帮助读者巩固所学的知识;其次,它介绍了很多常用的数据结构,如数组、链表、栈、队列等,读者可以通过学习这些数据结构更好地理解和应用算法;最后,它还介绍了一些高级主题,如高级数据结构、算法优化等,这些内容对于进一步提升算法水平非常有帮助。 《算法笔记》是一本入门级的教材,因此在阅读时需要一些基本的编程知识和逻辑思维能力。该教材的语言简洁明快,适合作为学习参考书,同时也可以作为算法竞赛的辅助教材。 总而言之,《算法笔记》是一本很好的算法学习教材,它以C/C++为编程语言,全面介绍了算法的基本知识和常用方法,适合想要学习算法的初学者。无论是学术研究还是实际应用,阅读《算法笔记》都能提升算法能力,并为进一步学习和应用算法打下坚实的基础。 ### 回答2: 《算法笔记 胡凡 c/c 快速入门pdf》是一本介绍算法和C/C++编程语言的入门书籍。该书的作者是胡凡,它主要规划了算法的学习路径以及基本的C/C++编程语言。这本书适合初学者快速入门,对于想要系统学习算法和C/C++编程的人来说是一本不错的选择。 这本书的内容非常系统和全面。它以算法和数据结构为基础,包括基本排序、查找、图论等算法的介绍和实践,让读者能够快速掌握这些算法的原理和实现方法。同时,它还介绍了C/C++语言的基础知识和编程技巧,帮助读者理解和运用这些知识。 书中每章都有一些练习题,帮助读者巩固所学的知识。同时,每个章节末尾还提供了一些进阶的题目和参考答案,供读者深入学习和自我检测。这样的设计能够帮助读者更好地理解和掌握所学的内容。 总的来说,《算法笔记 胡凡 c/c 快速入门pdf》是一本很好的算法和C/C++入门书籍。它能够帮助读者快速了解算法和数据结构的基础知识,并学会使用C/C++语言进行编程。无论是对于想要入门算法和C/C++编程的初学者,还是已经有一定基础的读者,这本书都是一个很好的选择。 ### 回答3: 《算法笔记:胡凡C/C++快速入门PDF》是一本很棒的入门算法书籍。这本书主要介绍了常用的数据结构与算法,并通过C/C++语言来实现这些算法。 首先,这本书非常适合算法初学者。它从基础的数据结构开始讲解,如数组、链表、栈和队列,然后逐渐引入更复杂的数据结构,如二叉树、图和堆。此外,书中还介绍了常用的排序和查找算法,如冒泡排序、快速排序、二分查找等。每个算法都配有具体的代码实现和详细的解释,帮助读者理解算法的原理和应用。 其次,这本书的学习资料丰富。书中提供了很多例题和习题,读者可以通过实践来巩固所学的知识。此外,书中还介绍了一些常见的算法优化技巧和设计思路,提供了一些高效解决问题的方法和思考方式。 最后,这本书的编写风格简明易懂。作者通过清晰的语言和简洁的代码,将复杂的算法问题简化为易于理解的部分。不论是对于算法初学者还是对于有一定编程基础的读者,这本书都是一本很好的学习资料。 总而言之,《算法笔记:胡凡C/C++快速入门PDF》是一本很好的入门算法书籍。它适合初学者学习和理解常用的数据结构与算法,通过具体的代码实现和详细的解释帮助读者掌握算法的原理和应用。无论是编程初学者还是有一定基础的读者,都可以从这本书中获得丰富的知识和实践经验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值