C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt

C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt

ID:50044432

大小:414.50 KB

页数:45页

时间:2020-03-08

C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt_第1页
C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt_第2页
C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt_第3页
C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt_第4页
C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt_第5页
资源描述:

《C语言程序设计教程 教学课件 作者 周海燕 李智 第09章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章二维数组的应用9.1了解二维数组9.2二维数组的简单应用9.3利用地址和指针访问二维数组9.4二维数组名作函数的实参9.5二维数组操作中的常用算法介绍9.1了解二维数组9.1.1二维数组的用途9.1.2二维数组的定义与一维数组一样,二维数组也必须先定义,然后才可以使用。定义语句的形式如下:类型名数组名[常量表达式1][常量表达式2],……;二维数组的定义形式与一维数组相似,所不同的是增加了一个用方括号括起来的常量表达式。这里常量表达式1用来指定二维数组的行数;常量表达式2用来指定二维数组的列数。由

2、于C语言规定了数组下标值的下限一律为0,所以二维数组行下标的上限为常量表达式1的值减1;列下标的上限为常量表达式2的值减1。前面提到的存放4名学生3门课成绩的二维数组可定义如下:ints[4][3];此语句表明:这是一个名为s的4行3列的二维数组;数组中一共可以存储4×3个整型数据;数组行下标的范围是0~3,列下标的范围是0~2。它在逻辑结构上可以看作以下形式的矩阵(或表格):9.1.3二维数组元素的引用二维数组中的元素在逻辑上可以看作构成了一个矩阵,但在物理上仍旧占据的是一串连续的存储单元。这些元素在

3、内存中的排列顺序是“按行”存放,即:先放第0行的元素,再放第1行的元素,依次类推。如有定义:intx[2][3];则数组x在内存中的存储结构如图9-1所示:图9-1二维数组存储结构示意图二维数组每个元素都具有一个名字——带有双下标的变量。它的一般表示形式为:数组名[下标表达式1][下标表达式2]如图9-1中所标出的x[0][0]、x[0][1]、……这里每一维的下标都可以是整型的常量、变量或表达式。如:x[i][j]、x[0][j+1]等都是合法的。注意:C语言中二维数组元素的两个下标是分别放在两个方括

4、号中的,不要误写成x[0,0]、x[i,j]这种非法形式。二维数组元素的引用与一维数组相同,也能够参与同类型变量允许的所有操作。例如:scanf("%d",&x[0][0]);/*输入*/x[1][0]=x[0][0];/*赋值*/if(x[0][0]>10)…/*条件判断*/而语句:x[2][3]=0;则是错误的。因为在定义语句中限定了x数组是一个2×3的数组,其行下标最大值为1,列下标最大值为2。上述引用造成了下标越界。同样是x[2][3],初学者要注意区分它出现在定义语句中和元素引用时的不同含义。

5、9.1.4二维数组的初始化与一维数组一样,可以在定义二维数组的同时为其元素赋初值。(1)分行给二维数组的所有元素赋初值。例如:intx[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};这种形式比较规范和直观:最外层有一对花括号,在其内部,每一行元素的初值分别括在一对花括号中,中间用逗号分隔。(2)分行为二维数组中部分元素提供初值。例如:intx[3][4]={{1},{2},{3}};赋值后,x数组中各元素的值为:100020003000显然,当某一行花括号内初值个数少

6、于该行的元素个数时,系统自动补以初值0。又如:intx[3][4]={{1,2},{3,4}};赋值后,数组元素值为:120034000000也就是说,当行花括号少于数组的行数时,系统自动为后面的各行补以初值0。(3)为二维数组赋初值时省略行花括号。例如:intx[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};这里只保留了最外侧的花括号,而省略了用来界定行元素的花括号。此时,系统将按照数组元素在内存中的排列顺序,依次将数据赋给各个元素。若数据的个数少于元素的个数,系统将自动为其赋

7、初值0。例如:intx[3][4]={1,2,3};赋值后的数组元素值为:123000000000(4)通过赋初值确定二维数组中第一维的大小。在定义二维数组时,可以省略第1个方括号中的常量表达式1,但不允许省略第2个方括号中的常量表达式2。例如:intx[][4]={{0,2},{3,5,6},{7}};以上语句所赋初值中带有3个用来界定行元素的花括号对。因此,省略的第一维的大小就是3。它等价于:intx[3][4]={{0,2},{3,5,6},{7}};也可以省略行花括号对,采用以下赋值形式:int

8、y[][4]={1,2,3,4,5,6};由于第二维(列数)是确定的,初值个数给定了,第一维(行数)的大小就是惟一的。计算方法是:①用初值个数(6)除以第二维的大小(4);②若能除尽,商就是第一维的大小;否则商数+1是第一维的大小。此例中y数组第一维的大小应是2,以上定义语句等价于:inty[2][4]={1,2,3,4,5,6};9.2二维数组的简单应用例9.2编程为5×5的二维数组的左下半三角依次赋自然数1~15,其余元素为0。输出形式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。