C语言第6章2二维数组.ppt
- 文档编号:1388788
- 上传时间:2022-10-21
- 格式:PPT
- 页数:28
- 大小:808KB
C语言第6章2二维数组.ppt
《C语言第6章2二维数组.ppt》由会员分享,可在线阅读,更多相关《C语言第6章2二维数组.ppt(28页珍藏版)》请在冰豆网上搜索。
1,1,构造数据类型,第六章,2,2,主要内容,数组概述一维数组二维数组字符数组结构体类型,3,3,二维数组,一、二维数组的定义二、二维数组的引用三、二维数组的初始化四、二维数组元素在内存中的排列顺序五、应用举例,4,4,一、二维数组的定义,格式:
数组类型名数组名数组元素个数数组元素个数例:
floata54;intb56;charstr3020;,二维实数数组,5行、4列,二维整数数组,5行、6列,二维字符数组,30行、20列,第一维,第二维,5,5,floata54;,列,行,二维实数数组:
5行、4列,矩阵A,0,1,2,3,4,0,1,2,3,6,6,二维数组在内存中的存放过程:
floata54;,1.002.003.004.00,5.006.007.008.00,9.0010.011.012.0,13.014.015.016.0,17.018.019.020.0,1.00,2.00,3.00,4.00,5.00,6.00,.,18.0,19.0,20.0,7,7,charstr3020,在内存中的存放过程:
Marry,Harry,Philip,Bush,Linda,0,1,2,3,4,0,1,3,4,2,8,8,二、数组的引用,格式:
数组名行下标列下标;例:
b32:
b数组第4行第3列的元素;aij:
a数组第i+1行第j+1列的元素;注意:
数组的下标从0开始计数,9,9,对数组的操作是通过对每个数组元素的处理来实现的:
二维数组的输入intb32;printf(pleaseenterthedata:
n)for(i=0;i3;i+)for(j=0;j2;j+)scanf(%d,内循环,外循环,每一个数组元素,怎样输入数据,能保证输入正确?
程序中语句的写法计算机处理读入数据的方法,for(i=0;i3;i+)for(j=0;j2;j+)scanf(%d,b00,b01,b10,b11,b20,b21,1,b00,intb32;for(i=0;i2;i+)for(j=0;j3;j+)scanf(%d,如果,输入程序如下所示:
那么,输入的数组元素的顺序如何?
1.0,输入的数据应以怎样的顺序排列?
、b10,、b20,、b01,、b11,、b21,5.0,9.0,2.0,6.0,10.0,2,12,输出数组,intb32;for(i=0;i3;i+)for(j=0;j2;j+)printf(b%d%d=%d,i,j,bij);printf(n);,输出结果形式如何?
b00=1.0,b01=2.0,b10=5.0,b11=6.0,b10=9.0,b11=10.0,13,13,如果输出程序改为:
intb32;for(i=0;i2;i+)for(j=0;j3;j+)printf(b%d%d=%dt,j,i,bji);printf(n);,b00=1.0b01=2.0b02=5.0b10=6.0b11=9.0b12=10.0,输出结果形式如何?
四、二维数组的初始化,分行赋初值inta23=1,2,3,4,5,6;,a,第一行,第二行,15,四、二维数组的初始化,不分行赋初值intb23=1,2,3,4,5,6;,16,16,对部分元素赋初值intc24=0,2,3;未赋值的元素自动赋值0,而且前面的0不能省,后面的0可以省,对全部元素赋初值,省略第一维的长度inta2=1,2,3,4;第一维的长度由初始化状态决定。
本例为:
2行,四、二维数组的初始化,17,17,二维数组:
定义:
数组元素的类型、数组变量名称、数组的维数、每一维数组元素的个数;引用:
数组型变量必须先定义,后使用。
只能逐个引用数组元素,不能直接引用整个数组型变量。
数组下标从0开始。
用二维数组编程时,可以这样思考:
在存储器中有一片连续的内存区,名称为a。
它对应一个m行n列的矩阵。
将需要处理的一组数据,依次放入这片连续内存区的每一个单元中。
对应的名称分别为:
a00,a01,a02,a0n-1,根据问题的需要,对这组数据中的每一个数据元素进行相应的处理,处理时的访问方式为:
aij,即:
数组a中行下标为i列下标为j的位置处的数组元素。
a10,a11,a12,a1n-1,am-10,am-11,am-12,am-1n-1,19,19,二维数组,一、二维数组的定义二、二维数组的引用三、二维数组的初始化四、二维数组元素在内存中的排列顺序五、应用举例,20,20,定义三个二维数组:
a34,b34,c34;,for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,输入b矩阵的元素值:
for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,输入a矩阵的元素值:
1.求两个3*4矩阵的和。
21,21,计算c矩阵的元素值:
输出矩阵a、b、c,for(i=0;i3;i+)for(j=0;j4;j+)cij=aij+bij;,for(i=0;i3;i+)for(j=0;j4;j+)printf(%6d,aij);printf(n);,1.求两个3*4矩阵的和。
for(i=0;i3;i+)for(j=0;j4;j+)printf(%6d,bij);printf(n);,for(i=0;i3;i+)for(j=0;j4;j+)printf(%6d,cij);printf(n);,22,23,24,24,2.将一个4*3的矩阵转置。
(1)定义两个二维数组:
a43,b34;,for(i=0;i4;i+)for(j=0;j3;j+)scanf(%d,
(2)输入a矩阵的元素值:
25,25,2.将一个4*3的矩阵转置。
(4)输出矩阵a、b:
for(i=0;i3;i+)for(j=0;j4;j+)printf(%6d,bij);printf(n);,for(i=0;i4;i+)for(j=0;j3;j+)bji=aij;,(3)计算a矩阵的转置:
第二题:
编程。
求一个3*3的整型矩阵的对角线元素的和。
要求:
(1)使用二维数组,数组元素由键盘输入;
(2)以3*3的格式输出矩阵里的数据;(3)最后输出对角线元素之和。
参考,28,待续、,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 二维 数组