




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章 數(shù)組,課程內(nèi)容安排,數(shù)組的概念。 數(shù)組的聲明及其初始化。 數(shù)組元素的引用。 一維數(shù)組和多維數(shù)組的應(yīng)用 字符串的相關(guān)應(yīng)用,數(shù)組概述,所謂數(shù)組,就是一組按照順序排列在一起,且類(lèi)型相同的多個(gè)數(shù)據(jù)。嚴(yán)格來(lái)說(shuō),數(shù)組并不是一種數(shù)據(jù)類(lèi)型,而是一組相同類(lèi)型的變量的集合。在程序中使用數(shù)組的好處是可以用一個(gè)統(tǒng)一的數(shù)組名代表邏輯上相關(guān)的一組數(shù)據(jù),并用下標(biāo)表示各元素在數(shù)組中的位置。,數(shù)組的聲明及初始化,和普通的變量一樣,在C+中使用數(shù)組必須先進(jìn)行類(lèi)型說(shuō)明,即對(duì)數(shù)組進(jìn)行聲明。根據(jù)數(shù)組的維數(shù)不同,數(shù)組的聲明可分為一維數(shù)組的聲明和多維數(shù)組的聲明。 一維數(shù)組在具體程序中使用是非常廣泛的,在使用一維數(shù)組前,讀者首先要對(duì)
2、數(shù)字進(jìn)行聲明。C+中,一維數(shù)組的聲明一般形式為: ; 聲明二維數(shù)組的語(yǔ)法格式如下: 類(lèi)型 數(shù)組名常量表達(dá)式1常量表達(dá)式2;,引用數(shù)組元素,根據(jù)數(shù)組的分類(lèi),對(duì)數(shù)組元素的引用也可分為一維數(shù)組的引用和多維數(shù)組的引用。本節(jié)將介紹一維數(shù)組元素的引用。一般來(lái)說(shuō),一維數(shù)組的數(shù)組元素引用的一般形式為: 其中,下標(biāo)指明了數(shù)組中每個(gè)元素的序號(hào),值為整數(shù),用數(shù)組名加下標(biāo)值就可以訪問(wèn)數(shù)組中對(duì)應(yīng)的某個(gè)元素。需要讀者注意的是,下標(biāo)值是從0開(kāi)始的,因此對(duì)于一個(gè)具有n個(gè)元素的一維數(shù)組來(lái)說(shuō),它的下標(biāo)值是0n-1,不能出現(xiàn)第n個(gè)元素。,引用二維數(shù)組元素,二維數(shù)組的引用與一維數(shù)組類(lèi)似,其引用也根據(jù)下標(biāo)的變化從0n-1取值即可。與一
3、維數(shù)組不同的是,二維數(shù)組含有兩個(gè),因此其中每個(gè)中的下標(biāo)都需要從0n-1變化。一般來(lái)說(shuō),一個(gè)二維數(shù)組的數(shù)組元素引用的一般形式為: 上述下標(biāo)1和下標(biāo)2又可寫(xiě)作時(shí)行下標(biāo)和列下標(biāo),二維數(shù)組的數(shù)組元素個(gè)數(shù)是其行和列的下標(biāo)乘積。例如,二維數(shù)組a34,其包含的數(shù)組元素個(gè)數(shù)為3412個(gè)。對(duì)二維數(shù)組元素的引用即同時(shí)指定其行下標(biāo)和列下標(biāo)。,字符數(shù)組,簡(jiǎn)單的說(shuō),用來(lái)存放字符量的數(shù)組就稱(chēng)為字符數(shù)組。字符數(shù)組的聲明形式與前面介紹的一般數(shù)組的聲明形式相同。例如,下面語(yǔ)句就聲明了一個(gè)字符數(shù)組array: char array5; 同樣的,字符數(shù)組在聲明的同時(shí)可以為其賦初值,其方法與數(shù)值數(shù)組相似。例如,下面語(yǔ)句聲明字符數(shù)組b
4、并為其初始化。 char b=H,e,l,l,o;/聲明一個(gè)字符數(shù)組,其長(zhǎng)度為5,包括5個(gè)字符。 此外,字符數(shù)組在內(nèi)存中的存儲(chǔ)與一般數(shù)值數(shù)組相同。一維字符數(shù)組在內(nèi)存中按順序存儲(chǔ),二維字符數(shù)組則一般按行存儲(chǔ)。在字符數(shù)組元素的引用上,與一般數(shù)值數(shù)組也是類(lèi)似的,只允許通過(guò)數(shù)組下標(biāo),在C+中沒(méi)有專(zhuān)門(mén)的字符串的類(lèi)型,一個(gè)字符串,其實(shí)就是一個(gè)字符數(shù)組。與普通字符數(shù)組不同的是,字符串在結(jié)尾處有一個(gè)字符0,表示字符串的結(jié)束。 字符串的優(yōu)勢(shì)主要體現(xiàn)在其輸入輸出和賦初值上。例如,將上述字符數(shù)字b用字符串的形式可以有如下兩種表示方式: char b=Hello;/聲明一個(gè)字符串,其長(zhǎng)度為5,包括5個(gè)字符。 char
5、 b=“Hello”;/聲明一個(gè)字符串,其長(zhǎng)度為5,包括5個(gè)字符。 讀者可以看到,使用字符串的形式可以簡(jiǎn)化賦初值,同時(shí)在進(jìn)行輸入輸出的時(shí)候可以不需要使用循環(huán)語(yǔ)句來(lái)完成。 。,字符串,由于字符串的重要性,許多編程語(yǔ)言都提供了關(guān)于字符串處理的一些函數(shù),C+也是如此。在C+中提供了一些函數(shù)來(lái)完成諸如字符串輸入輸出、字符串比較、字符串連接等功能 strcmp函數(shù)字符串比較 strcpy函數(shù)字符串復(fù)制 strcat函數(shù)字符串連接 strlen函數(shù)計(jì)算字符串長(zhǎng)度 gets和puts函數(shù)字符串輸入輸出,字符串處理函數(shù),下面程序段從鍵盤(pán)接收用戶(hù)輸入的一個(gè)不超過(guò)10的整數(shù),輸出該整數(shù)行的楊輝三角。所謂楊輝三角是
6、一個(gè)特征數(shù),其每一行的開(kāi)頭和結(jié)尾數(shù)字都是1,中間所有數(shù)字都可以由前一行前后兩個(gè)數(shù)相加得到。,數(shù)組綜合應(yīng)用,小結(jié),本章主要介紹了C+中非常重要的一種組合型數(shù)據(jù)類(lèi)型數(shù)組,本章對(duì)于數(shù)值型數(shù)組的聲明、初始化和引用等內(nèi)容作了具體講解。此外,針對(duì)數(shù)組包含一維數(shù)組和多維數(shù)組,本章也進(jìn)行了分開(kāi)的闡述。對(duì)于多維數(shù)組,本章重點(diǎn)講解了較為常用的二維數(shù)組的聲明和引用數(shù)組元素等內(nèi)容。字符數(shù)組也是數(shù)組的一種,而字符串是一種特殊的字符數(shù)組,本章具體介紹了字符串的相關(guān)處理函數(shù)及其應(yīng)用,并最后通過(guò)兩個(gè)綜合應(yīng)用示例進(jìn)一步對(duì)數(shù)組的應(yīng)用作了說(shuō)明。,習(xí)題,【題目85】設(shè)有二維數(shù)組b和c,在聲明的同時(shí)進(jìn)行了初始化,如下所示。 int b
7、23=1,2,3, 4,5,6; int c23=1,2,3,4,5,6 則b11和c11的值分別為多少? 【分析】該試題主要考查二維數(shù)組的初始化問(wèn)題。在二維數(shù)組中,允許部分初始化。在對(duì)其中元素進(jìn)行部分初始化時(shí),不足部分補(bǔ)0。因此,上述程序中元素b11獲取的是二維數(shù)組第2行第2列的元素,即5;c11也同樣獲取二維數(shù)組第2行第2列的元素,即5。,【題目86】編寫(xiě)一個(gè)C+程序,分別求出N*N二維數(shù)組中兩個(gè)對(duì)角線(xiàn)元素的和值,并輸出。例如,當(dāng)N為3時(shí),二維數(shù)組如下所示時(shí)候,對(duì)角線(xiàn)元素的和分布為1+5+9=15和3+5+7=15 1 2 3 4 5 6 7 8 9 【分析】該試題主要考查二維數(shù)組的下標(biāo)問(wèn)
8、題。二維數(shù)組中主對(duì)角線(xiàn)上元素的特點(diǎn)是行下標(biāo)和列下標(biāo)相同,若二維數(shù)組名是a,通過(guò)以下循環(huán)可求得主對(duì)角線(xiàn)上元素的和值: for(i=0;iN;i+) s1=s1+aii; 次對(duì)角線(xiàn)上元素的特點(diǎn)是行下標(biāo)與列下標(biāo)相加等于N-1,【題目87】以下數(shù)組定義中不正確的是? Aint a23Bint b3=0; Cint c11=0Dint d3=1,2,1,2,3,1,2,3,4; 【分析】該試題主要考查二維數(shù)組的定義。在上述4個(gè)選項(xiàng)中都是對(duì)二維數(shù)組進(jìn)行定義,其中BCD三個(gè)選項(xiàng)在定義二維數(shù)組的同時(shí)對(duì)其進(jìn)行了初始化。二維數(shù)組的初始化可以給數(shù)組元素全部指定初值,也可以部分初始化。此外,定義二維數(shù)組并初始化時(shí)可以
9、省略數(shù)組的第一維,但不能省略第二維。根據(jù)如上原則,判斷不正確的定義為選項(xiàng)D。,【題目88】編寫(xiě)一個(gè)C+程序,要求通過(guò)數(shù)組的形式接收用戶(hù)輸入的10個(gè)整數(shù),找出其中的最大值并顯示出來(lái)。例如,在用戶(hù)屏幕輸入1 2 3 4 5 6 7 8 9 10等10個(gè)數(shù)字,其返回值如圖7.23所示。,【題目89】以下選項(xiàng)中,不能將字符串正確賦給數(shù)組的是_ Achar str =“china”; Bchar str =“china”; Cchar str =c, h, i, n, a; Dchar str6= c, h, i, n, a; 【分析】該試題主要考查字符串的定義和賦值問(wèn)題。在如上的4個(gè)選項(xiàng)中,AB兩個(gè)選
10、項(xiàng)是沒(méi)有問(wèn)題的,這兩種形式都可以作為字符串定義和初始化。對(duì)于選項(xiàng)C,沒(méi)有給出字符串的長(zhǎng)度而在初始化中給出了5個(gè)字符,這是不允許的,因?yàn)樽址荒芘袛嗪螘r(shí)結(jié)束,也即字符串的結(jié)束符“0”不知加在何處。而選項(xiàng)D也是可以的。因此,上述選項(xiàng)中C是不能正確賦值的。,【題目90】編寫(xiě)一個(gè)C+程序,通過(guò)數(shù)組接收用戶(hù)輸入的5個(gè)同學(xué)的成績(jī),計(jì)算其平均成績(jī)。 【分析】該試題主要考查數(shù)組元素的運(yùn)算。此處先定義一個(gè)包含5個(gè)元素的浮點(diǎn)型數(shù)組,通過(guò)循環(huán)語(yǔ)句接收用戶(hù)的輸入,同時(shí)將這幾個(gè)數(shù)組元素的總和求出。在退出循環(huán)后將總和與5進(jìn)行除法運(yùn)算,得出平均成績(jī)并輸出。,【題目91】要求定義具有8個(gè)int類(lèi)型元素的一維數(shù)組,錯(cuò)誤的定義
11、語(yǔ)句是? Aint n= 8;B#define N 3 int an;int a2*N+2; Cint a =0,1,2,3,4,5,6,7;Dint a1+7=0; 【分析】該試題主要考查一維數(shù)組的定義和初始化問(wèn)題。在進(jìn)行一維數(shù)組的聲明時(shí),讀者要注意其下標(biāo)只能為一個(gè)已經(jīng)確定了常量或常量表達(dá)式,而不能為一個(gè)變量。根據(jù)該原則,可以判斷選項(xiàng)BD的下標(biāo)都是常量表達(dá)式,這是允許的;而選修C初始化后其元素個(gè)數(shù)即為8;只有選項(xiàng)A的下標(biāo)是一個(gè)變量,這是錯(cuò)誤的。因此,錯(cuò)誤的定義語(yǔ)句為A。,【題目92】從鍵盤(pán)輸入10個(gè)整數(shù),檢查整數(shù)85是否包含在這些數(shù)據(jù)中,如包含則統(tǒng)計(jì)其被輸入了幾次?例如,輸入10個(gè)整數(shù)44
12、78 98 85 61 35 85 41 73 85,輸出結(jié)果如下圖7.25所示。,【題目93】編寫(xiě)一個(gè)C+程序,對(duì)用戶(hù)輸入一個(gè)含有10個(gè)整數(shù)的一維數(shù)組,分別計(jì)算數(shù)組中所有正數(shù)和所有負(fù)數(shù)的和。 【題目94】通過(guò)循環(huán)按行順序?yàn)橐粋€(gè)5*5的二維數(shù)組賦125的自然數(shù),然后計(jì)算該數(shù)組的左下半三角元素之和并輸出左下半三角元素。 【題目95】有3個(gè)字符串(每個(gè)不超過(guò)20個(gè)元素),要求找出其中最小者。,【題目96】用篩選法求100以?xún)?nèi)的素?cái)?shù)。 【題目97】有一個(gè)數(shù)組,內(nèi)放10個(gè)整數(shù),要求找出最小的數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素對(duì)換。 【題目98】郵票組合。某人有4張3分的和3張5分的郵票,用這些郵票中的一張或若干張可以得到多少種不同的郵資? 【題目99】有17個(gè)人圍成一個(gè)圈(編號(hào)016),從第0號(hào)的人開(kāi)始從1報(bào)數(shù),凡報(bào)到3的倍數(shù)的人離開(kāi)圈子,然后再數(shù)下去。直到最后只剩下一個(gè)人為止。問(wèn)此人原來(lái)的位置是多少號(hào)?,【題
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度成都社保局勞動(dòng)合同勞動(dòng)者節(jié)假日安排合同
- 二零二五年度體育場(chǎng)館停車(chē)場(chǎng)租賃及賽事服務(wù)協(xié)議
- 二零二五年度個(gè)人自愿捐贈(zèng)養(yǎng)老機(jī)構(gòu)服務(wù)合同
- 2025年度校方責(zé)任險(xiǎn)賠償協(xié)議書(shū):校園學(xué)生實(shí)習(xí)責(zé)任賠償服務(wù)合同
- 二零二五年度醫(yī)療健康服務(wù)承攬合同增值稅發(fā)票開(kāi)具規(guī)范及稅率
- 2025年度琴行音樂(lè)培訓(xùn)中心轉(zhuǎn)讓合同
- 二零二五年度農(nóng)莊租賃與農(nóng)業(yè)科技園區(qū)建設(shè)合同
- 二零二五年度勞動(dòng)合同履行監(jiān)管與合規(guī)保障合同
- 2025年度銀行協(xié)議存款資金池業(yè)務(wù)合作合同
- 2025年度門(mén)面房房屋租賃及物業(yè)維護(hù)服務(wù)合同
- 2021學(xué)安全主題班會(huì)-《與法同行-法制進(jìn)校園》班會(huì)課件
- 機(jī)械加工工藝切削部分培訓(xùn)教材課件
- 數(shù)字信號(hào)處理(課件)
- 出口報(bào)關(guān)單填制規(guī)范課件
- 加油站防雷施工方案(標(biāo)準(zhǔn)版)
- 鉗工實(shí)操評(píng)分表(凹凸配合)
- 鑄造廠熔煉工部安全操作規(guī)程
- 刀具更換作業(yè)指導(dǎo)書(shū)
- 植物根莖葉課件
- 四年級(jí)下冊(cè)英語(yǔ)教案:Unit 4 There are seven days in a week-Lesson 19人教精通版
- 精選四川大學(xué)SCI期刊分級(jí)方案
評(píng)論
0/150
提交評(píng)論