第四章 數(shù)組 定義、引用_第1頁
第四章 數(shù)組 定義、引用_第2頁
第四章 數(shù)組 定義、引用_第3頁
第四章 數(shù)組 定義、引用_第4頁
第四章 數(shù)組 定義、引用_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、白 雪 飛中國(guó)科學(xué)技術(shù)大學(xué)電子科學(xué)與技術(shù)系Dept. of Elec. Sci. & Tech., USTCFall, 2003l數(shù)組的概念l一維數(shù)組l二維數(shù)組l字符數(shù)組l概念n有序數(shù)據(jù)的集合l說明n數(shù)組中的每一個(gè)元素都屬于同一數(shù)據(jù)類型n用統(tǒng)一的數(shù)組名和下標(biāo)來唯一的確定數(shù)組中的元素n數(shù)組元素的類型可以是基本類型或?qū)С鲱愋蚻一維數(shù)組的定義l一維數(shù)組元素的引用l一維數(shù)組的存儲(chǔ)形式l一維數(shù)組的初始化l一維數(shù)組程序舉例l定義形式n類型 數(shù)組名常量表達(dá)式;l說明n常量表達(dá)式表示數(shù)組的大小(元素個(gè)數(shù))n數(shù)組大小只能是常量,不能包含變量n整型數(shù)組與整型是兩種不同的數(shù)據(jù)類型l舉例nint a100, b3*2

