内容正文:
第7章 数组
7.1一维数组
7.2二维数组
7.3多维数组
7.4字符串与字符数组
7.6数组作为函数参数
7.5字符串数组
大学C/C++语言程序设计程序设计 第7章 数组
1-12章幻灯片45分钟 13-27章45分钟
7.2 二 维 数 组
7.2.1、二维数组的定义和引用
1.二维数组定义:
类型标识符 数组名[常量表达式1][常量表达式2];
二维数组可看作一个二维表格或矩阵。
int a[2][3];
定义了一个23的数组a,可存放6个整型数据。
大学C/C++语言程序设计程序设计 第7章 数组
2.二维数组元素的引用:
二维数组元素引用必须带有两个下标,一般形式:
数组名[下标表达式1][下标表达式2]
注意:下标表达式可以是整型常量、整型变量及其表达式。
例如,对数组 int a[2][3];其6 个元素是:
a[0][0], a[0][1], a[0][2], a[1][0], a[1][1], a[1][2]
大学C/C++语言程序设计程序设计 第7章 数组
1.如果从表格角度来理解,则数组元素引用形式为
数组名[行号][列号]
a[0][0] a[0][1] a[0][2]
a[1][0] a[1][1] a[1][2]
(0)行
(1)行
(0)列
(1)列
(2)列
2.如果从矩阵角度来理解,则2*3矩阵为:
a00 a01 a02
a= a10 a11 a12
则2*3矩阵可以用数组 a[2][3]来表示
大学C/C++语言程序设计程序设计 第7章 数组
二维数组的顺序存储结构(按行存放):
int a[2][3];
a[0][0]
a[0][1]
a[0][2]
a[1][0]
a[1][1]
a[1][2]
第
0
行
第1行
a 代表整个二维数组的首地址
等价:&a[0][0]
大学C/C++语言程序设计程序设计 第7章 数组
二维数组示例1(7.5):请写出下列程序运行结果。
#include <stdio.h>
main()
{ int i,j,a[2][3];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
a[i][j]=i+j;
for(i=0;i<2;i++)
{ for(j=0;j<3;j++)
printf("%4d",a[i][j]);
printf(“
”); /*控制换行*
}
}
/50
0 1 2
1 2 3
二维数组的输入输出常用2层循环来实现
大学C/C++语言程序设计程序设计 第7章 数组
7.2.2 二维数组的初始化
对二维数组初始化的几种方法:
(1).可以按数组排列的顺序将所有数据写在一个花括号内,但不能超过数组元素总个数,如:
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
(2).分行给二维数组赋初值,如:
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
1 2 3 4
5 6 7 8
9 10 11 12
大学C/C++语言程序设计程序设计 第7章 数组
(3) .可以对部分元素赋初值,没有初值对应的元素赋0 或空字符“\0”,如:
int a[3][4]={{1},{0,6},{0,0,11}};
1 0 0 0
0 6 0 0
0 0 11 0
(4).如果对全部元素都