C語言中的數(shù)組_第1頁
C語言中的數(shù)組_第2頁
C語言中的數(shù)組_第3頁
C語言中的數(shù)組_第4頁
C語言中的數(shù)組_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)組是相同類型數(shù)據(jù)的集合。它們都擁有同一個名稱。在大數(shù)量處理處理和字符串操作時,廣泛使用數(shù)組。數(shù)組對C語言來說起著相當至關(guān)重要的作用。本章將重點講數(shù)組的各種操作。在程序設(shè)計的過程中,經(jīng)常會處理一些數(shù)據(jù)類型相同的變量,為了方便,C語言中提供了數(shù)組這一結(jié)構(gòu)。數(shù)組數(shù)組分類分類按照數(shù)據(jù)類型不同分類按照數(shù)據(jù)類型不同分類整型數(shù)組、字符型數(shù)組、指針數(shù)組等整型數(shù)組、字符型數(shù)組、指針數(shù)組等按照數(shù)據(jù)多少按照數(shù)據(jù)多少一維數(shù)組、二維數(shù)組、多維數(shù)組一維數(shù)組、二維數(shù)組、多維數(shù)組前面章節(jié)中講解的C語言的基本數(shù)據(jù)類型只能處理一些簡單的數(shù)據(jù)類型,如果遇到復雜的具有相同類型的多個數(shù)據(jù)那么就很難解決。幸好,C語言提供了數(shù)組來解決了

2、這一個問題。一維數(shù)組是長度固定的數(shù)組,其存儲空間是一片連續(xù)的區(qū)域。本節(jié)將講解一維數(shù)組的概念及其應(yīng)用。聲明數(shù)組是告訴編譯器,數(shù)組名所使用的標識符。數(shù)組的定義是令系統(tǒng)為該數(shù)組分配內(nèi)存空間。在C語言中,數(shù)組的聲明和定義是同時進行的。數(shù)組的初始化是用來實現(xiàn)對數(shù)組的每個元素賦初值的。雖然有的編譯器會自動對數(shù)組賦初值,但為了安全起見,建議用戶自己對數(shù)組賦初值。注意點注意點示例代碼示例代碼若對數(shù)組中的所有元素都賦予了初始值,可以不用指定數(shù)組的若對數(shù)組中的所有元素都賦予了初始值,可以不用指定數(shù)組的大小,系統(tǒng)將自動根據(jù)賦值的個數(shù)來確定數(shù)組的大小大小,系統(tǒng)將自動根據(jù)賦值的個數(shù)來確定數(shù)組的大小intx=1,2,3,

3、4,5;若只對數(shù)組中的部分元素賦予初始值,則系統(tǒng)會自動為其他元若只對數(shù)組中的部分元素賦予初始值,則系統(tǒng)會自動為其他元素賦初始值素賦初始值0intx10=1,2,3,4,5;若只聲明數(shù)組,而不為數(shù)組賦值,則數(shù)組中的元素值是不確定若只聲明數(shù)組,而不為數(shù)組賦值,則數(shù)組中的元素值是不確定的的intx10;C語言數(shù)組的大小只能是常量,而不能使用變量語言數(shù)組的大小只能是常量,而不能使用變量下面的代碼是不合法的:下面的代碼是不合法的:inti=100;intai;在C語言中,一維數(shù)組的引用其實就是對一維數(shù)組元素的使用。一維數(shù)組的引用形式以及相關(guān)舉例如圖5.8所示。二維數(shù)組指有兩個下標的數(shù)組。C語言中,對于常

4、用的數(shù)組除了有一維數(shù)組還有二維數(shù)組。本節(jié)來學習二維數(shù)組。二維數(shù)組有兩個下標。二維數(shù)組中的元素和一維數(shù)組中的元素一樣,具有同樣的數(shù)據(jù)類型。對于二維數(shù)組的初始化有好多種方法,如表5-3所示。二維數(shù)組初始化方法二維數(shù)組初始化方法示例代碼示例代碼分行給二維數(shù)組賦初值分行給二維數(shù)組賦初值inta23=0,1,2,4,5,6可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按照數(shù)組可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按照數(shù)組排列的順序?qū)Ω髟刭x初值排列的順序?qū)Ω髟刭x初值inta23=0,1,2,4,5,6可以對部分元素賦初值,而在每行的其他元素可以對部分元素賦初值,而在每行的其他元素的值為的值為0或者為或者為0inta23=

