1 / 28
文档名称:

第三章数组与 字符串.ppt

格式:ppt   页数:28
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第三章数组与 字符串.ppt

上传人:企业资源 2012/2/15 文件大小:0 KB

下载得到文件列表

第三章数组与 字符串.ppt

文档介绍

文档介绍:第七章数组
构造数据类型之一
数组:有序数据的集合,用数组名标识
元素:属同一数据类型,用数组名和下标确定
一维数组
一维数组的定义
定义方式: 数据类型数组名[常量表达式];
合法标识符
表示元素个数
下标从0开始
[ ] :数组运算符
单目运算符
优先级(1)
左结合
不能用( )
例 int a[6];
a[0]
0
1
4
5
a[1]
a[2]
a[3]
a[4]
a[5]
2
3
a
编译时分配连续内存
内存字节数=数组元素个数*
sizeof(元素数据类型)
数组名表示内存首地址,
是地址常量
一维数组的引用
数组必须先定义,后使用
只能逐个引用数组元素,不能一次引用整个数组
数组元素表示形式: 数组名[下标]
其中:下标可以是常量或整型表达式
例 int i=15;
int data[i]; (不能用变量定义数组元素个数)
例 int a[10];
printf(“%d”,a); ()
必须 for(j=0;j<10;j++)
printf(“%d\t”,a[j]); ()
例 int data[5];
data[5]=10; //C语言对数组不作越界检查,使用时要注意
一维数组的初始化
初始化方式
在定义数组时,为数组元素赋初值
(在编译阶段使之得到初值)
int a[5]={1,2,3,4,5};
等价于:a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5;
说明:
数组不初始化,其元素值为随机数
对static数组元素不赋初值,系统会自动赋以0值
当全部数组元素赋初值时,可不指定数组长度
如 int a[5]={6,2,3};
等价于: a[0]=6; a[1]=2;a[2]=3; a[3]=0; a[4]=0;
如 int a[3]={6,2,3,5,1}; ()
static int a[5];
等价于:a[0]=0; a[1]=0; a[2]=0; a[3]=0; a[4]=0;
只给部分数组元素赋初值
int a[]={1,2,3,4,5,6};
编译系统根据初值个数确定数组维数
程序举例
例读10个整数存入数组,找出其中最大值和最小值
步骤:
1. 输入:for循环输入10个整数
2. 处理:
(a) 先令max=min=x[0]
(b) 依次用x[i]和max,min比较(循环)
若max<x[i],令max=x[i]
若min>x[i],令min=x[i]
3. 输出:max和min
#include <>
#define SIZE 10
main()
{ int x[SIZE],i,max,min;
printf("Enter 10 integers:\n");
for(i=0;i<SIZE;i++)
{ printf("%d:",i+1);
scanf("%d",&x[i]);
}
max=min=x[0];
for(i=1;i<SIZE;i++)
{ if(max<x[i]) max=x[i];
if(min>x[i]) min=x[i];
}
printf("Maximum value is %d\n",max);
printf("Minimum value is %d\n",min);
}
例 i数列前20个数
f[0]
f[1]
f[2]
f[3]
f[4]
f[5]
f[19]
……...
1
1
f[19]
0
1
4
5
2
3
19
2
3
5
#include <>
main()
{ int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{ if(i%5==0) printf("\n");
printf("%12d",f[i]);
}
}
二维数组及多维数组
二维数组的定义
定义方式:
数据类型数组名[常量表达式][常量表达式];
数组元素的存放顺序
原因:内存是一维的
二维数组:按行序优先
多维数组:最右下标变化最快
例 int a[3][4];
float b[2][5];
int c[2][3][4];
int a[3,4]; ()
行数
列数
元素个数=行数*列数
int a[3][2]
a[0][1]
a[1][0]
a[1][1]
a[2][0]
a[2][1]
0
1
4
5
2
3
a[0][0]
a[0][0] a[0][1]
a[1][0] a