1 / 25
文档名称:

专升本 C语言课件 C06(07) 数组.ppt

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

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

分享

预览

专升本 C语言课件 C06(07) 数组.ppt

上传人:顾生等等 2018/3/11 文件大小:124 KB

下载得到文件列表

专升本 C语言课件 C06(07) 数组.ppt

相关文档

文档介绍

文档介绍:C程序设计 六、数组
六、数组
一维数组
数据类型数组名[常量];
数组下标从0开始
int a[3];
int a[3]={10,20,30};
int a[3]={10,20};
int a[ ]={10,20};
char s[ ]={‘e’,’b’,’a’};
char s[ ]=“eba”;
六、数组
一维数组
数据类型数组名[常量];
数组下标从0开始
以下程序是否正确?
A)int a[10];
a[10]=1;
B)int a[10];
a[ ]={0,1,2,3,4,5,6,7,8,9};
C)int a[10]={1,2,3,4,5};
D)int a[ ]={1,2,3,4,5,6};
E)int a[5]={1,2,3,4,5,6};
A) 语法上正确,逻辑上错误
B) 错
C) 对
D) 对
E) 错
六、数组
一维数组
数据类型数组名[常量];
数组下标从0开始
以下程序运行后的输出结果是___
main() { int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf("%d ",n[i]); } }
六、数组
一维数组
系统在定义数组时,是分配一段连续的内存给数组。
数组名表示数组空间的首地址。
int a[4]={10,20,30,40};
……
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
……
30
10
40
20
a[0]
a[2]
a[3]
a[1]
六、数组
一维数组
系统在定义数组时,是分配一段连续的内存给数组。
数组名表示数组空间的首地址。
以下语句是否正确?
float z[10],*e;
z=e;
e=z
z=5;
z[4]=z;
z[20]=65;
a)错,z是常量
b)对
c)错,z是常量
d)错,类型不符
e)错,越界,但语法上不报错
六、数组
一维数组
c语言中规定:
如果指针p指向u,则p+1指向内存中与u相邻的下一个同类型变量。
对于一个数组a,如果p指向a[i],则p+1指向a[i+1]
……
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
……
30
10
40
20
a[0]
a[2]
a[3]
a[1]
六、数组
一维数组
对于
int a[4]={10,20,30,40};
a表示首地址,即a[0]的地址
a+1就是a[1]的地址
a+i等同于&a[i]
*(a+i)等同于a[i]
……
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
……
30
10
40
20
a[0]
a[2]
a[3]
a[1]
六、数组
一维数组
int z[5]={10,20,30,40,50};
求下列表达式的值:
(A)z+2
(B)*z+2;
(C)*(z+2);
(A)z[2]的地址
(B)12
(C)30
六、数组
一维数组
main()
{int a[10]={90,80,70,60,50,40,30,
20,10,0},
*p=a+5;
printf("%d\n",++*p);
printf("%d\n",*--p);
}
41,50