【C語言---------數(shù)組】-創(chuàng)新互聯(lián)

數(shù)組的定義和使用
  • 怎么定義一維數(shù)組
    • 一維數(shù)組的初始化
      • 怎么引用一維數(shù)組
  • 案例
    • 對五個元素依次賦值1-5,要求逆序輸出
    • 用數(shù)組來處理Fibonnacci數(shù)列問題
  • 怎么定義二維數(shù)組
    • 二維數(shù)組的初始化
    • 怎么引用二維數(shù)組
  • 案例
    • 輸出一個二維數(shù)組
    • 數(shù)組行和列的元素互換,存到另外一個二維數(shù)組中
  • 數(shù)組作為函數(shù)參數(shù)

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比九原網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式九原網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋九原地區(qū)。費用合理售后完善,十載實體公司更值得信賴。怎么定義一維數(shù)組

要使用數(shù)組必須在程序中先定義數(shù)組,告訴計算機:由哪些數(shù)據(jù)組成數(shù)組,數(shù)組中有多少元素,屬于什么數(shù)據(jù)類型,否則計算機不會自動識別一批數(shù)據(jù),以下是對于數(shù)組的定義:

int a[10]; //表示定義了一個整型數(shù)組,數(shù)組名為a,此數(shù)組包含十個整型元素。
一維數(shù)組定義一般形式為: 類型說明符 數(shù)組名[常量表達式];
注:一維數(shù)組是指只有一個下標的數(shù)組,它用來表示一組具有相同類型的數(shù)據(jù),數(shù)據(jù)類型幾乎包含了所有類型,比如:int,float,char,指針,結(jié)構(gòu)體等類型。

一維數(shù)組的初始化

定義數(shù)組必須要進行初始化,如若不初始化系統(tǒng)并不會自動初始化為0,因為局部變量處于堆棧區(qū),數(shù)值則為隨機。例如:

int a[10]; //例如這樣,程序并不會報錯。

常見的幾種初始化

第一種
int a[5]={0}; // 即將第一個元素初始化為0,系統(tǒng)則會將剩余的元素自動初始化為0;
如若初始化為 int a[5]={1};//則是將第一個元素初始化為1,其它則為0,其它數(shù)也是如此。

第二種
int a[5]={1,2,3,4,5}; //直接對數(shù)組所有元素進行初始化,

第三種
int a[5]={1,2,3}; //即對部分元素進行初始化,其余未進行初始化的元素系統(tǒng)自動初始化為0。

第四種
int a[]={1,2,3,4,5}; //為數(shù)組全部元素進行初始化,但不指定數(shù)組長度,這時候數(shù)組的大小由初始化時列表元素個數(shù)決定,即數(shù)組長度為5。

注:數(shù)組的命名同變量的命名規(guī)則一樣:

變量命名規(guī)則:
1,變量名只能由字母,數(shù)字,下劃線組成,且必須以字母或下劃線開頭。
2,不能包含空格,標點符號以及運算符等其它在c語言中有特殊意義的符號。

怎么引用一維數(shù)組

在定義數(shù)組并且對它進行其中的元素賦值以后,就可以引用數(shù)組中的元素,但是只能引用數(shù)組元素,而不能一次性調(diào)用數(shù)組全部元素,在程序中,想引用數(shù)組的某一個元素可以通過數(shù)組名和下標來引用數(shù)組中的元素。一般格式為

假設(shè)定義一個數(shù)組 a[5]={1,2,3,4,5};
引用的一般格式為:數(shù)組名[下標];
如若要引用第一個元素:a[0];//就可以調(diào)用1這個元素了。
注:數(shù)組的下標默認從0開始,上面的數(shù)組下標依次為0,1,2,3,4,在訪問數(shù)組元素時,下標不能超出這個范圍。
若要將數(shù)組整體輸出有兩種方法:

第一種
#includeint main()
{int i;
	int a[5]={1,2,3,4,5};
	printf("%d %d %d %d %d", a[0], a[1], a[2], a[3], a[4]);//printf整體輸出
	return 0;
}
第二種
#includeint main()
{int i;
	int a[5]={1,2,3,4,5};
	for (i = 0; i< 5; i++) //循環(huán)依次進行輸出
	{printf("%d ", a[i]);
	}
	return 0;
}

注:數(shù)組之間不能進行比較,也不能進行運算。

案例 對五個元素依次賦值1-5,要求逆序輸出
#includeint main()
{int i;
	int a[5] = {1,2,3,4,5 };  //對數(shù)組初始化
	for (i = 4; i>= 0; i--)    // 大下標為4,每進行一次循環(huán),i的值減1,直到i=0
	{printf("%d ", a[i]);
	}
	return 0;
}
用數(shù)組來處理Fibonnacci數(shù)列問題

題目介紹:裴波那契數(shù)列指的是這樣一個數(shù)列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233即這個數(shù)列從第3項開始,每一項都等于前兩項之和。注:每五個要進行一次換行

