華圖首頁
微信

華圖教育

微信號:huatuv

+ 關(guān)注
微博

華圖教育

官方認(rèn)證微博

+ 關(guān)注
登錄 | 注冊
你的位置:首頁 > 報(bào)考指導(dǎo) > 報(bào)考問答 > 2018年國家電網(wǎng)考試備考計(jì)算機(jī)之?dāng)?shù)據(jù)結(jié)構(gòu)與算法(3)

2018年國家電網(wǎng)考試備考計(jì)算機(jī)之?dāng)?shù)據(jù)結(jié)構(gòu)與算法(3)

2017-11-02 09:55      文章來源:華圖教育

初始化

二維數(shù)組初始化也是在類型說明時(shí)給各下標(biāo)變量賦以初值。二維數(shù)組可按行分段賦值,也可按行連續(xù)賦值。例如對數(shù)組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.按行連續(xù)賦值可寫為static int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85 };

這兩種賦初值的結(jié)果是完全相同的。

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);

}

初始化的額外說明

對于二維數(shù)組初始化賦值還有以下說明:

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};

分解

數(shù)組是一種構(gòu)造類型的數(shù)據(jù)。二維數(shù)組可以看作是由一維數(shù)組的嵌套而構(gòu)成的。設(shè)一維數(shù)組的每個(gè)元素都又是一個(gè)數(shù)組, 就組成了二維數(shù)組。當(dāng)然,前提是各元素類型必須相同。

根據(jù)這樣的分析,一個(gè)二維數(shù)組也可以分解為多個(gè)一維數(shù)組。C語言允許這種分解有二維數(shù)組a[3][4],可分解為三個(gè)一維數(shù)組,其數(shù)組名分別為a[0],a[1],a[2]。對這三個(gè)一維數(shù)組不需另作說明即可使用。這三個(gè)一維數(shù)組都有4個(gè)元素,例如:一維數(shù)組a[0]的元素為a[0][0],a[0][1],a[0][2],a[0][3]。最后必須強(qiáng)調(diào)的是,a[0],a[1],a[2]不能當(dāng)作下標(biāo)變量使用,它們是數(shù)組名,不是一個(gè)單純的下標(biāo)變量。

字符數(shù)組

用來存放字符量的數(shù)組稱為字符數(shù)組。

字符數(shù)組類型說明的形式與前面介紹的數(shù)值數(shù)組相同。例如:char c[10]; 由于字符型和整型通用,也可以定義為int c[10]但這時(shí)每個(gè)數(shù)組元素占2個(gè)字節(jié)的內(nèi)存單元。

字符數(shù)組也可以是二維或多維數(shù)組,例如:char c[5][10];即為二維字符數(shù)組。

字符數(shù)組也允許在類型說明時(shí)作初始化賦值。例如:static char c[10]={`c`,` `,`p`,`r`,o`,g`,r`,`a`,`m`};賦值后各元素的值為:數(shù)組C c[0]c[1]c[2]c[3]c[4]c [5]c[6]c[7]c[8]c[9]其中c[9]未賦值,由系統(tǒng)自動賦予0值。

當(dāng)對全體元素賦初值時(shí)也可以省去長度說明。例如:static char c[]={`c`,` `,`p`,`r`,`o`,`g`,`r`,`a`,`m`};這時(shí)C數(shù)組的長度自動定為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");

}

}

本例的二維字符數(shù)組由于在初始化時(shí)全部元素都賦以初值, 因此一維下標(biāo)的長度可以不加以說明。字符串在C語言中沒有專門的字符串變量, 通常用一個(gè)字符數(shù)組來存放一個(gè)字符串。在2.1.4節(jié)介紹字符串常量時(shí),已說明字符串總是以'\0'作為串的結(jié)束符。因此當(dāng)把一個(gè)字符串存入一個(gè)數(shù)組時(shí), 也把結(jié)束符'\0'存入數(shù)組,并以此作為該字符串是否結(jié)束的標(biāo)志。有了'\0'標(biāo)志后,就不必再用字符數(shù)組的長度來判斷字符串的長度了。

(編輯:姜芃)

上一篇:2018年國家電網(wǎng)考試備考金融類之金融經(jīng)濟(jì)學(xué) 下一篇: 2018年國家電網(wǎng)考試備考計(jì)算機(jī)之?dāng)?shù)據(jù)庫系統(tǒng)
事業(yè)單位:htshiyedanwei
想考事業(yè)單位的人都關(guān)注了我們!
立即關(guān)注
備考資料
每日一練