01

前言


上期回顾

       上一次给大家讲了C++表达式与运算符优先级,表达式和优先级是很重要的内容,这回贯穿未来C++的学习中,当然如果优先级你不太确定,可以使用()来控制优先级,但是结合顺序就一定要掌握啦。
        想要学好,最好的方式就是多想,多练习。
      今天主要给大家讲的就是数组,数组很重要,很重要,有些内容比较简单,但是有些也比较难,因为是入门开始,我们不会说太难的。

上期思考题答案

b || a - 4 && a / b       = 1   , a = 12 , b = 3

b && a * b && a + b   = 1   , a = 12 , b = 3

a+b/(a + b) && b++   = 1   , a = 12 , b = 4

a+=b*=a-=b/=a - b    = 12 , a = 12 , b = 0 

02

本期看点

数组概念

       C++  支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

数组元素性质

    (1)数目固定。

    (2)类型相同。

    (3)排列有序。

数组特点

      所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,下标为0,最高的地址对应最后一个元素,下标为n-1(数组长度为n)

数组操作

1.声明数组

   在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量,如下:

type arrayName [ arraySize ];

   注意:arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。

  示例如下:

int array[10];

2.初始化

   数组可以可以逐个初始化,也可以使用一个初始化语句进行初始化。示例代码如下:

int array1[5] = { 1,2,3,4,5 }; //直接初始化

   int array2[5]; //逐个初始化

   for (int i = 0; i < 5; i++) {

       array2[i] = i;

   }

注意:

      (1)大括号 { } 之间的值的数目不能大于在数组声明时在方括号 [ ] 中指定的元素数目。

       (2)如果省略掉了数组的大小,数组的大小则为初始化时元素的个数。

    (3)使用一个初始化语句初始化整型数组,若赋值个数小于数组长度,未赋初值的,默认为0。


         对于(3),如果定义下面这个数组:

int array3[5] = { 1,2,3,4 };

        则执行结果为:

【编程语言-C++】第七讲 数组_c++


3.访问数组元素

   数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。遍历数组,逐个访问数据元素示例如下:

for (int i = 0; i < 5; i++)

   {

       cout << array1[i] << endl;

   }


n维数组

1.一维数组

        只含有一对中括号,如下:

int array[10];

       一维数组简单,没有太多需要讲的东西,后面有用到的地方再说明。

2.二维数组

       含有两对中括号,如下:

int array4[2][2];

 
        这个二维数组的空间排布为:

array4[0][0]

第一列

第二列

第一行

array4[0][0]

array4[0][1]

第二行

array4[1][0]

array4[1][1]


      二维数组有两种赋值方法,一种是逐步赋值,需要用到循环嵌套,另一种方法就是直接赋值:

int array4[2][3] = { {1,2},{3} };

      大括号嵌套小括号,第二层的大括号表示一行,大括号里面的数据表示列,从前往后,如果没有数值,则默认为0。即上面这个数组为:


array4[2][3]

第一列

第二列

第三列

第一行

1

2

0

第二行

3

0

0


3.n维数组

   通过一维数组和二维数组,我们能知道,对于n维数组,有n对中括号,一般最常见到三维,三维数组示例如下:

  int array5[5][2][3];