0
点赞
收藏
分享

微信扫一扫

【C++从入门到熟练练习题】006 数组


 

一、前言

1、上节课回顾

上一次给大家讲了C++表达式与运算符优先级,表达式和优先级是很重要的内容,这回贯穿未来C++的学习中,当然如果优先级你不太确定,可以使用()来控制优先级,但是结合顺序就一定要掌握啦。

想要学好,最好的方式就是多想,多练习。

今天主要给大家讲的就是数组,数组很重要,很重要,有些内容比较简单,但是有些也比较难,因为是入门开始,我们不会说太难的。

2、上节思考题答案

已知a = 12,b = 3。

分析下面表达式的值,以及a和b的值:

b||a-4&&a/b

b&&a*b&&a+b

a+b/(a+b)&&b++

a+=b*=a-=b/=a-b

答案如下:

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

 

二、重点知识介绍

1、数组概念

1.概念

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

2.数组元素性质

(1)数目固定。

(2)类型相同。

(3)排列有序。

3.数组特点

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

 

2、数组操作

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++从入门到熟练练习题】006 数组_数组声明

 

3.访问数组元素

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

for (int i = 0; i < 5; i++)
{
cout << array1[i] << endl;

}

3、n维数组

1.一维数组

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

int array[10];

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

 

2.二维数组

含有两对中括号,如下:

int array4[2][3];

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

array4[2][3]

第一列

第二列

第三列

第一行

array4[0][0]

array4[0][1]

array4[0][2]

第二行

array4[1][0]

array4[1][1]

array4[1][2]

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

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];

举报

相关推荐

0 条评论