5、1,4等價于等價于inta23=1,0,0,4,0,0如果對數(shù)組的全部元素賦初值,則定義二維數(shù)如果對數(shù)組的全部元素賦初值,則定義二維數(shù)組時可以不指明下標組時可以不指明下標1,但是必須明確指明下,但是必須明確指明下標標2的長度的長度inta23=0,1,2,4,5,6等價于等價于inta3=0,1,2,4,5,6二維數(shù)組的引用形式如圖5.13所示。字符數(shù)組就是用來存放字符的。在計算機中經(jīng)常會處理字符,C語言對字符的處理主要是通過字符數(shù)組實現(xiàn)的。在本節(jié)中將會講述字符數(shù)組的概念及其應(yīng)用。字符數(shù)組的含義如圖5.17所示。概念概念在在C語言中,由若干字符組成的序列稱為字符串語言中,由若干字符組成的序列稱

6、為字符串結(jié)束標志結(jié)束標志字符串一般以字符串一般以0作為結(jié)束標志作為結(jié)束標志存儲形式存儲形式字符串不能用一個變量存放,必須用字符數(shù)組來存放字符串不能用一個變量存放,必須用字符數(shù)組來存放一維字符數(shù)組的初始化方式一般有兩種,如表5-4所示。初始化方式初始化方式示例代碼示例代碼說明說明逐個為字符數(shù)組賦值逐個為字符數(shù)組賦值char c6= H, e, l, l, o;每個字符會依次賦值給數(shù)組中的每個元素每個字符會依次賦值給數(shù)組中的每個元素用字符串直接給字符數(shù)組賦值用字符串直接給字符數(shù)組賦值charc6=Hello;直接將字符串賦給字符數(shù)組來初始化。系統(tǒng)會依次直接將字符串賦給字符數(shù)組來初始化。系統(tǒng)會依次讀

7、取字符串中的每個字符,賦值給數(shù)組每個元素,讀取字符串中的每個字符,賦值給數(shù)組每個元素,并在字符串的的結(jié)尾處加一個字符即結(jié)束符并在字符串的的結(jié)尾處加一個字符即結(jié)束符0作為作為一個數(shù)組元素。一個數(shù)組元素。charc6=Hello;等價于等價于charc6=Hello;等價于等價于charc=Hello;前面已經(jīng)講解過了一維數(shù)組與二維數(shù)組的引用,所以字符數(shù)組的引用大家應(yīng)該已經(jīng)有一個概念了。C語言中,可以引用字符數(shù)組中的一個元素,得到一個字符。這一小節(jié)通過兩個簡單的示例講解一維字符數(shù)組和二維字符數(shù)組的引用。字符數(shù)組的輸入輸出有兩種方法,如圖5.23所示。注意點注意點注意事項注意事項說明說明1輸出字符不

8、包括結(jié)束字符0如圖如圖5.2的輸出結(jié)果可以看出的輸出結(jié)果可以看出2用“%s”格式輸出時,printf()函數(shù)的輸出項是字符數(shù)組名,而不是字符元素printf(“%s”,c);/其中數(shù)組名為其中數(shù)組名為c3如果數(shù)組長度大于字符串的實際長度,也只是輸出遇到結(jié)束字符結(jié)束輸出charc10=“China”/字符串的長度為字符串的長度為5printf(“%s”,c);/也只輸出字符串也只輸出字符串“China”,而不是輸出而不是輸出10個字符個字符4如果一個字符數(shù)組由多個0,則遇到第一個0就結(jié)束輸出因為字符因為字符0是字符串的結(jié)束標志是字符串的結(jié)束標志5可以用可以用scanf函數(shù)輸入一個字符串函數(shù)輸入一個字符串scanf(“%s”,c);通過輸出楊

溫馨提示

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

評論

0/150

提交評論