設(shè)計(jì)我10其他源代碼_第1頁
設(shè)計(jì)我10其他源代碼_第2頁
設(shè)計(jì)我10其他源代碼_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、4.1 一維數(shù)組4.2 二維數(shù)組4.3 字符數(shù)組第四章 構(gòu)造數(shù)據(jù)類型4.1 數(shù) 組4.1.1 一維數(shù)組的引出及使用一、一維數(shù)組的引出例:某班有40名學(xué)生,求該班成績的平均分#include void main( ) int j , s, sum=0 ; float ave ; for(j=1; j=40 ; j+) scanf(“%d”, &s); sum=sum+s; ave=sum/40; printf(“ave=%f”, ave);這里只使用了一個變量s,雖然通過循環(huán)我們輸入了40個學(xué)生的成績,但循環(huán)結(jié)束后s中只是第40個學(xué)生的成績,前面39個學(xué)生的成績都沒有保存下來如果要求保存這40名

2、學(xué)生的成績,最后再輸出,應(yīng)該怎么辦?因?yàn)楝F(xiàn)在要保存每個學(xué)生的成績,那就不能只使用一個變量s了,而需要40個變量,這樣一來輸入、輸出、計(jì)算都會變得繁瑣。 在這種情況下,我們希望能有一種數(shù)據(jù)類型可以保存一組數(shù)據(jù),并且可以方便的對這組數(shù)據(jù)進(jìn)行輸入、輸出、計(jì)算等操作,因此引出了數(shù)組類型。說明一個含有40個元素的數(shù)組,每個數(shù)組元素存放一個成績,成績的輸入、輸出、計(jì)算都可以通過循環(huán)來實(shí)現(xiàn)例4-1: 求某班成績的平均分,并輸出所有學(xué)生的成績#include void main( ) int j , sum=0 , s40 ; float ave ; for(j=0; j=39 ; j+) scanf(“%d

3、”, &sj); sum=sum+sj; ave=sum/40; printf(“ave=%f”, ave); for(j=0; j40 ; j+) printf(“%d,”, sj); 4.1.1 一維數(shù)組的引出及使用二、數(shù)組的概念1. 數(shù)組:由具有相同類型的固定數(shù)量的元素組成的集合2. 數(shù)組元素: 每一個數(shù)組元素都是一個變量, 為了與 一般的變量相區(qū)別,我們稱數(shù)組元素為下標(biāo)變量3.下標(biāo)變量在數(shù)組中的位置序號稱下標(biāo) 下標(biāo)變量的數(shù)據(jù)類型稱為下標(biāo)類型(或元素類型)4.1.1 一維數(shù)組的引出及使用三、一維數(shù)組的定義 1. 格式 : 類型標(biāo)識符 數(shù)組名 常量表達(dá)式 ; 例: int a10 ; 2.

4、 說明 (1) 數(shù)組的類型實(shí)際上是指數(shù)組元素的 取值類型。對于同一個數(shù)組,所有 元素的數(shù)據(jù)類型都是相同的。 84 : 66 80 95101010121014 :1028a0a1a2 :a9(2) 數(shù)組名是用戶定義的標(biāo)識符, 數(shù)組名表示了一個存儲區(qū)的首地址 (即第一個數(shù)組元素的地址) 例: 一個變量x的地址可以用&x來表示 一個數(shù)組a的地址就用數(shù)組名a來表示, a等價于&a04.1.1 一維數(shù)組的引出及使用2. 說明(3) 數(shù)組長度 : 指數(shù)組中元素的個數(shù)(4) 數(shù)組元素的下標(biāo)由零開始 例: int a10 中 a 有10個元素, 所以數(shù)組長度為10, 數(shù)組元素分別是: a0 , a1 a8,

5、 a9(5) 常量表達(dá)式中不能包含變量, 其值也不能是實(shí)數(shù)int n;scanf(%d,&n);int an; int n=6;int an; int b8.5; #define SIZE 8int a2+3;float bSIZE;對錯4.1.1 一維數(shù)組的引出及使用四、數(shù)組元素的引用1. 引用形式 : 數(shù)組名 下標(biāo) 注意: 如果出現(xiàn) a5 = 72 ; 編譯時不會指出錯誤, 系統(tǒng)會將a4后下一個存儲單元 賦值為32, 但這樣可能會破壞數(shù)組以外其他變量的值 84 75 66 80 9510101012101410161018a0a1a2a3a472a51020假設(shè)這個存儲空間是變量x的, 實(shí)

6、際上a5是不存在的, 如果執(zhí)行了a5=72, 會將x原有的正確數(shù)據(jù)覆蓋掉2. 說明(1) 下標(biāo)可以是整型常量或整型表達(dá)式 如: a1 , a2*3(2) 數(shù)組定義為 int a5 , 數(shù)組長度為5 而下標(biāo)在0 - 4之內(nèi), 即a0 - a44.1.1 一維數(shù)組的引出及使用五、 一維數(shù)組的初始化1. 概念 : 在定義一維數(shù)組時對各元素指定初始值稱為 數(shù)組的初始化int a5 = 1 , 3 , 5 , 7 , 9 ;2. 說明 對數(shù)組的全體元素指定初值, 初值用 括起來, 數(shù)據(jù)之間用 逗號分開。這種情況下, 可以不指明數(shù)組的長度, 系統(tǒng)會根據(jù) 內(nèi)數(shù)據(jù)的個數(shù)確定數(shù)組的長度 int a = 1 ,

7、3 , 5 , 7 , 9 ;(2) 對數(shù)組中部分元素指定初值 ( 這時不能省略數(shù)組長度 ) int a5 = 1 , 3 , 5 ; (3) 使數(shù)組中的全部元素初始值都為 0 int a5 = 0, 0, 0, 0, 0 ;簡單的寫法: int a5= 0 ;4.1.1 一維數(shù)組的引出及使用1357913500 逆序#include#define N 10void main( ) int i, t, aN; for ( i=0; iN; i+) ai = i ; for(i=0; iN/2; i+) t=ai; ai=aN-1-i; aN-1-i=t; for( i=0; i=9; i+) printf(%3d , ai);例4-2: 使數(shù)組元素a0a9的值為09, 將其逆置后再輸出4.1.1 一維數(shù)組的引出及使用 5 8 0 1 9 2 6 3 7 4a0a1a2a3a4a5a6a7a8a9a0a9457830a1a8a2a7例4-3: 用數(shù)組求fibonacci數(shù)列的前20個數(shù)#include void main( ) int i , f20=1,1; for ( i=2 ; i20 ; i+) fi=fi-2+fi-1; for ( i=0; i20 ; i+) if ( i%4=0 )

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論