九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

C語(yǔ)言程序設(shè)計(jì)07章數(shù)組.ppt

  • 資源ID:11495388       資源大?。?span id="24d9guoke414" class="font-tahoma">418KB        全文頁(yè)數(shù):42頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

C語(yǔ)言程序設(shè)計(jì)07章數(shù)組.ppt

第七章數(shù)組,數(shù)組的定義:是有序數(shù)據(jù)的集合。數(shù)組的特點(diǎn):數(shù)組中的每個(gè)元素都屬于同一數(shù)據(jù)類型。數(shù)組的訪問(wèn):我們用一個(gè)統(tǒng)一的數(shù)組名和下標(biāo)來(lái)唯一地確定數(shù)組中的元素。,基本類型:charintfloatdoubleenum構(gòu)造類型:Arraystructunion空類型void指針類型:與以上各種類型相結(jié)合。,概述,數(shù)據(jù)類型,7.1一維數(shù)組的定義和引用,7.1.1一維數(shù)組的定義定義方式:類型說(shuō)明符數(shù)組名常量表達(dá)式例:inta10;它表示數(shù)組名為a,此數(shù)組有10個(gè)整型元素。如右圖:,說(shuō)明:1)數(shù)組名命名規(guī)則和用戶標(biāo)識(shí)符命名規(guī)則相同;2)數(shù)組名的常量表達(dá)式用方括弧括起來(lái),而不是用圓括弧。3)常量表達(dá)式表示元素的個(gè)數(shù),即數(shù)組長(zhǎng)度。例如:inta10;表示a數(shù)組共有10個(gè)元素,下標(biāo)從0開(kāi)始,分別為:a0,a1,a2,a3,a4,a5,a6,a7,a8,a9注意:沒(méi)有a10。4)常量表達(dá)式中可以包括常量和符號(hào)常量,不能包含變量,即數(shù)組的大小應(yīng)在編譯階段確定,不允許在程序運(yùn)行過(guò)程中才確定。例如:intn;scanf(“%d”,是不合法的。,7.1.2一維數(shù)組元素的引用,C語(yǔ)言規(guī)定,只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)組。一維數(shù)組元素的表示形式為:數(shù)組名下標(biāo)其中下標(biāo)可以是整型(常量/變量)或整型表達(dá)式。例如:a0=a5+a7-a2*3;,例7.1數(shù)組元素的引用main()inti,a10;for(i=0;i=0;i-)printf(“%d”,ai);本例使a0到a9的值為09,然后按逆序輸出這10個(gè)元素的值。,7.1.3一維數(shù)組的初始化,(1)完全初始化:在定義一個(gè)數(shù)組時(shí),對(duì)數(shù)組中所有元素都提供了初始化數(shù)據(jù)。例如:inta10=0,1,2,3,4,5,6,7,8,9;其中:a0=0,a1=1,a2=2,a3=3,a4=4,a5=5,a6=6,a7=7,a8=8,a9=9(2)部分初始化:提供了初始化數(shù)據(jù),但數(shù)據(jù)不夠,不夠的部分取0。例如:inta10=0,1,2,3,4;其中:a0=0,a1=1,a2=2,a3=3,a4=4,a5=0,a6=0,a7=0,a8=0,a9=0(3)沒(méi)有初始化:只是定義了一個(gè)數(shù)組,但沒(méi)有提供任何初始化數(shù)據(jù),這時(shí)數(shù)組中每個(gè)元素的值是不確定的。例如:inta10;,(4)如果想把數(shù)組中所有元素初始化為0,可以寫成:inta10=0,0,0,0,0,0,0,0,0,0;但不能寫成:inta10=0*10;(5)若對(duì)數(shù)組中所有元素進(jìn)行了初始化,可不指定數(shù)組長(zhǎng)度。例如:inta5=0,1,2,3,4;可以寫成:inta=0,1,2,3,4;對(duì)于后一種定義系統(tǒng)會(huì)默認(rèn)a數(shù)組的長(zhǎng)度為5。但是如果被定義的數(shù)組長(zhǎng)度與提供初值的個(gè)數(shù)不相同時(shí),則數(shù)組長(zhǎng)度不能省略。例如:inta10=0,1,2,3,4;只初始化了前5個(gè)元素,后5個(gè)元素不確定。,例7.2用數(shù)組來(lái)處理求Fibonacci數(shù)列問(wèn)題。(P116-117和P124)main()inti;intf20=1,1;for(i=2;i<20;i+)fi=fi-2+fi-1;/*一次循環(huán)只求一個(gè)數(shù)*/for(i=0;i<20;i+)if(i%5=0)printf(“n”);printf(“%12d”,fi);,7.1.4一維數(shù)組程序舉例,這里只求了前20個(gè)數(shù),與P117區(qū)別。,例7.3用冒泡法對(duì)10個(gè)數(shù)排序(由小到大)。冒泡法:在要排序的數(shù)中,依次將相鄰的兩個(gè)數(shù)進(jìn)行比較,若滿足排序要求,保持兩者位置不變,否則交換位置:,第一次比較,第二次比較,第三次比較,第四次比較,第五次比較,第一次冒泡排序結(jié)果,第一次冒泡排序,從最前面兩個(gè)元素開(kāi)始,兩兩比較,直到最后一個(gè)元素比較完,最大的元素就到了最后的位置,這叫作“一趟”冒泡法排序。,從上述我們可以得出:如果有n個(gè)數(shù)參加冒泡排序,則要進(jìn)行n-1趟比較。在第j趟比較中有n-j+1個(gè)數(shù)參加排序,要進(jìn)行n-j次兩兩比較。比如:本例中第2趟有5個(gè)數(shù)參加排序,進(jìn)行了4次比較。,第一次比較,第二次比較,第三次比較,第四次比較,第二次冒泡排序結(jié)果,第二次冒泡排序,main()inta11;inti,j,t;printf(“input10numbers:n”);for(i=1;iai+1)t=ai;ai=ai+1;ai+1=t;printf(“thesortednumbers:n”);for(i=1;i<11;i+)printf(“%d”,ai);,for循環(huán)的嵌套,7.2二維數(shù)組的定義和引用,7.2.1二維數(shù)組的定義一般形式:類型說(shuō)明符數(shù)組名常量表達(dá)式常量表達(dá)式例:floata23,b510;此句定義了一個(gè)名為a的2行3列的實(shí)數(shù)數(shù)組和一個(gè)名為b的5行10列的實(shí)數(shù)數(shù)組。注意:不能寫成:floata2,3,b5,10;說(shuō)明:(1)在C語(yǔ)言中,可把二維數(shù)組看成一個(gè)特殊的一維數(shù)組:它的一個(gè)元素又是一個(gè)一維數(shù)組,即可看成是一維數(shù)組的嵌套。比如:我們可以把二維數(shù)組a23看成下圖所示的嵌套關(guān)系。,相應(yīng)的內(nèi)存空間,如右圖:二維數(shù)組是多維數(shù)組的基礎(chǔ)。其它多維數(shù)組的定義和元素存放形式與二維數(shù)組類似。,(2)二維數(shù)組的存放順序:C語(yǔ)言中,二維數(shù)組的元素在內(nèi)存中是按行依次連續(xù)存放的,即先順序存放第一行的元素,再存放第二行的元素,以此類推。例如:a23的存放形式為,a0a00,a01,a02a1a10,a11,a12,a,7.2.2二維數(shù)組的引用,二維數(shù)組元素的表示形式為:數(shù)組名下標(biāo)下標(biāo)例如:a23表示的是a二維數(shù)組的第3行第4列的元素。注意:數(shù)組超界的問(wèn)題。假如有程序段:inta34;a34=13;引用a34便超出了所定義的邊界,此時(shí)系統(tǒng)不會(huì)報(bào)錯(cuò),同樣把13賦值到指定單元,但此單元卻可能是我們的其它有用數(shù)據(jù)。這樣,便很容易造成意想不到的錯(cuò)誤,甚至死機(jī)。同學(xué)們一定要小心,這是大家經(jīng)常感到莫名其妙的地方。,7.2.3二維數(shù)組的初始化,(1)按行對(duì)二維數(shù)組進(jìn)行初始化。例如:inta34=1,2,3,4,5,6,7,8,9,10,11,12;(2)也可將所有數(shù)據(jù)寫在一個(gè)花擴(kuò)弧內(nèi),系統(tǒng)會(huì)以按行存放的順序依次對(duì)各數(shù)組元素進(jìn)行初始化。例如:inta34=1,2,3,4,5,6,7,8,9,10,11,12;(3)和一維數(shù)組一樣,也可只對(duì)各行中前面部分元素初始化。例如:inta34=1,5,9;它的作用是只對(duì)每行第一列元素進(jìn)行初始化,其它元素自動(dòng)為0,結(jié)果為:,也可以只對(duì)前面各行中的元素初始化,其它元素自動(dòng)為0:inta34=1,2,3;結(jié)果為:,(4)若要對(duì)全部元素都初始化,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省略。例如:inta34=1,2,3,4,5,6,7,8,9,10,11,12;可以寫成:inta4=1,2,3,4,5,6,7,8,9,10,11,12;,注意:初始化只能從“前面”開(kāi)始,即必須先初始化前面各行再初始化后面各行,也必須先初始化每行的前面部分再初始化后面部分。不能跳過(guò)前面部分去初始化后面部分。(P128有錯(cuò))如:inta5=1,3,4,5;和intb34=1,2,3;是錯(cuò)的。,例7.4將二維數(shù)組行和列元素互換,存到另一個(gè)二維數(shù)組中。,7.2.4二維數(shù)組程序舉例,main()inta23=1,2,3,4,5,6;intb32,i,j;printf(“arraya:n”);for(i=0;i<=1;i+)/*控制行*/for(j=0;j<=2;j+)/*控制列*/printf(“%5d”,aij);bji=aij;printf(“n”);,printf(“arrayb:n”);for(i=0;i<=2;i+)for(j=0;j<=1;j+)printf(“%5d”,bij);printf(“n”);,例7.5有一個(gè)3X4的矩陣,要求編程求出其中最大的那個(gè)元素的值,以及其所在的行號(hào)和列號(hào);main()inti,j,row=0,colum=0,max;/*定義標(biāo)記變量*/inta34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for(i=0;imax)max=aij;row=i;colum=j;printf(“max=%d,row=%d,colum=%dn”,max,row,colum);,7.3字符數(shù)組,7.3.1字符數(shù)組的定義字符數(shù)組的定義與前面所述數(shù)組的定義類似。例如:charc10;c0=S;c1=I;c2=L;c3=I;c4=C;c5=T;c6=_;c7=L;c8=A;c9=N;上句的作用為:定義C為字符數(shù)組,包含10個(gè)元素。賦值后的狀態(tài)為:,在C語(yǔ)言中,字符型和整型是互相通用的,因此上述定義語(yǔ)句可以寫為:intc10;但不推薦這樣定義。原因是不便于作為字符串進(jìn)行控制。,7.3.3字符數(shù)組的初始化(一),對(duì)于字符數(shù)組的初始化,最容易理解的方式就是像我們前面所講的數(shù)值型數(shù)組的初始化方式一樣,將字符逐個(gè)賦給數(shù)組中的各元素。例如:Charc10=M,y,C,H,I,N,A;,說(shuō)明:1)在初始化時(shí),若花括弧中提供的初值個(gè)數(shù)大于數(shù)組的長(zhǎng)度,則按語(yǔ)法錯(cuò)誤處理。2)若小于數(shù)組長(zhǎng)度,則將用戶提供的初值先依次賦給前面的元素,對(duì)余下的元素系統(tǒng)自動(dòng)賦0(對(duì)應(yīng)空字符)。3)若等于欲定義的數(shù)組長(zhǎng)度時(shí),可省略數(shù)組長(zhǎng)度。,這里存放的是空格的ASCII碼,40是八進(jìn)制040的縮寫,對(duì)應(yīng)十進(jìn)制數(shù)32。,4)也可以定義和初始化一個(gè)二維字符數(shù)組,方法與前面二維數(shù)值型數(shù)組類似。如:存放一個(gè)由“*”組成的菱形。chardiamond55=,*,*,*,*,*,*,*,*;,7.3.3字符數(shù)組的引用可以引用字符數(shù)組中的一個(gè)元素,得到一個(gè)字符。例7.6:輸出一個(gè)字符串。main()charc10I,a,m,a,b,o,y;inti;for(i=0;i<10;i+)printf(“%c”,ci);printf(“n”);,例7.7:輸出一個(gè)由“*”組成的菱形。main()chardiamond55=,*,*,*,*,*,*,*,*;inti,j;for(i=0;i<5;i+)for(j=0;j<5;j+)printf(“%c”,diamondij);printf(“n”);運(yùn)行結(jié)果為:*,7.3.4字符串和字符結(jié)束標(biāo)志在C語(yǔ)言中,將字符串作為字符數(shù)組來(lái)處理。通常,我們關(guān)心的是有效字符的長(zhǎng)度而不是字符數(shù)組的長(zhǎng)度。例如,定義一個(gè)字符數(shù)組長(zhǎng)度為100,而實(shí)際有效字符可能只有40個(gè)。為了測(cè)定有效字符的實(shí)際長(zhǎng)度和便于對(duì)一個(gè)連續(xù)的字符序列進(jìn)行處理,C語(yǔ)言規(guī)定:以空字符0作為一個(gè)連續(xù)字符序列的“結(jié)束標(biāo)志”,稱該字符序列為字符串。也就是說(shuō),當(dāng)處理一個(gè)字符串時(shí),若遇到字符0,則表示該字符串結(jié)束。在處理字符串常量時(shí),系統(tǒng)也自動(dòng)加一個(gè)0作為結(jié)束符。例如“CProgram”共有9個(gè)字符,但在內(nèi)存中占10個(gè)字節(jié),最后一個(gè)字節(jié)0是由系統(tǒng)自動(dòng)加上的。,字符數(shù)組初始化(二):用字符串常量來(lái)初始化字符數(shù)組。例如:charc=“Iamhappy”;也可以省略花括弧,直接寫成charc=“Iamhappy”;不是用單個(gè)字符作為初值,而是用一個(gè)字符串(注意字符串的兩端是用雙引號(hào)而不是單引號(hào)括起來(lái)的)作為初值。顯然,這種方法直觀、方便、符合人們的習(xí)慣。注意:上述字符串的長(zhǎng)度是11而不是10。因?yàn)樽址A康淖詈笥上到y(tǒng)加上了一個(gè)0。上述的初始化與下面的初始化等價(jià)。charc=I,a,m,h,a,p,p,y,0;而與下面的初始化不等價(jià):charc=I,a,m,h,a,p,p,y;前者的長(zhǎng)度為11,后者的長(zhǎng)度為10。,需要說(shuō)明的是:字符數(shù)組并不要求它的最后一個(gè)字符必須是0,用戶可以自行另外指定結(jié)束標(biāo)志,甚至可以不包含結(jié)束標(biāo)志。像以下面這樣定義完全是合法的。charc5=C,h,i,n,a;但是,由于系統(tǒng)對(duì)字符串的處理默認(rèn)是以0作為結(jié)束標(biāo)志,因此,為了使處理方法統(tǒng)一,不致引起誤會(huì),我們?cè)趯?duì)字符數(shù)組賦值時(shí),通常都會(huì)人為地加上結(jié)束標(biāo)志0。如:charc6=C,h,i,n,a,0;,7.3.5字符數(shù)組的輸入輸出,字符數(shù)組的輸入輸出可以有兩種方法:(1)逐個(gè)字符輸入輸出。用格式符“%c”輸入或輸出一個(gè)字符。如:main()charc10I,a,m,a,b,o,y;inti;for(i=0;i字符串2,函數(shù)值為一正整數(shù)。(3)如果字符串10)strcpy(string,str2);printf(“nthelargeststringis:n%sn”,string);,str,第七章數(shù)組小結(jié),7.1一維數(shù)組的定義和引用7.2二維數(shù)組的定義和引用7.3字符數(shù)組,

注意事項(xiàng)

本文(C語(yǔ)言程序設(shè)計(jì)07章數(shù)組.ppt)為本站會(huì)員(tia****nde)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!