C语言教案:第5章数组.ppt
《C语言教案:第5章数组.ppt》由会员分享,可在线阅读,更多相关《C语言教案:第5章数组.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 第第 五五 章章 数数 组组1/16/202315.1 数组的概念数组的概念5.2 数组的定义和初始化数组的定义和初始化5.3 数组的赋值、输入和输出数组的赋值、输入和输出5.4 字符型数组字符型数组5.5 数据处理数据处理1/16/202325.1 数组的概念数组的概念二、为什麽引入数组二、为什麽引入数组1、存储批量数据、存储批量数据2、体现数据间的关系、体现数据间的关系3、便于访问、处理、便于访问、处理一、什麽是数组一、什麽是数组数组是一组数组是一组有序的有序的、同类型同类型数据的集合。数据的集合。三、名词解释三、名词解释数组数组数组元素数组元素数组维数数组维数1/16/202335.2
2、 数组的定义和初始化数组的定义和初始化一、数组的定义一、数组的定义目的:目的:名称名称类型类型维数维数大小大小格式:格式:说明:说明:1、常量表达式仅可为整型常量、常量表达式仅可为整型常量/符号常量;符号常量;值大于值大于0。2、表达式的个数表明数组的维数。、表达式的个数表明数组的维数。类型类型 数组名数组名常量表达式常量表达式1常量表达式常量表达式2.1/16/20234例:例:int a10;float b34;char c30;int a30;int i=3,j=4;int aij;二、数组元素的引用二、数组元素的引用引用格式:引用格式:数组名数组名表达式表达式说明:说明:1、表达式(下
3、标)值从、表达式(下标)值从 0开始。开始。2、数组名代表该数组在内存中的首地址。、数组名代表该数组在内存中的首地址。1/16/20235三、数组的存储结构三、数组的存储结构一维数组:一维数组:从左到右顺序存放从左到右顺序存放例:例:定义定义 int a5;数组中数据为数组中数据为2、4、23、6、782423678 a0 a1 a2 a3 a4 设数组起始地址为设数组起始地址为2000,则数组元素依次存入:,则数组元素依次存入:2000、2002、2004、2006、2008 单元单元1/16/202361.37.23.44.45.16.2 b00 b01 b02 b10 b11 b12二维
4、数组:二维数组:按行存放按行存放例:例:定义定义 float b23;数组中数据为数组中数据为1.3 7.2 3.424.4 5.1 6.2 设数组起始地址为设数组起始地址为2000,则各数组元素依次存入,则各数组元素依次存入2000、2004、2008、2012、2016、2020 单元单元1/16/20237四、数组的初始化四、数组的初始化1、一维数组的初始化、一维数组的初始化int data8=50,30,82,12,23,34,55,10;说明:说明:(1)常量个数少于数组元素个数,则自动以常量个数少于数组元素个数,则自动以0补充。补充。(2)常量个数多于数组元素个数,则出错。常量个数
5、多于数组元素个数,则出错。(3)可隐含定义数组大小。可隐含定义数组大小。int a=0,1,2,3,4,5,0;(4)号中值可以省略,但逗号不能省。号中值可以省略,但逗号不能省。float array5=,2,3,4,;1/16/202382、二维数组的初始化、二维数组的初始化int data33=5,3,8,2,3,34,5,10,6;说明:说明:(1)可对数组进行部分初始化,未初始化部分则可对数组进行部分初始化,未初始化部分则 自动清零。自动清零。int data33=5,3,8,2,3,34,5,10,6;或:或:例:例:比较下面两种初始化情况比较下面两种初始化情况int a23=5,6
6、,7,8;int a23=5,6,7,8;1/16/20239(2)可以省略第一维长度,但第二维长度不可省。可以省略第一维长度,但第二维长度不可省。例:例:int a4=1,2,3,4,5,6,7,8;int a2=1,2,3,4,5,6,7,8;1/16/2023105.3 数组的赋值、输入和输出数组的赋值、输入和输出一、数组的赋值一、数组的赋值 常用赋值方法:常用赋值方法:1、无规律数据、无规律数据各元素分别赋值各元素分别赋值2、有规律数据、有规律数据利用循环进行赋值利用循环进行赋值一维数组用单循环一维数组用单循环二维数组用双循环二维数组用双循环例:例:int a5,i;for(i=0;i
7、5;i+)ai=(i+1)*100;int b23,i,j;for(i=0;i2;i+)for(j=0;j3;j+)bij=i+j;1/16/202311(1)只能对数组元素赋值,不能对数组名实施整只能对数组元素赋值,不能对数组名实施整 体赋值。(字符数组除外)体赋值。(字符数组除外)注意:注意:如:如:int a5,i;a=100,200,300,400,500);(2)注意下标界大小。)注意下标界大小。如:如:int b23,i,j;for(i=0;i=2;i+)for(j=0;j=3;j+)bij=i+j;1/16/202312二、数组的输入输出二、数组的输入输出 float x10;i
8、nt k;for(k=0;k10;k+);scanf(“%f”,&xk);1、数组输入、数组输入2、数组输出、数组输出 :for(i=0;i3;i+)for(j=0;j4;j+)printf(“%6.2f”,bij);printf(“n);:1/16/202313三、应用举例三、应用举例 例例1:(p191 例例6.2)例例2:(p188 例题例题6.1)设有矩阵设有矩阵1 2 3 425 6 7 8(1)将其存入数组)将其存入数组(2)并以以下矩阵形式)并以以下矩阵形式1 52 63 74 8存入另一数组存入另一数组(3)分别输出两数组)分别输出两数组例例3:要求编程实现:要求编程实现:1/
9、16/202314问题分析:问题分析:1、定义数组、定义数组2、将数据送入、将数据送入a数组数组 a24、b423、根据数据排列的情况将、根据数据排列的情况将a数组数据赋数组数据赋 予予b数组数组 a、b数组间关系为:数组间关系为:b j i=a i j 4、分别输出、分别输出a、b数组数据数组数据 a的行的行=b的列的列 a的列的列=b的行的行1/16/202315根据分析编写程序如下:根据分析编写程序如下:for(i=0;i2;i+)for(j=0;j4;j+)b j i=a i j;main()int a24=1,2,3,4,5,6,7,8,b42,i,j;for(i=0;i2;i+)f
10、or(j=0;j4;j+)printf(“%dt”,aij);printf(“n”);printf(“n”);printf(“%dt”,b j i);1/16/202316设有矩阵设有矩阵例例4:0 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 6 7 8 9 5 6 7 8 9 10(1)将矩阵存入一个二维数组)将矩阵存入一个二维数组要求:要求:(2)将二维数组中的数据送入一个一维数组)将二维数组中的数据送入一个一维数组(3)分别输出两个数组)分别输出两个数组1/16/202317问题分析:问题分析:1、定义数组、定义数组2、将数据送入、
11、将数据送入a数组数组 a66、b36 b k=a i j 4、分别输出、分别输出a、b数组数据数组数据3、将、将a数组数据赋予数组数据赋予b数组数组a数组的数据可自动生成数组的数据可自动生成 a i j=i+j1/16/202318根据分析编写程序如下:根据分析编写程序如下:for(i=0;i36;i+)main()int a66,b36;for(i=0;i6;i+)for(j=0;j6;j+)printf(“n”);printf(“%d ”,b i);int i,j k=0;K+;a i j =i+j;bk=a i j;printf(“%dt”,a i j);printf(“n”);1/16
12、/2023195.4 字符型数组字符型数组元素类型为字符的数组元素类型为字符的数组两种用法:两种用法:(1)作为字符(单个字符操作)作为字符(单个字符操作)(2)作为字符串(整体操作)作为字符串(整体操作)一、字符数组的初始化一、字符数组的初始化1、用字符对字符数组初始化、用字符对字符数组初始化2、用字符串常量对字符数组初始化、用字符串常量对字符数组初始化char str26=HELLO;char str15=T,h,e,;1/16/202320说明:说明:(1)字符串以)字符串以0作为结束标志。作为结束标志。(2)初始化时也可省略花括号。)初始化时也可省略花括号。char panic=HEL
13、LO;(3)注意字符与字符串的区别。)注意字符与字符串的区别。单引号单引号双引号双引号用用0作为串的结束标志作为串的结束标志无结束标志无结束标志长度长度=字符个数字符个数 长度长度=字符个数字符个数+1字符字符字符串字符串1/16/202321应用举例:应用举例:例例1:作为普通数组处理:作为普通数组处理 main()char ary110=P,L,O,T,ary210;char ch;int i,j;for(i=0;i4;i+)printf(“%c”,ary1i);printf(“请输入一行字符请输入一行字符n”);for(i=0;i10;i+)scanf(“%c”,&ch);if(ch=n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 教案 数组
限制150内