![第七章 數(shù)組課件_第1頁(yè)](http://file4.renrendoc.com/view/67bc466a36d9e8ed558ec332d162cb34/67bc466a36d9e8ed558ec332d162cb341.gif)
![第七章 數(shù)組課件_第2頁(yè)](http://file4.renrendoc.com/view/67bc466a36d9e8ed558ec332d162cb34/67bc466a36d9e8ed558ec332d162cb342.gif)
![第七章 數(shù)組課件_第3頁(yè)](http://file4.renrendoc.com/view/67bc466a36d9e8ed558ec332d162cb34/67bc466a36d9e8ed558ec332d162cb343.gif)
![第七章 數(shù)組課件_第4頁(yè)](http://file4.renrendoc.com/view/67bc466a36d9e8ed558ec332d162cb34/67bc466a36d9e8ed558ec332d162cb344.gif)
![第七章 數(shù)組課件_第5頁(yè)](http://file4.renrendoc.com/view/67bc466a36d9e8ed558ec332d162cb34/67bc466a36d9e8ed558ec332d162cb345.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
東華大學(xué)通信與電子工程系第七章數(shù)組一維數(shù)組二維數(shù)組及多維數(shù)組字符數(shù)組和字符串?dāng)?shù)組概念東華大學(xué)通信與電子工程系第七章數(shù)組一維數(shù)組二維數(shù)組及多東華大學(xué)通信與電子工程系東華大學(xué)通信與電子工程系東華大學(xué)通信與電子工程系東華大學(xué)通信與電子工程系東華大學(xué)通信與電子工程系輸入5個(gè)按學(xué)號(hào)排列的學(xué)生某門(mén)課的成績(jī)表,要求按與輸入次序相反的順序輸出#include<stdio.h>voidmain(){floats1,s2,s3,s4,s5;printf(“enterfivescores:");scanf("%f,%f,%f,%f,%f",&s1,&s2,&s3,&s4,&s5);printf("\nThescoreinreverseorderare:");printf("%f\n",s5);printf("%f\n",s4);printf("%f\n",s3);printf("%f\n",s2);printf("%f\n",s1);}這些數(shù)據(jù)具有共同的特點(diǎn):由若干分量構(gòu)成;數(shù)據(jù)的各個(gè)分量都是同一類(lèi)型;這些分量是按一定順序排列的。東華大學(xué)通信與電子工程系輸入5個(gè)按學(xué)號(hào)排列的學(xué)生某門(mén)課的成東華大學(xué)通信與電子工程系數(shù)組概念構(gòu)造數(shù)據(jù)類(lèi)型之一數(shù)組:按序排列的具有相同類(lèi)型的變量的集合。用數(shù)組名標(biāo)識(shí)這一組數(shù)。元素:屬同一數(shù)據(jù)類(lèi)型,用數(shù)組名和下標(biāo)確定數(shù)組中的元素。
數(shù)組元素的作用相當(dāng)于簡(jiǎn)單變量東華大學(xué)通信與電子工程系數(shù)組概念構(gòu)造數(shù)據(jù)類(lèi)型之一東華大學(xué)通信與電子工程系一維數(shù)組的定義定義方式:數(shù)據(jù)類(lèi)型數(shù)組名[常量表達(dá)式];
合法標(biāo)識(shí)符代表數(shù)組元素的個(gè)數(shù),即數(shù)組長(zhǎng)度下標(biāo)從0開(kāi)始7.1
一維數(shù)組
例:inta[5];表示有5個(gè)元素,元素的下標(biāo)從0開(kāi)始.數(shù)組a的元素分別為:a[0],a[1],a[2],a[3],a[4]例inti=15;intdata[i];(
不能用變量定義數(shù)組長(zhǎng)度)例#defineM20floaty[4*M+1];(合法,M是符號(hào)常量)東華大學(xué)通信與電子工程系一維數(shù)組的定義合法標(biāo)識(shí)符代表數(shù)組元東華大學(xué)通信與電子工程系一維數(shù)組的存儲(chǔ)C編譯程序用連續(xù)的內(nèi)存單元存放各個(gè)元素例
inta[6];a[0]0145a[1]a[2]a[3]a[4]a[5]23a編譯時(shí)分配連續(xù)內(nèi)存內(nèi)存總字節(jié)數(shù)=數(shù)組長(zhǎng)度*
sizeof(元素?cái)?shù)據(jù)類(lèi)型)如:總字節(jié)數(shù)=6*2=12數(shù)組名代表的是數(shù)組在內(nèi)存中的首地址,是地址常量東華大學(xué)通信與電子工程系一維數(shù)組的存儲(chǔ)C編譯程序用連續(xù)的內(nèi)東華大學(xué)通信與電子工程系數(shù)組必須先定義,后使用數(shù)組元素表示形式:數(shù)組名[下標(biāo)]其中:下標(biāo)可以是常量或整型表達(dá)式例inta[10];printf(“%d”,a);(
)必須for(j=0;j<10;j++)printf(“%d\t”,a[j]);(
)例intt,data[5];t=data[2];//引用data數(shù)組中序號(hào)為2的元素。一維數(shù)組的引用注意:只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組東華大學(xué)通信與電子工程系例inta[10]東華大學(xué)通信與電子工程系用數(shù)組實(shí)現(xiàn)#include<stdio.h>voidmain(){inti;floats[100];printf("Enterthescores:");for(i=0;i<100;i++)//數(shù)組元素的輸入
scanf("%f",&s[i]);printf("\nThescoresinreverseorderare:");for(i=99;i>=0;i--)//數(shù)組元素的輸出
printf("%f\n",s[i]);}
東華大學(xué)通信與電子工程系用數(shù)組實(shí)現(xiàn)#include<st東華大學(xué)通信與電子工程系初始化方式在定義數(shù)組時(shí),為數(shù)組元素賦初值(在編譯階段使之得到初值)inta[5]={1,2,3,4,5};等價(jià)于:a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5;說(shuō)明:數(shù)組不初始化,其元素值為隨機(jī)數(shù)
數(shù)組不進(jìn)行初始化時(shí),編譯器不為其自動(dòng)指定初始值。其初始值為系統(tǒng)分配給數(shù)組各元素的內(nèi)存單元原來(lái)的值,這個(gè)值是不可預(yù)知的。一維數(shù)組的初始化東華大學(xué)通信與電子工程系在定義數(shù)組時(shí),為數(shù)組元素賦初值i東華大學(xué)通信與電子工程系數(shù)組元素賦初值
對(duì)全部元素賦初值。如:inta[10]={10,11,12,13,14,15,16,17,18,19}表示數(shù)組元素的值為:a[0]=10;a[1]=11;
a[9]=19;在對(duì)全部數(shù)組元素賦初值時(shí),可不指定數(shù)組長(zhǎng)度
如:inta[]={1,2,3,4,5,6};//編譯系統(tǒng)根據(jù)初值個(gè)數(shù)確定數(shù)組長(zhǎng)度東華大學(xué)通信與電子工程系數(shù)組元素賦初值對(duì)全部元素賦初值東華大學(xué)通信與電子工程系
對(duì)部分元素賦初值(前面的連續(xù)元素)。如:在此,只有前5個(gè)元素初值確定,后面5個(gè)元素的值為0。intb[10]={0,1,2,3,4};表示數(shù)組元素的值為:b[0]=0;b[1]=1;b[2]=2;b[3]=3;b[4]=4;東華大學(xué)通信與電子工程系對(duì)部分元素賦初值(前面的東華大學(xué)通信與電子工程系#include<stdio.h>voidmain(){ inti,b[10]={0,1,2,3,4};for(i=0;i<10;i++) printf("%d\n",b[i]);}東華大學(xué)通信與電子工程系#include<stdio.h東華大學(xué)通信與電子工程系注意:不能只對(duì)不連續(xù)部分元素或后面的連續(xù)元素賦初值。語(yǔ)句:
inta[10]={,,,,,1,2,3,4,5};是錯(cuò)誤的inta[10]={1,,3,,5,,7,,9,,};是錯(cuò)誤的。錯(cuò)誤:初始值的個(gè)數(shù)大于元素的個(gè)數(shù)如:intb[3]={3,6,2,7,3,1,9};是錯(cuò)誤的東華大學(xué)通信與電子工程系注意:不能只對(duì)不連續(xù)部分元素或后面東華大學(xué)通信與電子工程系給一個(gè)不多于9位的正整數(shù),要求:1)求出它是幾位數(shù);2)分別輸出每一位數(shù)字;3)按逆序輸出各位數(shù)字#include<stdio.h>voidmain(){longintnumber,num;
inti,j,d[9]; printf("請(qǐng)輸入一個(gè)位數(shù)<=9的正整數(shù):"); scanf("%ld",&number);i=0; num=number;//保存輸入的整數(shù)的原值
do { d[i]=num%10; i++; num=num/10; }while(num);//d[0],d[1],...,分別存儲(chǔ)該整數(shù)的第1,2,...,位數(shù)字東華大學(xué)通信與電子工程系給一個(gè)不多于9位的正整數(shù),要求:1東華大學(xué)通信與電子工程系 if(i>9)//i的當(dāng)前值為該數(shù)的位數(shù)
printf("輸入的整數(shù)已超出范圍!\n"); else { printf("%ld的位數(shù)為:%d\n",number,i);
printf("它的每位數(shù)字分別為:"); for(j=i-1;j>=0;j--)//分別輸出該數(shù)的各位數(shù)字
printf("%3d",d[j]); printf("\n"); printf("將該數(shù)逆序輸出為:"); for(j=0;j<i;j++) printf("%d",d[j]); printf("\n"); }}東華大學(xué)通信與電子工程系 if(i>9)東華大學(xué)通信與電子工程系排序過(guò)程:(1)比較第一個(gè)數(shù)與第二個(gè)數(shù),若為逆序a[0]>a[1],則交換;然后比較第二個(gè)數(shù)與第三個(gè)數(shù);依次類(lèi)推,直至第n-1個(gè)數(shù)和第n個(gè)數(shù)比較為止——第一趟冒泡排序,結(jié)果最大的數(shù)被安置在最后一個(gè)元素位置上(2)對(duì)前n-1個(gè)數(shù)進(jìn)行第二趟冒泡排序,結(jié)果使次大的數(shù)被安置在第n-1個(gè)元素位置(3)重復(fù)上述過(guò)程,共經(jīng)過(guò)n-1趟冒泡排序后,排序結(jié)束例用冒泡法對(duì)8個(gè)數(shù)排序東華大學(xué)通信與電子工程系排序過(guò)程:例用冒泡法對(duì)8個(gè)數(shù)排東華大學(xué)通信與電子工程系例3849657613273097
第一趟38496513273076
第二趟384913273065
第三趟3813273049
第四趟13273038
第五趟132730
第六趟4938659776132730
初始關(guān)鍵字n=8384976971397972730971376767627301365276530651313494930492738273830381327
第七趟例用冒泡法對(duì)8個(gè)數(shù)排序(圖解)東華大學(xué)通信與電子工程系例384965東華大學(xué)通信與電子工程系#defineN8#include<stdio.h>voidmain(){ inti,j,t,a[N]; printf(“Input8numberstobesorted:\n");for(i=0;
i<N;i++) scanf("%d",&a[i]);for(j=0;j<N-1;j++)
//外循環(huán)j控制比較的趟數(shù)N-1 for(i=0;i<N-1-j;i++)
//內(nèi)循環(huán)i控制一趟比較的次數(shù)N-1-j
if(a[i]>a[i+1])
{ t=a[i]; a[i]=a[i+1]; a[i+1]=t;
}printf("\nthesortednumbers:\n");for(i=0;i<N;i++) printf("%5d",a[i]);printf("\n");}東華大學(xué)通信與電子工程系#defineN8東華大學(xué)通信與電子工程系二維數(shù)組的定義定義方式:
數(shù)據(jù)類(lèi)型數(shù)組名[常量表達(dá)式][常量表達(dá)式];例inta[3][4];floatb[2][5];intc[2][3][4];
inta[3,4];(
)行數(shù)列數(shù)元素個(gè)數(shù)=行數(shù)*列數(shù)7.2二維數(shù)組及多維數(shù)組東華大學(xué)通信與電子工程系例inta[3][4];東華大學(xué)通信與電子工程系例inta[3][4];20161720181920202120222320089201011201213201415200012002320045200067a[0][0]a[0][1]a[0][2]a[0][3]a[1][0]a[1][1]a[1][2]a[1][3]a[2][0]a[
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房裝修工程合同管理及咨詢(xún)服務(wù)
- 2025年系列自動(dòng)遙測(cè)氣象站項(xiàng)目建議書(shū)
- 秋季重點(diǎn)學(xué)科教學(xué)方案計(jì)劃
- 秘書(shū)職業(yè)女性的挑戰(zhàn)與機(jī)遇計(jì)劃
- 幼兒表達(dá)能力提升計(jì)劃
- 社區(qū)親和力提升的途徑計(jì)劃
- 資金流動(dòng)性管理策略計(jì)劃
- 急診科應(yīng)急響應(yīng)機(jī)制強(qiáng)化計(jì)劃
- 藝術(shù)設(shè)計(jì)行業(yè)新年工作策略計(jì)劃
- 營(yíng)造積極班級(jí)氣氛的實(shí)踐計(jì)劃
- 蘇州地圖高清矢量可填充編輯PPT模板(精美)
- 田字格(綠色標(biāo)準(zhǔn))
- 氧化鋁生產(chǎn)工藝教學(xué)(拜耳法)PPT課件
- 校本課程——生活中的化學(xué)
- 八字調(diào)候用神表
- 停車(chē)場(chǎng)巡視記錄表
- 河道景觀設(shè)計(jì)說(shuō)明
- 《汽車(chē)性能評(píng)價(jià)與選購(gòu)》課程設(shè)計(jì)
- 35kV絕緣導(dǎo)線門(mén)型直線桿
- 工程成本分析報(bào)告(新)
- 國(guó)際學(xué)術(shù)會(huì)議海報(bào)模板16-academic conference poster model
評(píng)論
0/150
提交評(píng)論