資源描述:
《《C語(yǔ)言數(shù)組教案》PPT課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第五章構(gòu)造數(shù)據(jù)類型-數(shù)組和結(jié)構(gòu)體計(jì)算機(jī)與信息技術(shù)學(xué)院靳小燕內(nèi)容提要數(shù)組類型;常用算法:排序、查找等;難點(diǎn):二維數(shù)組應(yīng)用向函數(shù)傳遞一維數(shù)組和二維數(shù)組;用字符數(shù)組存取字符串;使用字符串處理函數(shù)處理字符串;結(jié)構(gòu)體。5.1數(shù)組概述5.2一維數(shù)組5.3一維數(shù)組應(yīng)用5.4二維數(shù)組5.5數(shù)組作函數(shù)的參數(shù)5.6字符數(shù)組與字符串5.7結(jié)構(gòu)體練習(xí)數(shù)學(xué)黑洞問(wèn)題取任意一個(gè)4位數(shù)(4個(gè)數(shù)字均為同一個(gè)數(shù)的除外),把四個(gè)數(shù)字對(duì)調(diào)后組成一個(gè)最大的數(shù)和一個(gè)最小的數(shù),兩數(shù)相減得出一個(gè)新數(shù),重復(fù)以上過(guò)程,至多7次,就會(huì)得到6174,且不
2、再變化。例子:以7642為例:7642-2467=5175;7551-1557=5994;9954-4599=5355;5553-3555=1998;9981-1899=8082;8820-0288=8532;8532-2358=6174;7641-1467=6174。程序演示運(yùn)行結(jié)果:5.1數(shù)組概述構(gòu)造數(shù)據(jù)類型之一定義:數(shù)組是有序數(shù)據(jù)的集合例如:inta[30];組成數(shù)組的數(shù)據(jù)稱為數(shù)組的元素?cái)?shù)組的每個(gè)元素都屬于同一個(gè)數(shù)據(jù)類型每個(gè)數(shù)組要用一個(gè)統(tǒng)一的標(biāo)識(shí)符標(biāo)識(shí)用處:保存大量同類型的相關(guān)數(shù)據(jù)如矩陣運(yùn)算,
3、表格數(shù)據(jù)等。定義引用初始化輸入和輸出舉例5.2一維數(shù)組數(shù)據(jù)類型說(shuō)明符數(shù)組名[常量表達(dá)式];合法標(biāo)識(shí)符例inta[6]={1,3,5,7,9,11};編譯時(shí)分配連續(xù)內(nèi)存內(nèi)存字節(jié)數(shù)=數(shù)組元素的個(gè)數(shù)*sizeof(元素?cái)?shù)據(jù)類型)數(shù)組名表示內(nèi)存首地址,是地址常量常量表達(dá)式中可以包括符號(hào)常量和符號(hào)常量,不能包括變量。1357911aa[0]a[1]a[2]a[5]a[3]a[4]定義一維數(shù)組引用數(shù)組必須先定義,后使用只能逐個(gè)引用數(shù)組元素例如,定義數(shù)組inta[8],數(shù)組元素為:a[2]=1;a[i+j];(i
4、,j為整型變量)下標(biāo)的值不要超過(guò)數(shù)組的范圍。注意一維數(shù)組例5.2-1#includevoidmain(){inta=1,c=2,b[5],i;printf("%p,%p,%p",b,&a,&c);/*打印數(shù)組b、變量a和c的首地址*/for(i=0;i<=11;i++)/*讓下標(biāo)值越界訪問(wèn)數(shù)組的元素*/{b[i]=i;printf("%d",b[i]);}printf("a=%d,c=%d",a,c);}初始化初始化方式在定義數(shù)組時(shí),為數(shù)組元素賦初值(在編譯階段使之得到
5、初值)inta[5]={1,2,3,4,5};等價(jià)于:a[0]=1;a[1]=2;..a[4]=5;說(shuō)明:數(shù)組不初始化,其元素值為隨機(jī)數(shù)對(duì)static數(shù)組元素不賦初值,系統(tǒng)會(huì)自動(dòng)賦以0值當(dāng)全部數(shù)組元素賦初值時(shí),可不指定數(shù)組長(zhǎng)度如inta[5]={6,2,3};等價(jià)于:a[0]=6;a[1]=2;a[2]=3;a[3]=0;a[4]=0;staticinta[5];等價(jià)于:a[0]=0;a[1]=0;a[2]=0;a[3]=0;a[4]=0;只給部分?jǐn)?shù)組元素賦初值inta[]={1,2,3,4,5,6
6、};編譯系統(tǒng)根據(jù)初值個(gè)數(shù)確定數(shù)組的大小輸入和輸出C語(yǔ)言規(guī)定,對(duì)數(shù)組的使用只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組。同樣,對(duì)數(shù)組的輸入和輸出也是依次對(duì)每個(gè)元素進(jìn)行的。例輸入10個(gè)數(shù),并將它們輸出。printf("pleaseenterthedata:");for(i=0;i<10;i++)scanf("%d",&array[i]);printf("outputthedata:");for(i=0;i<10;i++)printf("%d",array[i]);printf("");}輸入輸
7、出定義printf("min=%d",min);}#includevoidmain(){inti,min,x[10];printf("enterdata:");for(i=0;i<10;i++)scanf("%d",&x[i]);min=x[0];for(i=1;i<10;i++)if(x[i]8、較(循環(huán))若x[i]intmain(){inti,min,x[10],no;printf("enterdata:");for(i=0;i<10;i++)scanf("%d",&x[i]);min=x[0];for(i=1;i<10;i++)if(x[i]