往期教学
前言
正文
数组
什么是数组
数组是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组
什么是一维数组
一维数组,是由数字组成的以单纯的排序结构排列的结构单一的数组,是计算机中最基本的数组。当数组中每个元素都只带有一个下标时,称这样的数组为一维数组。数组是计算机编程中的重要概念,运用数组可以方便地处理大规模的数据
什么是二维数组
二维数组本质上是以数组作为数组元素的数组,即“数组的数组”
此外,还有其他数组如多维数组等等,因其不常用,故在此不作详解
在C++中定义一维数组
数据类型 数组名[长度]={元素1,元素2,元素3,......元素n};
在C++中定义二维数组
数据类型 数组名[行长度][列长度]={元素1,元素2,元素3
元素4,元素5,元素6
......
元素n};
注:二维数组同样可以和一维数组一样初始化,但二维数组普遍不手动初始化,而是双层循环输入数组内的元素
在C++中使用一维数组
Code
#include<iostream>
using namespace std;
int main()
{
int arr[10]={1,2,3,4,5,6,7,8,9};
cout<<arr[0]<<endl;
cout<<arr[5]<<endl;
cout<<arr[8]<<endl;
return 0;
}
运行结果
1
6
9
从运行结果中,我们可以清晰的了解到,数组的下标正常是从0开始的,不过你也可以通过手动输入元素来改变数组的起始位置
注意:在开数组空间时,假定数组里有n个数,我们最好要开n+1的数组空间,这样能够有效地防止数据溢出的情况
在C++中手动输入一维数组中的元素
Code
#include<iostream>
using namespace std;
int main()
{
int arr[10]={};
for(int i=1;i<=9;i++)
{
cin>>arr[i];
}
cout<<arr[1]<<endl;
cout<<arr[6]<<endl;
cout<<arr[9]<<endl;
return 0;
}
运行结果
1 2 3 4 5 6 7 8 9
1
6
9
可以看到,在这段代码中我们成功修改了数组的起始位置
在C++中使用二维数组
注:由于直接在程序内初始化二维数组的情况较少,所以在此不作详解
Code
#include<iostream>
using namespace std;
int main()
{
int arr[10][10]={};
int len=9;
for(int i=1;i<=3;i++)
{
for(int j=1;j<=3;j++)
{
cin>>arr[i][j];
}
}
cout<<arr[1][1]<<endl;
cout<<arr[2][3]<<endl;
cout<<arr[3][3]<<endl;
return 0;
}
运行结果
1 2 3
4 5 6
7 8 9
1
6
9
一般情况下,我们无论是在预估一维数组还是二维数组的空间时,都要把空间留得足够大,避免题目上出现极端数据
在程序中,第一个中括号内存放的是元素的行下标,第二个中括号中存放的是元素的列下标,两者切不可混淆
字符串
字符串是什么
字符串是编程中用于表示文本或字符序列的数据类型,在计算机科学中是非常常见的数据类型,它们被广泛应用于各种场景,如文本处理,数据解析,网络通信等
在C++中定义字符串
方法一:char数组
Code
#include<iostream>
using namespace std;
int main()
{
char c[101]="Hello,World!";
int len=sizeof(c);
for(int i=0;i<len;i++)
{
cout<<c[i];
}
cout<<endl;
return 0;
}
运行结果
Hello,World!
可以看到,在没有输入数据的情况下,char数组和普通一维数组一样,下标都是从0开始,同样的,我们也可以通过手动输入来改变这一点,在此不另作演示
注:这里的sizeof是内置函数,用来求出字符数组c的长度(其实是字节数,但由于每个char变量占用1byte的内存空间,所以就相当于求字符数组的长度)
方法2:string
这个方法有一点要注意:加上头文件<string><cstring><string.h>三者中的任一头文件,在之前的教学中我也强调过
Code
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s="Hello,World!";
cout<<s<<endl;
return 0;
}
运行结果
Hello,World!
不难看出,这个方法更加简单,省去了求长度的步骤,直接将字符串s作为一个整体输出,省去了很多麻烦
补充:string求长度:变量名.size()(需要加头文件cstring)
在C++中手动输入string类的字符串
Code
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
string s;
cin>>s;
cout<<s<<endl;
return 0;
}
运行结果
Hello,World!
Hello,World!
可以看到,string类的字符串要比char数组简洁不少,在大多数情况下,两者可以相互转换,但在特殊情况下,就只能用string类字符串了
后记
本人创作不易,后续有时间的时候我将第一时间更新,不知可否要到您的一个赞和关注,感激不尽!