C數(shù)組及自定義數(shù)據(jù)類型.ppt
《C數(shù)組及自定義數(shù)據(jù)類型.ppt》由會員分享,可在線閱讀,更多相關(guān)《C數(shù)組及自定義數(shù)據(jù)類型.ppt(57頁珍藏版)》請在裝配圖網(wǎng)上搜索。
2020年4月25日9時34分,1,C++面向?qū)ο蟪绦蛟O(shè)計,普通高等教育“十一五”國家級規(guī)劃教材中國高等院校計算機(jī)基礎(chǔ)教育課程體系規(guī)劃教材,譚浩強(qiáng)編著,,2020年4月25日9時34分,2,第5講C++數(shù)組及自定義數(shù)據(jù)類型,5.1授課內(nèi)容C++數(shù)組及自定義數(shù)據(jù)類型的使用。主要包括:1.一維和二維數(shù)組;2.字符數(shù)組與字符串;3.字符串函數(shù);4.結(jié)構(gòu)體的定義;5.結(jié)構(gòu)變量的定義、初始化、結(jié)構(gòu)成員的訪問等;6.結(jié)構(gòu)體與數(shù)組;7.結(jié)構(gòu)與鏈表;8.共用體和枚舉類型。,2020年4月25日9時34分,3,第5講C++數(shù)組及自定義數(shù)據(jù)類型,5.2授課要求1.掌握數(shù)組的基本概念;2.掌握一維數(shù)組和二維數(shù)組的使用;3.掌握字符數(shù)組與字符串的關(guān)系以及字符串變量的表示;4.掌握結(jié)構(gòu)體的概念和結(jié)構(gòu)類型的定義;5.掌握結(jié)構(gòu)體變量的定義和初始化;6.掌握結(jié)構(gòu)體成員的訪問、結(jié)構(gòu)體賦值的含義以及結(jié)構(gòu)體與指針的關(guān)系;7.掌握共用體和枚舉類型。,2020年4月25日9時34分,4,第5講C++數(shù)組及自定義數(shù)據(jù)類型,5.3授課重點1.一維數(shù)組和二維數(shù)組的定義及使用;2.結(jié)構(gòu)的定義和使用。5.4授課難點1.?dāng)?shù)組名作函數(shù)的參數(shù);2.結(jié)構(gòu)體與指針的結(jié)合。,2020年4月25日9時34分,5,1.一維數(shù)組的定義和引用,(1)定義一維數(shù)組格式為:類型標(biāo)識符數(shù)組名[常量表達(dá)式];例如:inta[10];它表示數(shù)組名為a,此數(shù)組為整型,有10個元素。,2020年4月25日9時34分,6,1.一維數(shù)組的定義和引用,說明:A.?dāng)?shù)組名定名規(guī)則和變量名相同,遵循標(biāo)識符定名規(guī)則。B.用方括號括起來的常量表達(dá)式表示下標(biāo)值,如下面的寫法是合法的:inta[10];inta[2*5];inta[n*2];//假設(shè)前面已定義了n為常變量,2020年4月25日9時34分,7,1.一維數(shù)組的定義和引用,C.常量表達(dá)式的值表示元素的個數(shù),即數(shù)組長度。例如:在“inta[3];”中,3表示a數(shù)組有3個元素,下標(biāo)從0開始,這3個元素是:a[0],a[1],a[2]。注意最后一個元素是a[2]而不是a[3]。D.常量表達(dá)式中可以包括常量、常變量和符號常量,但不能包含變量。即:C++不允許對數(shù)組的大小作動態(tài)定義。,非法定義數(shù)組:intn;cin>>n;//輸入a數(shù)組的長度inta[n];//企圖根據(jù)n的值決定數(shù)組的長度,2020年4月25日9時34分,8,1.一維數(shù)組的定義和引用,(2)引用一維數(shù)組的元素數(shù)組必須先定義,然后使用。只能逐個引用數(shù)組元素的值而不能一次引用整個數(shù)組中的全部元素的值。數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)]下標(biāo)可以是整型常量或整型表達(dá)式。例如a[0]=a[5]+a[7]-a[2*3],2020年4月25日9時34分,9,1.一維數(shù)組的定義和引用,例1數(shù)組元素的引用。#includeusingnamespacestd;intmain(){inti,a[10];for(i=0;i=0;i--)cout<>數(shù)組名[下標(biāo)];例如:對一個大小為5的字符型數(shù)組a賦值,可以用下列兩種方式:chara[5];cin>>a;,,2020年4月25日9時34分,13,數(shù)組的賦值,3.用scanf()函數(shù),其語法格式為:scanf(“類型標(biāo)識”,數(shù)組名);或scanf(“類型標(biāo)識”,數(shù)組元素地址);4.用C++庫函數(shù)中的strcpy()函數(shù)(字符串拷貝函數(shù)),其常見語法格式為:strcpy(數(shù)組名,字符串);//將一個字符串賦值到一個字符數(shù)組中例如:charstr1[10];strcpy(str1,”hello”);注意,此例不能寫為:str1=”hello”;//不合法另一種常見的語法格式為:strcpy(數(shù)組名1,數(shù)組名2);//將數(shù)組2中的字符串賦值到數(shù)組1中例如:strcyp(str1,str2);注意,上例不能寫為:str1=str2;//不合法,2020年4月25日9時34分,14,數(shù)組越界,在給數(shù)組元素賦值或?qū)?shù)組元素進(jìn)行引用時,一定要注意下標(biāo)的值不要超過數(shù)組的范圍,否則會產(chǎn)生數(shù)組越界問題。因為當(dāng)數(shù)組下標(biāo)越界時,編譯器并不認(rèn)為它是一個錯誤,但這往往會帶來非常嚴(yán)重的后果。例如:定義了一個整型數(shù)組a:inta[10];數(shù)組a的合法下標(biāo)為0~9。如果程序要求給a[10]賦值,將可能導(dǎo)致程序出錯,甚至系統(tǒng)崩潰。,2020年4月25日9時34分,15,數(shù)組越界,常用下面的式子確定數(shù)組的大小,預(yù)防數(shù)組越界情況的發(fā)生。假定對于一個整型數(shù)組a,它的大小為:sizeof(a)/sizeof(int)sizeof(a)表示求數(shù)組a在內(nèi)存中所占字節(jié)數(shù),sizeof(int)表示求整型數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)。使用上面這個式子,可以使數(shù)組大小計算在16位機(jī)器和32位機(jī)器之間移植。,2020年4月25日9時34分,16,2.二維數(shù)組的定義和引用,具有兩個下標(biāo)的數(shù)組稱為二維數(shù)組。(1)定義二維數(shù)組定義二維數(shù)組的一般形式為:類型標(biāo)識符數(shù)組名[常量表達(dá)式][常量表達(dá)式]例如:floata[3][4],b[5][10];定義a為34(3行4列)的單精度數(shù)組,b為510(5行10列)的單精度數(shù)組。注意:不能寫成“floata[3,4],b[5,10];”。,2020年4月25日9時34分,17,2.二維數(shù)組的定義和引用,可以把二維數(shù)組看作是一種特殊的一維數(shù)組:它的元素又是一個一維數(shù)組。,例如:可以把a(bǔ)看作是一個一維數(shù)組,它有3個元素:a[0]a[1],a[2],每個元素又是一個包含4個元素的一維數(shù)組,,圖1。,,2020年4月25日9時34分,18,2.二維數(shù)組的定義和引用,C++中,二維數(shù)組中元素排列的順序是:按行存放,圖2表示對a[3][4]數(shù)組存放的順序。,圖2,,,2020年4月25日9時34分,19,2.二維數(shù)組的定義和引用,C++允許使用多維數(shù)組。例如,定義三維數(shù)組的方法是:floata[2][3][4];定義float型三維數(shù)組a,它有234=24個元素。,2020年4月25日9時34分,20,2.二維數(shù)組的定義和引用,(2)二維數(shù)組的引用二維數(shù)組的元素的表示形式為數(shù)組名[下標(biāo)][下標(biāo)]例如:B[1][2]=a[2][3]/2;在使用數(shù)組元素時,應(yīng)該注意下標(biāo)值應(yīng)在已定義的數(shù)組大小的范圍內(nèi)。,2020年4月25日9時34分,21,2.二維數(shù)組的定義和引用,(3)二維數(shù)組的初始化A.分行給二維數(shù)組賦初值。如:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};B.可以將所有數(shù)據(jù)寫在一個花括號內(nèi),按數(shù)組排列的順序?qū)Ω髟刭x初值。如:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};效果與前相同。但以第1種方法為好,一行對一行,界限清楚。,2020年4月25日9時34分,22,2.二維數(shù)組的定義和引用,C.可以對部分元素賦初值,其余元素值自動置為0。如:inta[3][4]={{1},{0,6},{0,0,11}};初始化后的數(shù)組元素如下:1000060000110也可以只對某幾行元素賦初值:inta[3][4]={{1},{5,6}};數(shù)組元素為100056000000,第3行不賦初值。也可以對第2行不賦初值:inta[3][4]={{1},{},{9}};,2020年4月25日9時34分,23,2.二維數(shù)組的定義和引用,D.如果對全部元素都賦初值(即提供全部初始數(shù)據(jù)),則定義數(shù)組時對第一維的長度可以不指定,但第二維的長度不能省。如inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};可以寫成inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};在定義時也可以只對部分元素賦初值而省略第一維的長度,但應(yīng)分行賦初值。如inta[][4]={{0,0,3},{},{0,10}};,數(shù)組各元素為:0030000001000,,2020年4月25日9時34分,24,2.二維數(shù)組的定義和引用,(4)二維數(shù)組程序舉例例2將一個二維數(shù)組行和列元素互換,存到另一個二維數(shù)組中。例如:a=123b=144562536,2020年4月25日9時34分,25,2.二維數(shù)組的定義和引用,,cout<- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)組 自定義 數(shù)據(jù)類型
鏈接地址:http://m.jqnhouse.com/p-11495253.html