4006-01-9999
登录

华图事业单位官网

您当前位置: 事业单位 > 备考 > 专业课辅导 > 2018年国家电网考试备考计算机之数据结构与算法(3)

2018年国家电网考试备考计算机之数据结构与算法(3)

2017-11-02 09:55:16 事业单位考试网 https://sydw.huatu.com/ 文章来源:华图教育

立即领取
专属客服答疑
在线模考
事业单位公众号

【导读】华图事业单位考试网同步华图教育发布:2018年国家电网考试备考计算机之数据结构与算法(3),详细信息请阅读下文!事业单位考试考情政策解读,点击领取备考资料,更多事业单位考试资讯请关注(htshiyedanwei)公众号,欢迎加入事业单位招聘考试交流群:事业单位招聘考试全国各地企微群  参加刷题、模考、领取备考资料,考编路上不孤单!

初始化

二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。例如对数组a[5][3]:

1.按行分段赋值可写为static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };

2.按行连续赋值可写为static int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 };

这两种赋初值的结果是完全相同的。

void main()

{

int i,j,s=0,l,v[3];

static int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},

{85,87,90},{76,77,85} };

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

{ for(j=0;j<5;j++)

s=s+a[j];

v=s/5;

s=0;

}

l=(v[0]+v[1]+v[2])/3;

printf("math:%d\nc languag:%d\ndbase:%d\n",v[0],v[1],v[2]);

printf("total:%d\n",l);

}

初始化的额外说明

对于二维数组初始化赋值还有以下说明:

1.可以只对部分元素赋初值,未赋初值的元素自动取0值。

例如:static int a[3][3]={,,}; 是对每一行的第一列元素赋值,未赋值的元素取0值。赋值后各元素的值为:1 0 02 0 03 0 0

static int a [3][3]={{0,1},{0,0,2},}; 赋值后的元素值为 0 1 00 0 23 0 0

2.如对全部元素赋初值,则第一维的长度可以不给出。

例如:static int a[3][3]={1,2,3,4,5,6,7,8,9}; 可以写为:static int a[][3]={1,2,3,4,5,6,7,8,9};

分解

数组是一种构造类型的数据。二维数组可以看作是由一维数组的嵌套而构成的。设一维数组的每个元素都又是一个数组, 就组成了二维数组。当然,前提是各元素类型必须相同。

根据这样的分析,一个二维数组也可以分解为多个一维数组。C语言允许这种分解有二维数组a[3][4],可分解为三个一维数组,其数组名分别为a[0],a[1],a[2]。对这三个一维数组不需另作说明即可使用。这三个一维数组都有4个元素,例如:一维数组a[0]的元素为a[0][0],a[0][1],a[0][2],a[0][3]。最后必须强调的是,a[0],a[1],a[2]不能当作下标变量使用,它们是数组名,不是一个单纯的下标变量。

字符数组

用来存放字符量的数组称为字符数组。

字符数组类型说明的形式与前面介绍的数值数组相同。例如:char c[10]; 由于字符型和整型通用,也可以定义为int c[10]但这时每个数组元素占2个字节的内存单元。

字符数组也可以是二维或多维数组,例如:char c[5][10];即为二维字符数组。

字符数组也允许在类型说明时作初始化赋值。例如:static char c[10]={`c`,` `,`p`,`r`,o`,g`,r`,`a`,`m`};赋值后各元素的值为:数组C c[0]c[1]c[2]c[3]c[4]c [5]c[6]c[7]c[8]c[9]其中c[9]未赋值,由系统自动赋予0值。

当对全体元素赋初值时也可以省去长度说明。例如:static char c[]={`c`,` `,`p`,`r`,`o`,`g`,`r`,`a`,`m`};这时C数组的长度自动定为9。

main()

{

int i,j;

char a[][5]={{'B','A','S','I','C',},{'d','B','A','S','E'}};

for(i=0;i<=1;i++)

{

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

printf("%c",a[j]);

printf("\n");

}

}

本例的二维字符数组由于在初始化时全部元素都赋以初值, 因此一维下标的长度可以不加以说明。字符串在C语言中没有专门的字符串变量, 通常用一个字符数组来存放一个字符串。在2.1.4节介绍字符串常量时,已说明字符串总是以'\0'作为串的结束符。因此当把一个字符串存入一个数组时, 也把结束符'\0'存入数组,并以此作为该字符串是否结束的标志。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。

手机端链接:https://m.sydw.huatu.com/2017/1102/1601766.html

官方微信号

官方微博号

事业单位考试推荐
热点考试
招考公告 职位表 报名时间 报名条件 报名入口
考试时间 缴费入口 考试科目 考试大纲 报考指导
准考证 成绩查询 资格复审 面试公告 工资待遇
实用备考
每日直播 时政周播 领资料包 试题资料 备考指导
图书购买 笔试课程 面试课程 网络课程 更多>>>
(编辑:admin)
推荐活动
联系方式
华图事业单位企微客服

事业单位微信

考情备考答疑
获得免费备考资料
华图事业单位官方微博二维码

事业单位微博号

关注微博号
领取更多备考福利

图书推荐

更多>
有报考疑惑?在线客服随时解惑

公告啥时候出?

报考问题解惑?报考条件?

报考岗位解惑   怎么备考?

冲刺资料领取?

事业单位