




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第七章 數(shù)組,課程內(nèi)容安排,數(shù)組的概念。 數(shù)組的聲明及其初始化。 數(shù)組元素的引用。 一維數(shù)組和多維數(shù)組的應(yīng)用 字符串的相關(guān)應(yīng)用,數(shù)組概述,所謂數(shù)組,就是一組按照順序排列在一起,且類型相同的多個數(shù)據(jù)。嚴(yán)格來說,數(shù)組并不是一種數(shù)據(jù)類型,而是一組相同類型的變量的集合。在程序中使用數(shù)組的好處是可以用一個統(tǒng)一的數(shù)組名代表邏輯上相關(guān)的一組數(shù)據(jù),并用下標(biāo)表示各元素在數(shù)組中的位置。,數(shù)組的聲明及初始化,和普通的變量一樣,在C+中使用數(shù)組必須先進行類型說明,即對數(shù)組進行聲明。根據(jù)數(shù)組的維數(shù)不同,數(shù)組的聲明可分為一維數(shù)組的聲明和多維數(shù)組的聲明。 一維數(shù)組在具體程序中使用是非常廣泛的,在使用一維數(shù)組前,讀者首先要對
2、數(shù)字進行聲明。C+中,一維數(shù)組的聲明一般形式為: ; 聲明二維數(shù)組的語法格式如下: 類型 數(shù)組名常量表達式1常量表達式2;,引用數(shù)組元素,根據(jù)數(shù)組的分類,對數(shù)組元素的引用也可分為一維數(shù)組的引用和多維數(shù)組的引用。本節(jié)將介紹一維數(shù)組元素的引用。一般來說,一維數(shù)組的數(shù)組元素引用的一般形式為: 其中,下標(biāo)指明了數(shù)組中每個元素的序號,值為整數(shù),用數(shù)組名加下標(biāo)值就可以訪問數(shù)組中對應(yīng)的某個元素。需要讀者注意的是,下標(biāo)值是從0開始的,因此對于一個具有n個元素的一維數(shù)組來說,它的下標(biāo)值是0n-1,不能出現(xiàn)第n個元素。,引用二維數(shù)組元素,二維數(shù)組的引用與一維數(shù)組類似,其引用也根據(jù)下標(biāo)的變化從0n-1取值即可。與一
3、維數(shù)組不同的是,二維數(shù)組含有兩個,因此其中每個中的下標(biāo)都需要從0n-1變化。一般來說,一個二維數(shù)組的數(shù)組元素引用的一般形式為: 上述下標(biāo)1和下標(biāo)2又可寫作時行下標(biāo)和列下標(biāo),二維數(shù)組的數(shù)組元素個數(shù)是其行和列的下標(biāo)乘積。例如,二維數(shù)組a34,其包含的數(shù)組元素個數(shù)為3412個。對二維數(shù)組元素的引用即同時指定其行下標(biāo)和列下標(biāo)。,字符數(shù)組,簡單的說,用來存放字符量的數(shù)組就稱為字符數(shù)組。字符數(shù)組的聲明形式與前面介紹的一般數(shù)組的聲明形式相同。例如,下面語句就聲明了一個字符數(shù)組array: char array5; 同樣的,字符數(shù)組在聲明的同時可以為其賦初值,其方法與數(shù)值數(shù)組相似。例如,下面語句聲明字符數(shù)組b
4、并為其初始化。 char b=H,e,l,l,o;/聲明一個字符數(shù)組,其長度為5,包括5個字符。 此外,字符數(shù)組在內(nèi)存中的存儲與一般數(shù)值數(shù)組相同。一維字符數(shù)組在內(nèi)存中按順序存儲,二維字符數(shù)組則一般按行存儲。在字符數(shù)組元素的引用上,與一般數(shù)值數(shù)組也是類似的,只允許通過數(shù)組下標(biāo),在C+中沒有專門的字符串的類型,一個字符串,其實就是一個字符數(shù)組。與普通字符數(shù)組不同的是,字符串在結(jié)尾處有一個字符0,表示字符串的結(jié)束。 字符串的優(yōu)勢主要體現(xiàn)在其輸入輸出和賦初值上。例如,將上述字符數(shù)字b用字符串的形式可以有如下兩種表示方式: char b=Hello;/聲明一個字符串,其長度為5,包括5個字符。 char
5、 b=“Hello”;/聲明一個字符串,其長度為5,包括5個字符。 讀者可以看到,使用字符串的形式可以簡化賦初值,同時在進行輸入輸出的時候可以不需要使用循環(huán)語句來完成。 。,字符串,由于字符串的重要性,許多編程語言都提供了關(guān)于字符串處理的一些函數(shù),C+也是如此。在C+中提供了一些函數(shù)來完成諸如字符串輸入輸出、字符串比較、字符串連接等功能 strcmp函數(shù)字符串比較 strcpy函數(shù)字符串復(fù)制 strcat函數(shù)字符串連接 strlen函數(shù)計算字符串長度 gets和puts函數(shù)字符串輸入輸出,字符串處理函數(shù),下面程序段從鍵盤接收用戶輸入的一個不超過10的整數(shù),輸出該整數(shù)行的楊輝三角。所謂楊輝三角是
6、一個特征數(shù),其每一行的開頭和結(jié)尾數(shù)字都是1,中間所有數(shù)字都可以由前一行前后兩個數(shù)相加得到。,數(shù)組綜合應(yīng)用,小結(jié),本章主要介紹了C+中非常重要的一種組合型數(shù)據(jù)類型數(shù)組,本章對于數(shù)值型數(shù)組的聲明、初始化和引用等內(nèi)容作了具體講解。此外,針對數(shù)組包含一維數(shù)組和多維數(shù)組,本章也進行了分開的闡述。對于多維數(shù)組,本章重點講解了較為常用的二維數(shù)組的聲明和引用數(shù)組元素等內(nèi)容。字符數(shù)組也是數(shù)組的一種,而字符串是一種特殊的字符數(shù)組,本章具體介紹了字符串的相關(guān)處理函數(shù)及其應(yīng)用,并最后通過兩個綜合應(yīng)用示例進一步對數(shù)組的應(yīng)用作了說明。,習(xí)題,【題目85】設(shè)有二維數(shù)組b和c,在聲明的同時進行了初始化,如下所示。 int b
7、23=1,2,3, 4,5,6; int c23=1,2,3,4,5,6 則b11和c11的值分別為多少? 【分析】該試題主要考查二維數(shù)組的初始化問題。在二維數(shù)組中,允許部分初始化。在對其中元素進行部分初始化時,不足部分補0。因此,上述程序中元素b11獲取的是二維數(shù)組第2行第2列的元素,即5;c11也同樣獲取二維數(shù)組第2行第2列的元素,即5。,【題目86】編寫一個C+程序,分別求出N*N二維數(shù)組中兩個對角線元素的和值,并輸出。例如,當(dāng)N為3時,二維數(shù)組如下所示時候,對角線元素的和分布為1+5+9=15和3+5+7=15 1 2 3 4 5 6 7 8 9 【分析】該試題主要考查二維數(shù)組的下標(biāo)問
8、題。二維數(shù)組中主對角線上元素的特點是行下標(biāo)和列下標(biāo)相同,若二維數(shù)組名是a,通過以下循環(huán)可求得主對角線上元素的和值: for(i=0;iN;i+) s1=s1+aii; 次對角線上元素的特點是行下標(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個選項中都是對二維數(shù)組進行定義,其中BCD三個選項在定義二維數(shù)組的同時對其進行了初始化。二維數(shù)組的初始化可以給數(shù)組元素全部指定初值,也可以部分初始化。此外,定義二維數(shù)組并初始化時可以
9、省略數(shù)組的第一維,但不能省略第二維。根據(jù)如上原則,判斷不正確的定義為選項D。,【題目88】編寫一個C+程序,要求通過數(shù)組的形式接收用戶輸入的10個整數(shù),找出其中的最大值并顯示出來。例如,在用戶屏幕輸入1 2 3 4 5 6 7 8 9 10等10個數(shù)字,其返回值如圖7.23所示。,【題目89】以下選項中,不能將字符串正確賦給數(shù)組的是_ Achar str =“china”; Bchar str =“china”; Cchar str =c, h, i, n, a; Dchar str6= c, h, i, n, a; 【分析】該試題主要考查字符串的定義和賦值問題。在如上的4個選項中,AB兩個選
10、項是沒有問題的,這兩種形式都可以作為字符串定義和初始化。對于選項C,沒有給出字符串的長度而在初始化中給出了5個字符,這是不允許的,因為字符串不能判斷何時結(jié)束,也即字符串的結(jié)束符“0”不知加在何處。而選項D也是可以的。因此,上述選項中C是不能正確賦值的。,【題目90】編寫一個C+程序,通過數(shù)組接收用戶輸入的5個同學(xué)的成績,計算其平均成績。 【分析】該試題主要考查數(shù)組元素的運算。此處先定義一個包含5個元素的浮點型數(shù)組,通過循環(huán)語句接收用戶的輸入,同時將這幾個數(shù)組元素的總和求出。在退出循環(huán)后將總和與5進行除法運算,得出平均成績并輸出。,【題目91】要求定義具有8個int類型元素的一維數(shù)組,錯誤的定義
11、語句是? 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ù)組的定義和初始化問題。在進行一維數(shù)組的聲明時,讀者要注意其下標(biāo)只能為一個已經(jīng)確定了常量或常量表達式,而不能為一個變量。根據(jù)該原則,可以判斷選項BD的下標(biāo)都是常量表達式,這是允許的;而選修C初始化后其元素個數(shù)即為8;只有選項A的下標(biāo)是一個變量,這是錯誤的。因此,錯誤的定義語句為A。,【題目92】從鍵盤輸入10個整數(shù),檢查整數(shù)85是否包含在這些數(shù)據(jù)中,如包含則統(tǒng)計其被輸入了幾次?例如,輸入10個整數(shù)44
12、78 98 85 61 35 85 41 73 85,輸出結(jié)果如下圖7.25所示。,【題目93】編寫一個C+程序,對用戶輸入一個含有10個整數(shù)的一維數(shù)組,分別計算數(shù)組中所有正數(shù)和所有負(fù)數(shù)的和。 【題目94】通過循環(huán)按行順序為一個5*5的二維數(shù)組賦125的自然數(shù),然后計算該數(shù)組的左下半三角元素之和并輸出左下半三角元素。 【題目95】有3個字符串(每個不超過20個元素),要求找出其中最小者。,【題目96】用篩選法求100以內(nèi)的素數(shù)。 【題目97】有一個數(shù)組,內(nèi)放10個整數(shù),要求找出最小的數(shù)和它的下標(biāo),然后把它和數(shù)組中最前面的元素對換。 【題目98】郵票組合。某人有4張3分的和3張5分的郵票,用這些郵票中的一張或若干張可以得到多少種不同的郵資? 【題目99】有17個人圍成一個圈(編號016),從第0號的人開始從1報數(shù),凡報到3的倍數(shù)的人離開圈子,然后再數(shù)下去。直到最后只剩下一個人為止。問此人原來的位置是多少號?,【題
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保加利亞語中的數(shù)字表達文化論文
- 2025-2030全球及中國水翼圍板行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國插入汽車節(jié)溫器行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國心臟成像軟件行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國基于智能手機的汽車信息娛樂系統(tǒng)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 商務(wù)英語中的語言智能決策技術(shù)應(yīng)用論文
- 世界語與匈牙利語的語法對比論文
- 2025年GMAT邏輯推理實戰(zhàn)技巧模擬試卷
- 2025年初中地理環(huán)境與可持續(xù)發(fā)展模擬試卷及詳細(xì)答案解析
- 2025年統(tǒng)計學(xué)專業(yè)期末考試題庫:統(tǒng)計學(xué)學(xué)術(shù)論文寫作中的理論分析與實證檢驗方法探討試題
- 2024-2030年中國液化天然氣透平膨脹機行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 無違法犯罪記錄證明申請表(個人)
- 反生產(chǎn)行為講稿
- 施工現(xiàn)場消防安全技術(shù)交底
- 冀教版二年級語文下冊看圖寫話專項加深練習(xí)題含答案
- 焊接工藝評定及焊接工藝技術(shù)評定管理標(biāo)準(zhǔn)
- 洗衣房各崗位工作流程
- 基于SWOT分析的義烏市現(xiàn)代物流業(yè)發(fā)展研究
- 基于自適應(yīng)濾波對音頻信號的處理詳解
- 油浸式變壓器工藝文件匯編
- 并網(wǎng)前設(shè)備電氣試驗繼電保護整定通訊聯(lián)調(diào)完整資料
評論
0/150
提交評論