各位同学大家好,这次我们来学数组。

1.什么是数组?

数组就是一个类型的值的集合。C++中定义类型的格式就是在变量名后跟[],比如 int num[]; 代表定义了一个叫做num的整型数组。

数组是有长度的,在[]中加入大于0的数字,这个数字就是数组的长度,数组长度在定义之后,无法改变。比如int num[10]; 代表定义了一个叫做10的长度为10的整型数组,这个数组里能存储10个整型数字。

2.数组的初始化

数组的初始化是指在定义了数组之后首次给数组赋值。初始化有很多种方式。

1 //下面这行语句定义了一个叫做num的整型数组,数组长度为5,{}中为数组的5个初始值:1,2,3,4,5
2 int num[5] = {1, 2, 3, 4, 5};
3  
4 //下面这行语句只给数组的第一个数赋值了1,剩余四个数字均会被赋值为0
5 int num[5] = {1};

3.数组赋值

数组的赋值方式有两种,一种是上面的初始化,另一种是直接对数组中的某一个位置的元素进行赋值。比如有一个num数组,要将数组的第三个数赋值为5,可以用 num[2]=5; 

这里要注意的是,数组的第一个数(也可以叫下标)是从0开始的,在后边的学习中,可以发现其实计算机中的很多东西,都是从0开始的。

4.访问数组

在数组里储存了数据之后,可以通过[n]来访问。

那么如果要访问数组里的所有元素怎么处理呢?可以使用循环。示例如下:

1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int num[5] = {4, 5, 6, 7, 8};
 6     for (int i = 0; i < 5; i++)
 7     {
 8         cout << num[i];
 9     }
10     getchar();
11     return 1;
12 }

上面的例子是声明了一个大小为5的数组,数组里存了4,5,6,7,8五个数,然后通过循环依次输出。

思考一下

  • 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家莱昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、...,简单来说,其实就是前两个数相加,得到的和为后一个数,请将斐波那契数列前十个数存入数组并输出。

1 #include <iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int num[10] = {0, 1};
 6     for (int i = 2; i < 10; i++)
 7     {
 8         num[i] = num[i - 1] + num[i - 2];
 9     }
10     for (int i = 0; i < 10; i++)
11     {
12         cout << num[i] << " ";
13     }
14  
15     getchar();
16     return 1;
17 }