- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组程序设计第1讲.doc
数组程序设计(一) 内容 说明 本讲内容
重点
难点
问题
提出: 1. 数组的概念
2.一维数组的定义、初始化
3.一维数组的引用
4.多(二)维数组的定义、初始化
5.多(二)维数组的引用 一维数组的定义、初始化及引用、二维数组的定义、初始化及引用 一维数组的定义、初始化及引用、二维数组的定义、初始化及引用
当我们需要定义10个甚至更多的整型或其它类型时,怎么办?这时候就需要一个简便的操作方式,那么就可以用数组来实现。 1.数组的概念
由相同数据类型的变量按照一定的次序组织起来,就是数组。构成数组的变量称为数组元素。用一个数组名和下标来唯一确定数组中的元素。数组类型属于构造数据类型。
2.一维数组
【定义】
类型标识符 数组名 [常量表达式];
int aa[4];
【注意】
⑴类型标识符指明数组的数据类型,即数组中每个元素的数据类型;
⑵数组名的命名应遵循标识符的命令规则;
⑶“常量表达式”用以表示数组元素的个数,也就是数组长度,它可以是整型常量、整型常量表达式或整型符号常量。
⑷ 不允许对数组的大小作动态定义。
⑸ 数组的下标下限为0;数组的下标上限为“常量表达式-1”。
【初始化】
可以用下列方法对一维数组的进行初始化:
⑴ 对数组的全部元素赋初始值。
如:static int m[5]={1,21,35,4,58};
⑵ 对数组的部分元素赋初始值。
如:static int num[5]={1,24,3};
只给数组的前三个元素赋指定的初始值,后两个元素按系统规定整型赋初始值为0,字符型赋初始值为’\0’。
⑶ 对数组的全部元素赋初始值时,可以将数组定义为一个不确定长度的数组。 如:int num[ ]={19,2,32,4,51};
举例
【引用】
引用数组中的元素可以通过使用数组名及其数组名后的方括号中的下标来实现。只能引用数组元素而不能一次引用整个数组。引用数组元素时,数组元素的下标可以是整型常量、变量或表达式。
例1
#include stdio.h
main()
{ static int num[5],i;
num[0]=5;
for(i=1;i=3;i++)
num[i]=i+5;
scanf(“%d”,num[4]);
printf(“该数组各个元素的值如下:\n”);
for(i=0;i5;i++)
printf(“%4d”,num[i]); }
3.二维数组
【定义】
数据类型 数组名 [常量表达式1] [常量表达式2];
float a[3][4];
【注意】
二维数组中元素的排列顺序是按行排列,即在内存中先顺序存放第一行的元素,再存放第二行的元素,即:a00→a01→a02→a03→a10→a11→a12→a13→a20→a21→a22→a23。
【初始化】
可以用下列方法对一维数组的进行初始化:
⑴ 分行对二级数组初始化。
如:static int a[3][4]={{1,28,3,4},{15,62,7,8},{9,100,111,12}};
⑵ 按数组排列的顺序对各元素赋初值。
如:Static int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
⑶ 可以对部分元素赋初值。
如:Static int a[3][4]={{1},{5},{9}};
只对每行的第一个元素赋初值,其余元素值自动为0。
(4) 如果对全部元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。
如:static int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
注意:引用数组的方法
总结: 也可以只对部分元素赋初值。
如:Static int a[ ][4]={{0,0,3},{ },{1,3,5,9}
例2 利用二维数组从键盘上输入6个数,按2行3列的形式输出。
main()
{ int b[2][3],j,k;
for(j=0;j2;j++)
for(k=0;k3;k++)
scanf(“%d”,b[j][k];
for(j=0;j2;j++)
{ for(k=0;k3;k++)
printf(“%d”,a[j][k]);
printf(“\n”); }
}
例3 分析下列程序的输出结果。
main()
{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
原创力文档


文档评论(0)