資源描述:
《C語(yǔ)言程序設(shè)計(jì) 第2版烏云高娃源程序及習(xí)題答案C語(yǔ)言教學(xué)內(nèi)容PPT第5章數(shù)組.ppt》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第5章數(shù)組學(xué)習(xí)目標(biāo)1使用一維數(shù)組處理同一類(lèi)型的大批數(shù)據(jù);2使用字符數(shù)組處理字符串;3使用二維數(shù)組處理類(lèi)似行列式的問(wèn)題。5.1一維數(shù)組的應(yīng)用學(xué)一學(xué)1.一維數(shù)組的定義類(lèi)型標(biāo)識(shí)符數(shù)組名[常量表達(dá)式];其中常量表達(dá)式說(shuō)明數(shù)組的大小,即數(shù)組中元素的個(gè)數(shù)。2.一維數(shù)組元素的引用定義了數(shù)組后,就可以引用數(shù)組中的任意一個(gè)元素,引用形式為:數(shù)組名[下標(biāo)表達(dá)式]其中“下標(biāo)表達(dá)式”表示數(shù)組中的某一個(gè)元素的順序號(hào),必須是整型常量、整型變量或整型表達(dá)式。試一試問(wèn)題5.1:學(xué)校舉行知識(shí)競(jìng)賽,有10個(gè)學(xué)生參賽,請(qǐng)協(xié)助老師編寫(xiě)一個(gè)程序把成績(jī)打印出來(lái)。流程圖練一練如果問(wèn)題5.1中的成績(jī)?cè)诙x數(shù)組初始化時(shí)只給
2、出5個(gè)數(shù)據(jù),再輸出結(jié)果看看是什么情況?試一試問(wèn)題5.2:將問(wèn)題5.1中的10個(gè)學(xué)生的競(jìng)賽成績(jī)從鍵盤(pán)輸入,計(jì)算出平均分,將平均分輸出到屏幕上。流程圖練一練問(wèn)題5.2在求10個(gè)同學(xué)的競(jìng)賽總分時(shí),是先用一個(gè)循環(huán)輸入各個(gè)數(shù)組元素值,再用另一個(gè)循環(huán)累加求出總分,請(qǐng)修改程序使用一個(gè)循環(huán),即在輸入數(shù)據(jù)的循環(huán)中進(jìn)行累加求和,即輸入一個(gè)數(shù)就累加一個(gè)數(shù)。試一試問(wèn)題5.3:從鍵盤(pán)輸入10個(gè)參賽學(xué)生的成績(jī),求出分?jǐn)?shù)最高的同學(xué)的序號(hào)(從1開(kāi)始)及其成績(jī)。問(wèn)題5.4用初始化方法,把某學(xué)習(xí)小組10名學(xué)生《C語(yǔ)言程序設(shè)計(jì)》課程的考試成績(jī)存儲(chǔ)在數(shù)組中,再?gòu)逆I盤(pán)輸入一個(gè)考分,查找該數(shù)是否在數(shù)組中,如果是的話(huà),
3、請(qǐng)輸出它是第幾名學(xué)生的成績(jī)。流程圖練一練1.在問(wèn)題5.4中,如果輸入的成績(jī)沒(méi)有查到,請(qǐng)給出提示信息“notfound”。想一想1.拓展問(wèn)題5.4,如果希望能夠多次輸入考分進(jìn)行查找,每次都輸出查找到的結(jié)果,直到輸入1000時(shí)結(jié)束查找,怎樣分析、解決問(wèn)題?2.再次拓展問(wèn)題5.4,如果輸入一個(gè)考分,但是在成績(jī)數(shù)組中有一個(gè)以上的考分與此相同,怎樣處理?*問(wèn)題5.5軟件系要選拔創(chuàng)新小組的成員,有N名同學(xué)參加考試,請(qǐng)你幫助老師將成績(jī)輸入計(jì)算機(jī),從低分到高分進(jìn)行冒泡排序并輸出排序后的結(jié)果。問(wèn)題5.6一位同學(xué)因?yàn)閰⒓哟髮W(xué)生運(yùn)動(dòng)會(huì)需要進(jìn)行緩考,緩考過(guò)后,老師要把他的成績(jī)插入班級(jí)的成績(jī)單中,成
4、績(jī)單已經(jīng)按照分?jǐn)?shù)從高到低進(jìn)行了排序,試問(wèn)這個(gè)緩考成績(jī)要怎樣插入才不影響已經(jīng)排好序的成績(jī)單?流程圖小結(jié):數(shù)組的定義數(shù)組必須先定義,后使用。一維數(shù)組定義的一般形式為:類(lèi)型標(biāo)識(shí)符數(shù)組名[常量表達(dá)式];其中:(1)常量表達(dá)式表示數(shù)組的元素的個(gè)數(shù),即數(shù)組的長(zhǎng)度,不允許作動(dòng)態(tài)定義。(2)相同類(lèi)型的數(shù)組和變量可以在一個(gè)類(lèi)型說(shuō)明符下一起說(shuō)明,用逗號(hào)隔開(kāi)。小結(jié):一維數(shù)組的引用定義了數(shù)組后,就可以引用數(shù)組中的任意一個(gè)元素,引用形式如下:數(shù)組名[下標(biāo)表達(dá)式]其中下標(biāo)表達(dá)式可以是整常數(shù)或整型表達(dá)式,其取值范圍從0開(kāi)始,到元素個(gè)數(shù)-1為止。超出這個(gè)范圍就稱(chēng)為數(shù)組下標(biāo)越界。小結(jié):一維數(shù)組的初始化當(dāng)系統(tǒng)
5、為所定義的數(shù)組在內(nèi)存中開(kāi)辟一串連續(xù)的存儲(chǔ)單元時(shí),這些存儲(chǔ)單元中并沒(méi)有確定的值。使數(shù)組元素具有某個(gè)值,可以用賦值語(yǔ)句或輸入語(yǔ)句在程序運(yùn)行時(shí)完成,但占用機(jī)器時(shí)間。如果已經(jīng)知道元素的具體值,C語(yǔ)言可以在定義時(shí),給各元素指定初始值,稱(chēng)為數(shù)組的初始化。二維數(shù)組學(xué)一學(xué)1.二維數(shù)組的定義類(lèi)型標(biāo)識(shí)符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];其中常量表達(dá)式1和常量表達(dá)式2,分別表示數(shù)組的行數(shù)和列數(shù)。2.二維數(shù)組元素的引用二維數(shù)組元素的引用形式為:數(shù)組名[行下標(biāo)][列下標(biāo)]行下標(biāo)和列下標(biāo)可以是整常數(shù)或整型表達(dá)式,其取值范圍從0開(kāi)始,分別到行數(shù)-1和列數(shù)-1為止。問(wèn)題5.7一個(gè)學(xué)習(xí)小組有5名同學(xué),
6、每人有英語(yǔ)和數(shù)學(xué)兩項(xiàng)成績(jī),試將成績(jī)表用二維數(shù)組存儲(chǔ),并輸出到屏幕上。數(shù)學(xué)86100758865英語(yǔ)7890806585練一練1.在問(wèn)題5.7的解決中,使用雙重循環(huán)來(lái)輸出成績(jī)表,如果不用雙重循環(huán),請(qǐng)你嘗試用兩個(gè)單重循環(huán)來(lái)輸出數(shù)據(jù)。2.在問(wèn)題5.7中,成績(jī)表的數(shù)據(jù)是在定義時(shí)初始化賦值的,但是現(xiàn)在又有一組比賽數(shù)據(jù)要輸入,請(qǐng)你將數(shù)據(jù)改由鍵盤(pán)輸入(提示:可參照輸出采用雙重循環(huán)進(jìn)行)。想一想在問(wèn)題5.7中,成績(jī)表輸出方式是輸出一行序號(hào),然后換行輸出一行成績(jī),現(xiàn)在要求輸出一個(gè)序號(hào),接著輸出該序號(hào)對(duì)應(yīng)的成績(jī),然后換行,再輸出一個(gè)序號(hào)及其對(duì)應(yīng)的成績(jī),直到五個(gè)參賽學(xué)生的數(shù)據(jù)全部輸出,怎麼辦呢?
7、問(wèn)題5.8新生入校參加軍訓(xùn),12名同學(xué)站成了3行4列,請(qǐng)編程序幫助教官?gòu)逆I盤(pán)輸出12名同學(xué)的身高,并且求出其中個(gè)子最高的同學(xué)的身高。流程圖問(wèn)題5.9看過(guò)電影黑客帝國(guó)(theMatrix)之后,有12名同學(xué)排成3行4列準(zhǔn)備進(jìn)行演習(xí),根據(jù)他們自編的劇情需要,他們需要進(jìn)行行列交換,在另一個(gè)位置上站成4行3列,請(qǐng)編寫(xiě)程序?qū)崿F(xiàn)交換后的站位,每個(gè)同學(xué)的代號(hào)由初始化數(shù)據(jù)給出。小結(jié):二維數(shù)組定義與一維數(shù)組一樣,二維數(shù)組也必須先定后使用,定義的一般形式為:類(lèi)型標(biāo)識(shí)符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2];其中常量表達(dá)式1和常量表達(dá)式