TOP

2012计算机二级考试C语言程序设计关键词及程序算法:数组(一)
2012-07-26 22:52:02 来源: 作者: 【 】 浏览:243次 评论:0
微信搜索关注"91考试网"公众号,领30元,获取公务员、事业编、教师等考试资料40G!

第一章   数组

(一)   关键词

1.  数组

同类型变量的集合

2.  定义数组

Int a[5];

在定义时必须指明数组元素个数

3.  数组下标从0开始

例:a[0] a[1] a[2] a[3] a[4]

4.  数组赋初值

                                     例:int b[8]={1,2,3,4,5,6,7,8};

5.  数组名代表一个地址

                                       Int a[8],*p;

                                       P=a;

                 此时a[i]有这样几种表示方式:a[i]  *(a+i)   *(p+i)   p[i]  *&a[i]

                 此时&a[i]有这样几种表示方式:&a[i]  a+I  p+i

 6.  数组元素做实参与同类型普通变量做实参一样

7.数组名做实参时对应形参必须是基类型相同的指针变量

8.数组元素地址做实参与同类型普通变量地址做实参一样

9.数组名不可做为函数返回值

10.二维数组

  (1)定义二维数组: int a[3][4];

              a 的数组元素类型为一维数组

   (2)行的循环在外层是按行

例:for( i=0:,i<3;i++)

       For(j=0;j<4;j++)

         Printf(“%d”,a[i][j]);

       列的循环在外层是按列

例:for(j=0;j<4;j++)

       For(i=0;i<3;i++)

          Printf(“%d”,a[i][j]);

11.int *p,a[3][4];

   P=a[i]; 或p=*(a+i);

12.二维数组a[i][j]的地址的表示方式:

 &a[i][j]  a[i]+j  *(a+i)+j  a[0]+4*i+j  &a[0][0]+4*i+j (考虑是否可写作a+4*i+j)

13.二维数组元素a[i][j]的表示方式

a[i][j]  *&a[i][j]  (*(a+i))[j]  *(a[i]+j)  *(*(a+i)+j)  *(a[0]+4*i+j)  *(&a[0][0]+4*i+j)

14.指针数组

 Int *p[3],a[3][4],i;

For(i=0;i<3;i++)

 P[i]=a[i];(考虑可否写作*(p+i)=a+i)

执行以上赋值后,a[i][j]可写作:

    *(*(p+i)+j)    *(p[i]+j)    *(p+i)[j]   p[i][j]  *(p[0]+4*i+j)  *(&p[0][0]+4*i+j)

在如此定义:int *p[3],a[3][4]后考虑以下几个赋值表达式的正确性:

P=a     p=a[i]    p+i=a+I     *(p+i)=a[i]         p=a+i

15 基类型为一维数组的指针变量(行指针)

Int (*p)[4],a[3][4];

P=a;

元素a[i][j]有以下表示方式:

P[i][j]    *(*(p+i)+j)     *(p[i]+j)     *(p+i)[j]  *(p[0]+4*i+j)    *(&p[0][0]+4*i+j)

16 二维数组名做函数实参时,对应形参必须是基类型相同的行指针

17 指针数组做实参时,对应形参必须是指针的指针

(二)   课本程序案例增补:

  题目:存放在a数组中的数不相重,在a数线中查找和x值相同的元素的位置,若找到,输出该值和该值在a数组中的位置,若没找到输出相应的信息。

Main()

Tags: 责任编辑:91kaoshiwang
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2012计算机二级考试C语言程序设计.. 下一篇2012计算机二级考试C语言程序设计..

相关栏目

最新文章

推荐文章

网站客服QQ: 960335752 - 14613519 - 48225117