C++学了一段时间了,现在在整理笔记,作为备份和分享,会一点点的连载上来,如果此时的你在看这篇文章,而且想学C/C++,本篇系列文章或许能帮助你打基础,为了方便大家,代码我也直接码在上面了,如果复制粘贴都懒得做的话,过段时间我会把整理好的代码打包传到下载里面。
第一部分 HelloWorld的起点
第二部分 初探数据类型(一)
第三部分 初探数据类型(二)
第四部分 认识运算符(一)
第五部分 认识运算符(二)
第六部分 理清思路,写好逻辑结构(一)
第七部分 理清思路,写好逻辑结构(二)
第八部分 理清思路,写好逻辑结构(三)
第九部分 数据处理神器之数组(一)
第十部分 数据处理神器之数组(二)
第十一部分 写好函数,学会功能复用(一)
第十二部分 写好函数,学会功能复用(二)
所谓数组,就是一个集合,里面存放了相同类型的数据元素
特点1: 数组中的每个数据元素都是相同的数据类型
特点2: 数组是由连续的内存位置组成的
一位数组的定义方式有三种:
数据类型 数组名[数组长度];
数据类型 数组名[数组长度] = {值1, 值2, ...};
数据类型 数组名[] = {值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开始索引
一位数组数组名用途:
示例:
#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;
}