#includeint main()
{int i;
	int f[20] = {1,1 };//因為從第三個開始,先將第一個和第二個元素初始化為1
	for (i = 2; i<= 20; i++)
	{f[i] = f[i - 2] + f[i - 1];  //i從2開始,即第三個數(shù)開始,每一項都等于前兩項的和
	}
	for (i = 0; i< 20; i++)
	{if (i % 5 == 0)     //能被5整
		{	printf("\n");   //進行換行
		}
		printf("%10d", f[i]);   //在循環(huán)內(nèi)輸出fibonacci數(shù)列
	}
	return 0;
}
怎么定義二維數(shù)組

二維數(shù)組的定義與一維數(shù)組類似,其語法格式為:

類型說明符 數(shù)組名[常量表達式][常量表達式];//前者表達式表示行寬,后者表示列寬。
int a[2][3]; //表示定義一個行寬為2,列寬為3的整型二維數(shù)組。

二維數(shù)組的初始化

第一種
按行直接進行賦值 int a[2][3]={{1,2,3},{4,5,6}};
括號內(nèi)的第一個括號代表的是第一行數(shù)組的元素,第二個括號代表第二行數(shù)組的元素;

第二種
將所有元素寫在一個括號內(nèi) int a[2][3]={1,2,3,4,5,6};
和第一種一樣,第一行的元素為1,2,3 第二行的元素為4,5,6 輸出結(jié)果為以下,用循環(huán)輸出時,記得在外循環(huán)進行換行
1 2 3
4 5 6

第三種
對數(shù)組的部分元素進行賦值 int a[2][3]={{1},{1}}; //定義部分元素,其它元素為0;輸出結(jié)果為;
1 0 0
1 0 0

第四種
對數(shù)組進行初始化時行寬表達式可以省略 int a[][3]={1,2,3,4,5,6};
行寬會根據(jù)列寬以及元素自動識別
注:列寬不能省略。

怎么引用二維數(shù)組

二維數(shù)組引用的表示形式為
數(shù)組名 [下標][下標]
和一維數(shù)組一樣,二維數(shù)組的下標默認從0開始。
數(shù)組元素可以出現(xiàn)在表達式中,也可以被賦值,例如

#includeint main()
{int i, j;
	int a[2][3] = {1,2,3,4,5,6 }; //定義兩個二維數(shù)組
	int b[2][3] = {6,5,4,3,2,1 };
	b[1][2] = a[1][2];     //原本b[1][2]應(yīng)該等于1,這里將a[1][2]的值賦給b[1][2],a[1][2]的值為6
	printf("%d", b[1][2]);  //輸出則為6
	return 0;
}
案例 輸出一個二維數(shù)組
#includeint main()
{int i, j;
	int a[2][3] = {1,2,3,4,5,6 }; //定義一個二行三列的數(shù)組
	for (i = 0; i< 2; i++)     //i運行兩次
	{for (j = 0; j< 3; j++)  //i為0時j運行三次,即輸出下標為0,1,2的數(shù)組
		{	printf("%d ", a[i][j]);
		}
		printf("\n");     //當(dāng)輸出1,2,3d第一列時換行
	}
	return 0;
}
數(shù)組行和列的元素互換,存到另外一個二維數(shù)組中

題目要求:將一個二維數(shù)組行和列的元素互換
解題思路:定義兩個數(shù)組,數(shù)組a為2行3列,數(shù)組b為3行2列,將數(shù)組a[i][j]元素和數(shù)組b[j][i]
的元素進行交換。

#includeint main()
{int a[2][3] = {{1,2,3},{4,5,6} };
	int i, j;
	int b[3][3];  //定義兩個數(shù)組,進行交換元素互換
	printf("數(shù)組a的元素為\n");
	for (i = 0; i< 2; i++)
	{for (j = 0; j< 3; j++)
		{	printf("%5d", a[i][j]);    //先輸出a數(shù)組
			b[j][i] = a[i][j];         //將行和列進行交換  
		}
		printf("\n");
	}
	printf("數(shù)組b的元素為\n");
	for (i = 0; i< 3; i++)
	{for (j = 0; j<= 1; j++)
		{	printf("%5d", b[i][j]);      //再輸出數(shù)組b
		}
		printf("\n");
	}
	return 0;
}
數(shù)組作為函數(shù)參數(shù)

注:當(dāng)用數(shù)組名作為函數(shù)參數(shù)時,傳遞的并不是數(shù)組中的每一個元素的值,而是將實參數(shù)組的首地址賦值給形參,形參數(shù)組取得該首地址后相當(dāng)于有了實參的數(shù)組,實際上實參和形參為同一個數(shù)組,因此當(dāng)行參數(shù)組發(fā)生變化時,實參數(shù)組也隨之變化。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁名稱:【C語言---------數(shù)組】-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article46/coegeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、App開發(fā)Google、網(wǎng)站制作、用戶體驗建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)