2、;l引用形式n數(shù)組名下標(biāo)l說明n下標(biāo)是整型表達(dá)式n數(shù)組元素與同類型的變量使用方法相同n數(shù)組下標(biāo)范圍為0N-1(N為數(shù)組長(zhǎng)度)n注意防止數(shù)組下標(biāo)越界l舉例na0=a5+aj*3;l一維數(shù)組的元素在內(nèi)存中依次連續(xù)存儲(chǔ)低地址.a0a1a2a3a4高地址.char a5;l定義數(shù)組時(shí)對(duì)數(shù)組元素賦初值nint a5=1,2,3,4,5;l只給部分元素賦初值nint a5=1,2,3;nint a5=0;n其余元素初值為零l對(duì)全部元素賦初值時(shí),可以不指定長(zhǎng)度nint a=1,2,3,4,5;lFibonacci數(shù)列l(wèi)冒泡排序法l篩法求素?cái)?shù))3(11221nFFFFFnnn#include void mai

3、n()int i, f20=1, 1;for (i=2; i20; i+)fi = fi-2 + fi-1;l兩層循環(huán)結(jié)構(gòu)n外層循環(huán)每次把操作范圍內(nèi)最大的數(shù)放到最后位置n內(nèi)層循環(huán)每次把較大的數(shù)放到靠后的位置l確定每層循環(huán)的邊界n外層循環(huán)n-1次j=0 to n-2n內(nèi)層循環(huán)n-1-j次i=0 to n-2-j#define MAX 100. .for (i=2; iMAX; i+)si=1; /* 初始化,所有數(shù)都在篩子中 */for (i=2; iMAX; i+)if (si)for (m=2*i; mMAX; m+=i)sm=0; /* 從篩子中篩去*/. .l二維數(shù)組的定義l二維數(shù)組的存

4、儲(chǔ)形式l二維數(shù)組元素的引用l二維數(shù)組的初始化l二維數(shù)組與一維數(shù)組l二維數(shù)組程序舉例l定義形式n類型 數(shù)組名常量表達(dá)式常量表達(dá)式;n可以看作元素是一維數(shù)組的一維數(shù)組l舉例nchar a34; /* 3行4列 */a23a22,a21,a20,a2a13a12,a11,a10,a1a03a02,a01,a00,a0al按行存放,先行后列char a34;低地址.a00a01a02a03a10a11a12a13a20a21高地址a22a23.l表示形式n數(shù)組名下標(biāo)下標(biāo)l說明n用法與一維數(shù)組元素類似n注意避免下標(biāo)越界nchar a34;a15 _ a21低地址.a00a01a02a03a10a11a1

5、2a13a20a15 _a21高地址a22a23.l分行給二維數(shù)組賦初值nint a34=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;l對(duì)部分元素賦初值nint a34=1,0,6,9;nint b34=1,5,6;nint c34=1,0,0,11;1211109876543210009006000010000006500010110000000001l對(duì)全部元素賦初值時(shí),第一維長(zhǎng)度可以省略,其他維長(zhǎng)度不能省略nint a4=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12;l只對(duì)部分元素賦初值時(shí),第一維長(zhǎng)度也可以省略,但是要用分行,即能夠判斷第

6、一維長(zhǎng)度nint a4=0,0,3,0,10,11;12111098765432101110000000300l可以用一維數(shù)組描述二維數(shù)組char a23;char a6; aij ai*3+j.a00a01a02a10a11a12.a0a1a2a3a4a5.l矩陣乘法 1,.,0; 1,.,0,10njmibaccABCbBaApkkjikijnmijnpkjpmik. .int aMP, bPN, cMN=0;. .for (i=0; iM; i+) for (j=0; jN; j+) for (k=0; kP; k+) cij+=aik*bkj;. .l字符數(shù)組的使用l字符數(shù)組與字符串l

7、字符數(shù)組的初始化l字符串結(jié)束標(biāo)志l字符串的輸入輸出l字符串處理函數(shù)l字符串程序舉例l與其他類型數(shù)組用法類似nchar a10;na5=f; a7=n; a9=105;na0=a3*4-a4;nchar c=a, , *, n;l用作字符串變量n字符串作為一維字符數(shù)組處理n用字符數(shù)組名來引用字符串變量n字符數(shù)組元素包括字符串結(jié)束標(biāo)志0l字符串作為一維字符數(shù)組來處理nChinanchar str6=C,h, i,n,a,0;.str0Cstr1hstr2istr3nstr4astr50.China0.l字符數(shù)組初始化的方法n逐個(gè)字符賦值給各元素n用字符串常量賦初值l舉例nchar s=T,E,S,

8、T,0;nchar s=TEST;nchar s=TEST;nchar s6=China, Anhui, Hefei, USTC;l字符串結(jié)束標(biāo)志0n以0作為判斷字符串結(jié)束的唯一標(biāo)志n與存放字符串的字符數(shù)組的長(zhǎng)度無關(guān)n所有字符串操作都以0作為結(jié)束條件n如果對(duì)字符數(shù)組每個(gè)元素分別賦值,并作為字符串使用,必須在最后手工添加0n系統(tǒng)在字符串常量后自動(dòng)添加0l舉例nchar s=U,S,T,C,0;l整個(gè)字符串一次輸入輸出n輸出到第一個(gè)0結(jié)束,但不輸出0n輸入輸出時(shí),用一維字符數(shù)組名表示字符串n格式化輸入時(shí),不需要在數(shù)組名前加&n格式化輸入時(shí),空白字符表示輸入結(jié)束n系統(tǒng)自動(dòng)添加0,不需要手工輸入l逐個(gè)

9、字符輸入輸出n用于一些特殊情況,如需要輸入回車符ngetchar(); putchar();char str=China;printf(%s, str);scanf(%s, str);/* 不用&str */char str26;scanf(%s%s, str0, str1);/* 一維字符數(shù)組 */char str=C,h,i,n,a;printf(%s, str);/* 得到什么結(jié)果? */函數(shù)原型說明puts(str)輸出字符串,輸出到0為止并換行g(shù)ets(str)輸入字符串,可輸入空白字符,回車結(jié)束strcat(s1,s2) 字符串連接,s1應(yīng)留有總夠的空間strcpy(s1,s2) 字符串復(fù)制,s1應(yīng)留有總夠的空間strcmp(s1,s2) 字符串比較,依次按ASCII碼比較strlen(str)字符串長(zhǎng)度,不包括結(jié)束標(biāo)志0strlwr(str)字符串小寫,不是標(biāo)準(zhǔn)庫(kù)函數(shù)strupr(str)字符串大寫,不是標(biāo)準(zhǔn)庫(kù)函數(shù)l實(shí)現(xiàn)字符串復(fù)制功能strcpy(str1, str2);l實(shí)現(xiàn)字符串比較功能strcmp(str1, str2);. .char sMAX, tMAX;int i;. .for (i=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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)論