数组学习教程.pptx
《数组学习教程.pptx》由会员分享,可在线阅读,更多相关《数组学习教程.pptx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、教学内容一维数组的定义和引用二维数组的定义和引用字符数组第1页/共36页二维数组数学上的矩阵以及反映现实数据的表格等,通常用二维数组来表示。89 12 23 89 89 90 89 88 77 7990 89 87 87 6734 56 67 78 98 第2页/共36页u二维数组的定义 如:float a 34;数组名为a,有3*4个实型数据元素:a00 a01 a02 a03 a10 a11 a12 a13 a20 a21 a22 a23 0 2:数组元素的行下标;0 3:数组元素的列下标(注意:行、列下标均从0开始,下标不要越界)。数据类型 数组名常量1 常量2;第3页/共36页元素排列
2、顺序:按行存放,首尾相接。(可转换成一维数组)注意:行、列常量表达式必须分别用方括号“”括起来,不能写成 float a3,4注意:元素个数的表达式不能用变量表示。比如:错误的定义方法:int n,m;int anm;第4页/共36页u二维数组的引用数组名 行下标列下标 如:数组a23的第1个元素为a00 第二个元素为 a01。第5页/共36页u二维数组的初始化 1)按行给二维数组赋初值int a23=3,1,5,7,4,9;结果:a00=3,a01=1,a02=5,a10=7,a11=4,a12=9 2)将所有数据按数组排列的顺序写在一个花括号里 int a23=3,1,5,7,4,9;in
3、t a 3=3,1,5,7,4,9;结果:同上 3)可以对部分元素赋初值:int a23=3,0,4;结果:a00=3,a11=4 其余值为 0第6页/共36页问题:若 int a23=1,2,3,4 怎样描述每个元素的值?若int a23=1,2,3又如何?int a 3=1,2,3,4,5,6省略的数值是多少?int a2=1,2,3,4,5,6这样描述正确吗?第7页/共36页u二维数组元素在内存中的存放形式例:int A33=0,1,2,3,4,5,6,7,8;A00 0 A01 1 A02 2 A10 3 A11 4 A12 5 A20 6 A21 7 A22 8第8页/共36页例6(
4、shuzu_006):二维数组的使用。#define N 3#define M 4 void main()int aNM,i,j;/*input data of the array*/for(i=0;iN;i+)for(j=0;jM;j+)scanf(%d,&aij);/*output data of the array*/for(i=0;iN;i+)for(j=0;jM;j+)printf(%2d,aij);u二维数组示例如何控制输出格式?第9页/共36页 例7:(shuzu_007A/shuzu_007B)求一个34矩阵的所有靠外侧的元素值之和。如:1 1 1 1 1 0 0 1 1 1
5、1 1 第10页/共36页/*shuzu_007A*/#define M 3#define N 4 void main()int sum,j,k;int aMN=1,1,1,1,1,1,1,1,1,1,1,1;for(j=0;jM;j+=(M-1)for(k=0;kN;k+)sum=sum+ajk;for(k=0;kN;k+=N-1)for(j=1;jM-1;j+)sum=sum+a jk;第11页/共36页/*shuzu_007B*/void main()int aMN=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1;int j,k,sum=0;printf(The arra
6、y is:n);for(j=0;jM;j+)for(k=0;kN;k+)printf(%5d,ajk);printf(n);for(k=0;kN;k+)sum=sum+a0k+aM-1k;for(j=1;jM-1;j+)sum=sum+aj0+ajN-1;printf(sum=%dn,sum);第12页/共36页 例8:(shuzu_008)有一个2*3的矩阵,要求编程求出其中的最大值及其所在的行号和列号。void main()int a23,max;int i,j,ii,jj;/*input data of the array*/for(i=0;i2;i+)for(j=0;j3;j+)sca
7、nf(%d,&aij);/*output data of the array*/printf(The array isn);for(i=0;i2;i+)for(j=0;j3;j+)printf(%d ,aij);printf(n);第13页/共36页/*To find max number in array*/max=a00;for(i=0;i2;i+)for(j=0;jmax)max=aij;ii=i;jj=j;printf(a%d%d=%d n,ii,jj,max);第14页/共36页字符数组和字符串字符数组 用来存放字符数据的数组。每个数组元素存放一个字符。(可以实现字符串的处理)字符数
8、组定义char 数组名 常量;如:char c9;定义长度为9的字符数组c;字符数组的初始化:逐个字符给数组中的元素赋值。如:char c9=C,o,m,p,u,t,e,r;第15页/共36页字符串及其初始化字符串:在字符数组的最后加上串结束符0Ascii码为0初始化方法lchar c9=C,o,m,p,u,t,e,r,0;lchar c=C,o,m,p,u,t,e,r,0;lchar c9=“Computer”;lchar c9=“Computer”;lchar c=“Computer”;lchar c=“Computer”;第16页/共36页注意l系统在存储它的时候,自动在末尾加0l数组名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数组 学习 教程
限制150内