高級(jí)語(yǔ)言程序設(shè)計(jì)_C語(yǔ)言(第六章 數(shù)組.ppt_第1頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)_C語(yǔ)言(第六章 數(shù)組.ppt_第2頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)_C語(yǔ)言(第六章 數(shù)組.ppt_第3頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)_C語(yǔ)言(第六章 數(shù)組.ppt_第4頁(yè)
高級(jí)語(yǔ)言程序設(shè)計(jì)_C語(yǔ)言(第六章 數(shù)組.ppt_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第六章 數(shù) 組,C語(yǔ)言程序設(shè)計(jì),6.1 一維數(shù)組 6.2 二維數(shù)組 6.3 字符數(shù)組與字符串 6.4 程序舉例 ,本次課的主要內(nèi)容,重點(diǎn),如何實(shí)現(xiàn)三個(gè)數(shù)比較大小? 可采用相關(guān)排序算法,程序比較容易實(shí)現(xiàn) 思考: 假如需要實(shí)現(xiàn)四個(gè)數(shù),或者更多的數(shù)比較大?。吭趺催M(jìn)行程序設(shè)計(jì)呢?,定義若干個(gè)變量,程序繁復(fù),容易出錯(cuò),體現(xiàn)不出各數(shù)據(jù)間的關(guān)系,同時(shí)可能帶來(lái)閱讀和理解的困難,迄今為止,我們使用的都是屬于基本類型(整型、字符型、實(shí)型)的數(shù)據(jù),C語(yǔ)言還提供了構(gòu)造類型的數(shù)據(jù),它們有:數(shù)組類型、結(jié)構(gòu)體類型、共用體類型。構(gòu)造類型數(shù)據(jù)是由基本類型數(shù)據(jù)按一定規(guī)則組成的,因此有的書稱它們?yōu)椤皩?dǎo)出類型”。 本章只介紹數(shù)組。數(shù)

2、組是有序數(shù)據(jù)的集合。數(shù)組中的每一個(gè)元素都屬于同一個(gè)數(shù)據(jù)類型。用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定數(shù)組中的元素。有關(guān)數(shù)組的概念和其他高級(jí)語(yǔ)言中介紹的是相同的,不再贅述。,C語(yǔ)言的數(shù)據(jù)類型,數(shù)據(jù)類型,基本類型,構(gòu)造類型,指針類型,空類型,整型,字符型,浮點(diǎn)型,單精度型,雙精度型,枚舉類型,數(shù)組類型,結(jié)構(gòu)體類型,共用體類型,一維數(shù)組的定義 一維數(shù)組的定義方式為 類型說明符 數(shù)組名常量表達(dá)式; 例如: int a10; 它表示數(shù)組名為a,此數(shù)組有10個(gè)元素。,6.1 一維數(shù)組,需要注意的幾點(diǎn),1)常量表達(dá)式表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。例如,在a10中,10表示a數(shù)組有10個(gè)元素,下標(biāo)從0開始,這10個(gè)

