考点10 二维数组《C语言程序设计》山东(春季高考)软件与应用技术类 知识点讲解

| 10页
| 0人阅读
| 0人下载

学科网 zxxk.com学科网 zxxk.com

山东省(软件与应用技术类)春季高考

《C语言程序设计》复习讲义

模块 一  C 语言程序设计

考点 10   二维数组

【考纲要求】

(1)理解二维数组的定义及初始化。

(2)掌握二维数组元素的引用。

【知识网络】

page number 0

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

 

【知识和技能要点】

一、二维数组的定义

1. 定义形式与元素个数

二维数组者,元素按行列而列之数组也。其定义之法,先书元素之类型,次书数组名,其后以两个方括弧分标其行数与列数,如 int a[3][4];。前者为行数,后者为列数,元素之总数为二者之积,故 a 有十二个元素。两括弧皆不可省,亦不可合书为一括弧中置两数,此初学者常误之处。长度之规则与一维数组同,须为常量表达式。

(1)形式:类型说明符 数组名[行数][列数];,如 int a[3][4];

(2)元素之数:行数与列数之积,凡十二个。

(3)禁手:两个方括弧不可合写,亦不可省其一。

2. 行标与列标

二维数组之元素,以“数组名[行标][列标]”定之。二者皆自零起算,故 M 行 N 列者,行标自零至 M 减一,列标自零至 N 减一。如 int c[3][5]; 者,其元素为 c[0][0] 至 c[2][4],首元素为 c[0][0],末元素为 c[2][4],并无 c[3][5]。凡越其界者,C 语言不检,其值不可料。

(1)引用:数组名[行标][列标],二标皆自零起。

(2)范围:行标零至行数减一,列标零至列数减一。

(3)例:c[3][5] 之末元素为 c[2][4],并无 c[3][5]。

3. 行优先存储

C 语言以行优先之序存储二维数组,先存第一行之诸元素,次及第二行,以次递推。故二维数组实为多个一维数组之组合,如 c[3][5] 可视为三个长度为五之一维数组,c[0]、c[1]、c[2] 即其各行之数组名。明乎此,则初始化之分行写法与指针之用,皆可类推而知。

(1)存储之序:先行后列,逐行相接。

(2)组合之见:每行即一个一维数组,二维数组为其组合。

(3)意义:明此则分行初始化与指针之用可类推。

二、二维数组元素的引用page number 1

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


学科网 zxxk.com学科网 zxxk.com

1. 引用形式

二维数组元素之引用,形式为“数组名[行标][列标]”,如 a[i][j]、a[0][1]、a[i+1][j-1] 皆是。二标可为整型常量或整型表达式,各自独立,不可合书。单个元素之用与普通变量无异,可赋值、可运算、可输入输出,输入之时亦须加取地址符,与一维数组同。

(1)形式:a[i][j],二标各自独立。

(2)二标之型:整型常量或整型表达式。

(3)单个元素:与普通变量无异,输入须加取地址符。

2. 下标范围与越界

M 行 N 列者,行标之界为零至 M 减一,列标之界为零至 N 减一,二者不可相混。如 int a[3][4]; 者,a[3][0] 与 a[0][4] 皆越其界,而 a[2][3] 为末元素。C 语言于下标不加检查,故越界之误编译不报,唯运行之时或取他处之值,或覆及其邻,其患甚于编译之误。故遍历之时,条件宜作行小于三、列小于四。

(1)范围:行标零至行数减一,列标零至列数减一。

(2)越界之例:a[3][0]、a[0][4] 皆越界,a[2][3] 为末元素。

(3)遍历之界:条件宜作行小于行数、列小于列数,勿用等号。

3. 双重循环的遍历

二维数组元素既多,故常以双重循环遍历之。外层循环行、内层循环列,则按行而行;若外层循环列、内层循环行,则按列而行。如输入三行四列之矩阵,可于外层行、内层列之中逐一读入 a[i][j]。凡求和、求极值、计数、转置、矩阵运算之属,皆以此法为始。

(1)行优先之遍历:外层行、内层列。

(2)列优先之遍历:外层列、内层行。

(3)常用:求和、求极值、计数、转置皆以双重循环为始。

三、二维数组的初始化

1. 分行赋值

二维数组之初始化,可分行而赋,其形式为 int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};。内层花括号各配一行,其值依次配与该行之各列,故最直观易读。若某行之值不足列数,则余者为零;若只赋前数行,则后数行皆为零。此法宜于须明其行列者。page number 2

原创精品资源学科网独家享有版权,侵权必究

学科网 zxxk.com学科网 zxxk.com学科网(北京)股份有限公司


由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。