C++程序设计之数组
1、数组的定义:
在程序设计中,为了处理方便,而把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。
类型说明符 数组名[常量表达式],……;
2、定义数组时需要注意6点:
1、数组的类型是指数组元素的类型。同一个数组的所有元素数据类型都相同。
2、数组名的书写规则应符合标识符的书写规定。
3、数组名不能与其他变量名相同。
4、方括号中常量表达式表示数组元素的个数。其数组元素的下标从0开始计算。
5、不能在方括号中用变量来表示元素的个数,但是可以是符号常量或常量表达式。
6、允许在同一个类型说明中,说明多个数组和多个变量。
3、数组的定义,比如:
4、数组元素的访问:
数组元素是组成数组的基本单元。数组元素也是一种变量,其标识方法为数组名后跟一个下标。
数组名[下标]
下标从0开始,只能为整型常量或整型表达式。
5、数组的赋值:
给数组赋值的方法除了用赋值语句对数组元素逐个赋值外,还可采用初始化赋值和动态赋值的方法。
初始化赋值
数组初始化赋值是指在数组说明时给数组元素赋予初值。数组初始化是在编译阶段进行的。这样将减少运行时间,提高效率。
6、给数组赋值的方法除了用赋值语句对数组元素逐个赋值外,还可采用初始化赋值和动态赋值的方法。
1、可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。
2、只能给元素逐个赋值,不能给数组整体赋值。
3、如给全部元素赋值,则在数组说明中可以不给出数组元素的个数。
7、动态赋值可以在程序执行过程中,对数组作动态赋值。
8、二维数组类型说明
只有一个下标的数组称为一维数组,其数组元素也称为单下标变量。
C++语言允许构造多维数组,多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量。
二维数组的定义
类型说明符 数组名[常量表达式1][常量表达式2]…;
inta[3][4];
9、如何在一维存储器中存放二维数组,可以有两种方式:一种是按行排列,即放完一行之后顺次放入第二行。另一种是按列排列,即放完一列之后再顺次放入第二列。在C++语言中,二维数组是按行排列的。
10、二维数组的元素也称为双下标变量。
数组名[下标][下标]
11、按行分段赋值
inta[5][3]= {{80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };
按行连续赋值
inta[5][3]= { 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};
12、可以只对部分元素赋初值,未赋初值的元素自动取0值
inta[3][3]={{1},{2},{3}}; //对每一行的第一列元素赋值。
对全部元素赋初值,则第一维的长度可以不给出
inta[3][3]={1,2,3,4,5,6,7,8,9};
等效于
inta[][3]={1,2,3,4,5,6,7,8,9};
13、用来存放字符量的数组称为字符数组。
charc[12];
charc[12]={ 'H','e','l','l','o',' ','W','o','r','l','d','!'};
charc[]={ 'H','e','l','l','o',' ','W','o','r','l','d','!'};
14、字符串在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。
charc[]={ 'H','e','l','l','o',' ','W','o','r','l','d','!'};
//可写为:
charc[]={"Hello World!"};
//或去掉{}写为:
charc[]="Hello World!";
用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。
15、用于输入输出的字符串函数,在使用前应包含头文件"stdio.h",使用其他字符串函数,则应包含头文件"string.h"。
16、字符串输出函数puts,把字符数组中的字符串输出到显示器。
函数原型
puts (字符数组名);
17、字符串输入函数gets,从标准输入设备键盘上输入一个字符串。
函数原型
gets (字符数组名);
18、字符串连接函数strcat,把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。
函数原型
strcat (字符数组名1,字符数组名2)
19、字符串拷贝函数strcpy, 把字符数组2中的字符串拷贝到字符数组1中。串结束标志'\0'也一同拷贝。
函数原型 strcpy (字符数组名1,字符数组名2)
20、字符串比较函数strcmp,按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果。
函数原型
strcmp(字符数组名1,字符数组名2)
比较时顺序比较字符串。
字符串1=字符串2,返回值=0;
字符串2>字符串2,返回值>0;
字符串1<字符串2,返回值<0。
21、测字符串长度函数strlen ,测字符串的实际长度(不含字符串结束标志'\0')并作为函数返回值。
函数原型
strlen(字符数组名)