3、元素是,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9。注意不能使用數(shù)組元素a10。 2)常量表達(dá)式中可以包括常量和符號(hào)常量,不能包含變量。也就是說,C不允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即數(shù)組的大小不依賴于程序運(yùn)行過程中變量的值。例如,下面這樣定義數(shù)組是不行的: int n; scanf(%d,,數(shù)組必須先定義,然后使用。 C語(yǔ)言規(guī)定只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。 數(shù)組元素的表示形式為 數(shù)組名下標(biāo) 下標(biāo)可以是整型常量或整型表達(dá)式。例如: a0=a5+a7-a2*3,6.1.2 一維數(shù)組元素的引用,對(duì)數(shù)組元素的初始化可以用以下方法實(shí)現(xiàn): (1) 在定義數(shù)組時(shí)對(duì)數(shù)組元素賦以初

4、值。例如: int a10=0,1,2,3,4,5,6,7,8,9; 將數(shù)組元素的初值依次放在一對(duì)花括弧內(nèi)。經(jīng)過上面的定義和初始化之后,a0=0,a1=1,a2=2,a3=3,a4=4,a5=5,a6=6,a7=7,a8=8,a9=9。,6.1.3 一維數(shù)組的初始化,二維數(shù)組的定義 二維數(shù)組的定義方式為 類型說明符 數(shù)組名常量表達(dá)式常量表達(dá)式 ; 例如: 例如:float a34,b510; 定義a為34(3行4列)的數(shù)組,b為510(5行10列)的數(shù)組。,6.2 二維數(shù)組,C語(yǔ)言對(duì)二維數(shù)組采用這樣的定義方式,使我們可以把二維數(shù)組看作是一種特殊的一維數(shù)組:它的元素又是一個(gè)一維數(shù)組。 例如,可以

5、把a(bǔ)看作是一個(gè)一維數(shù)組,它有3個(gè)元素:a0、a1、a2,每個(gè)元素又是一個(gè)包含4個(gè)元素的一維數(shù)組。,二維數(shù)組的引用 二維數(shù)組的定義方式為 類型說明符 數(shù)組名常量表達(dá)式常量表達(dá)式 ; 例如: 例如:float a34,b510; 定義a為34(3行4列)的數(shù)組,b為510(5行10列)的數(shù)組。,二維數(shù)組的初始化 (1) 分行給二維數(shù)組賦初值。如 int a34=1,2,3,4,5,6,7,8,9,10,11,12;,6.4 程序舉例,定義一個(gè)數(shù)組a10,實(shí)現(xiàn)a0a9的值為09,然后逆序輸出。,程序的思路:如何定義數(shù)組,如何實(shí)現(xiàn)數(shù)組賦值 int a10=0,1,2,3,4,5,6,7,8,9;,?,

6、6.4 程序舉例,3*4的矩陣,編程求出其中值最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào)。,程序的思路:請(qǐng)問定義的二維數(shù)組有幾行幾列。 存放順序是怎么樣的。,?,如何找出最大的數(shù),訪問行與列都可以采用循環(huán),6.4 程序舉例,輸入n個(gè)整數(shù),輸出其升序排序的結(jié)果。,冒泡法的思路是:將相鄰兩個(gè)數(shù)比較,將小的調(diào)到前頭。,第一輪,若有6個(gè)數(shù)。第一次將8和9對(duì)調(diào),第二次將第2和第3個(gè)數(shù)(9和5)對(duì)調(diào)如此共進(jìn)行5次,得到854209的順序,可以看到:最大的數(shù)9已“沉底”,成為最下面一個(gè)數(shù),而小的數(shù)“上升”。最小的數(shù)0已向上“浮起”一個(gè)位置。經(jīng)第一輪(共5次)后,已得到最大的數(shù)。,然后進(jìn)行第二輪比較,對(duì)余下的

7、前面5個(gè)數(shù)按上法進(jìn)行比較,經(jīng)過4次比較,得到次大的數(shù)8。如此進(jìn)行下去。可以推知,對(duì)6個(gè)數(shù)要比較5趟,才能使6個(gè)數(shù)按大小順序排列。,第二輪,如果有n個(gè)數(shù),則要進(jìn)行n-1輪比較。在第1輪比較中要進(jìn)行n-1次兩兩比較,在第j輪比較中要進(jìn)行n-j次兩兩比較。,得到什么規(guī)律,?,for(i=0;iN-1;i+) /10個(gè)元素循環(huán)9輪 for(j=0;jN-i-1;j+) /每輪比較10-i-1次 if(aj+1aj) /若后面的元素比前面元素小,則交換 temp=aj; aj=aj+1; aj+1=temp; ,偽代碼描述算法如下,6.4 程序舉例,某電影院為了方便觀眾購(gòu)票,及時(shí)反映上座情況,用矩陣形式顯示座位賣出情況,要求計(jì)算上座率。,?,程序的思路:電影院的座位位置由幾排幾座兩個(gè)數(shù)據(jù)確定,因此用二維數(shù)組來(lái)處理比較合理;每個(gè)座位賣出情況有兩個(gè)狀態(tài):賣出和未賣,分別用1和0兩個(gè)數(shù)字模擬,因此可以定義一個(gè)二維整型數(shù)組,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論