資源描述:
《c語言課件 第4章 數(shù)組.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、Whatpainsustrainsus.---使我們痛苦的東西在真正鍛煉我們。Youmakethefailurecompletewhenyoustoptrying.---當(dāng)你停止嘗試的時(shí)候你就完全失敗了。數(shù)組是由若干同類元素組成的數(shù)據(jù)表。數(shù)組能表示非常廣泛的數(shù)據(jù)集合,一組相關(guān)的同類數(shù)據(jù)集合能用數(shù)組簡(jiǎn)潔表示。例如,一個(gè)班級(jí)學(xué)生的某門課程的成績(jī),一行字符,一個(gè)整數(shù)向量,由向量組成的矩陣等。4.1數(shù)組的基本概念第4章數(shù)組定義:類型說明符數(shù)組名[常量表達(dá)式];例如:inta[5];表示:數(shù)組名為a,有5個(gè)元素,每個(gè)元素均為整數(shù)說明:類型說明符用來指明數(shù)組元素的類型,同一數(shù)組元素的
2、類型相同。數(shù)組是一個(gè)變量,與一般變量一樣,用標(biāo)識(shí)符命名數(shù)組名,遵守標(biāo)識(shí)符的命名規(guī)則。方括號(hào)“[]”是數(shù)組的標(biāo)志,方括號(hào)中的常量表達(dá)式表示數(shù)組的元素個(gè)數(shù),即數(shù)組的長(zhǎng)度。定義數(shù)組時(shí)[]中不可以用變量名。例如:intm,x[m];/*數(shù)組的大小不能用變量的值指定*/scanf("%d",&m);4.2一維數(shù)組出錯(cuò)指數(shù):4.數(shù)組元素的下標(biāo)從0開始,至數(shù)組元素個(gè)數(shù)減1。5.常量表達(dá)式是整型常量、符號(hào)常量或sizeof(類型名),以及由它們組成的表達(dá)式。例如,inta[5];定義數(shù)組a有5個(gè)元素,每個(gè)元素都是整型的。數(shù)組a有如下圖所示的邏輯結(jié)構(gòu)。在C語言中,數(shù)組類型是這樣一種數(shù)據(jù)結(jié)構(gòu)
3、:數(shù)組中每個(gè)元素的數(shù)據(jù)類型相同,最多元素個(gè)數(shù)限定,其元素按順序存放,每個(gè)元素對(duì)應(yīng)一個(gè)序號(hào)(稱為下標(biāo)),各元素按下標(biāo)存取(稱為引用)。數(shù)組元素的存儲(chǔ)順序與其下標(biāo)對(duì)應(yīng),數(shù)組元素的下標(biāo)從0開始順序編號(hào)。數(shù)組元素是變量,其值是可以變化的。數(shù)組元素變量與相同類型的獨(dú)立的變量一樣使用。引用數(shù)組元素變量所需的下標(biāo)個(gè)數(shù)由數(shù)組的維數(shù)決定,數(shù)組有一維數(shù)組、二維數(shù)組或多維數(shù)組之分。數(shù)組初始化:在數(shù)組定義的同時(shí),給出它的元素的初值。(1)數(shù)組定義時(shí),順序給出數(shù)組全部元素的初值例:intd[5]={0,1,2,3,4};即:d[0]=0;d[1]=1;d[2]=2;d[3]=3;d[4]=4;說明
4、:將數(shù)組元素的初值依次寫在一對(duì)花括弧內(nèi)。(2)只給數(shù)組的前面一部分元素設(shè)定初值例:inte[5]={0,1,2};即:e[0]=0;e[1]=1;e[2]=2;e[3]=0;e[4]=0;4.2一維數(shù)組初始化說明:①當(dāng)數(shù)組前n個(gè)元素被設(shè)定了初值,未明確設(shè)定初值的元素自動(dòng)被設(shè)定為0。②當(dāng)定義數(shù)組時(shí),如未對(duì)它的元素指定過初值,則它的元素的值是不確定的。(3)當(dāng)對(duì)一維數(shù)組的全部元素都明確設(shè)定初值時(shí),可以不指定一維數(shù)組元素的個(gè)數(shù)。例如:intg[]={5,6,7,8,9};說明:由花括號(hào)內(nèi)的初值個(gè)數(shù)確定數(shù)組的元素個(gè)數(shù)注意:初值個(gè)數(shù)不允訴超過數(shù)組元素個(gè)數(shù)例如:intc[5]={0,
5、1,2,3,4,5};/*錯(cuò)誤表示*/出錯(cuò)指數(shù):形式:數(shù)組名[下標(biāo)]說明:下標(biāo)是整型常量、整型變量或整型表達(dá)式(注意與定義數(shù)組時(shí)的區(qū)別)例:inta[10],i=2;a[0]=a[1]+a[2]-a[2*i+1];/*正確*/a[10]=a[0]+a[5];/*錯(cuò)誤*/例4.1順序輸入線性表的前10個(gè)元素,并輸出。for(i=0;i<10;i++)/*順序輸入數(shù)組x的10個(gè)元素*/scanf("%d",&x[i]);for(i=0;i<10;i++)/*順序輸出x的10個(gè)元素*/printf("%dt",x[i]);4.2一維數(shù)組元素的引用例4.2統(tǒng)計(jì)數(shù)組中大于0、等于
6、0和小于0的元素個(gè)數(shù)。設(shè)數(shù)組為x,元素個(gè)數(shù)為n個(gè)。引入大于0、等于0和小于0的計(jì)數(shù)器變量great、equal和less。great=equal=less=0;/*計(jì)數(shù)器變量置初值0*/for(i=0;i0)great++;elseif(x[i]==0)equal++;elseless++;設(shè)數(shù)組a原來有n個(gè)元素,要求在k下標(biāo)位置插入一個(gè)值為x元素。為了在k位置插入x,必須將元素a[k]至a[n-1]分別順序后移一個(gè)位置。并要求元素后移順序從a[n-1]開始逆序至a[k]。后移結(jié)束后,就可將a[k]設(shè)置成x。最后,增加數(shù)組的元素個(gè)數(shù)。for(
7、i=n-1;i>=k;i--)/*自a[n-1]開始逆序至a[k]逐一后移*/a[i+1]=a[i];a[k]=x;n++;/*數(shù)組的元素增加了一個(gè)*/注意:后移不能從a[k]開始依次至a[n-1]逐一后移,這將使數(shù)組從a[k+1]至a[n]的值都被設(shè)置成a[k]。例4.3在數(shù)組中插入一個(gè)元素a[0]a[1]…a[k]a[k+1]…a[n-1]a[n]x設(shè)數(shù)組a已有n個(gè)元素,要求在k下標(biāo)位置的元素從數(shù)組中刪去。為了在k下標(biāo)位置刪除元素,必須將元素a[k+1]至a[n-1]分別順序前移一個(gè)位置。最后,減少數(shù)組的元素個(gè)數(shù)。for(