西南交通大學(xué)戴克儉c學(xué)習(xí)教案_第1頁(yè)
西南交通大學(xué)戴克儉c學(xué)習(xí)教案_第2頁(yè)
西南交通大學(xué)戴克儉c學(xué)習(xí)教案_第3頁(yè)
西南交通大學(xué)戴克儉c學(xué)習(xí)教案_第4頁(yè)
西南交通大學(xué)戴克儉c學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1第一頁(yè),共77頁(yè)。2一維數(shù)組;n6通過(guò)指針類型的變量去操作二維數(shù)組;n7動(dòng)態(tài)存儲(chǔ)分配的概念及應(yīng)用。第1頁(yè)/共77頁(yè)第二頁(yè),共77頁(yè)。3(binling)去訪問(wèn)單一變量(binling);n6掌握通過(guò)指針類型的變量(binling)去操作一維數(shù)組;n7理解通過(guò)指針類型的變量(binling)去操作二維數(shù)組;n8理解動(dòng)態(tài)存儲(chǔ)分配的概念及應(yīng)用。第2頁(yè)/共77頁(yè)第三頁(yè),共77頁(yè)。4p=&a;第3頁(yè)/共77頁(yè)第四頁(yè),共77頁(yè)。5編程技巧:在源程序清單中,我們可以看到在操作變量a時(shí),用了不同的兩種方法(fngf),一種就是用我們很習(xí)慣的變量名的方式操作,另一種就是本章要學(xué)習(xí)的新概念指針的方式操作。

2、第4頁(yè)/共77頁(yè)第五頁(yè),共77頁(yè)。6第5頁(yè)/共77頁(yè)第六頁(yè),共77頁(yè)。7第6頁(yè)/共77頁(yè)第七頁(yè),共77頁(yè)。8內(nèi)存單元內(nèi)存單元內(nèi)存單元內(nèi)存單元內(nèi)存單元內(nèi)存單元2000200120023000地址編號(hào)地址編號(hào)內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器363004內(nèi) 存 單內(nèi) 存 單元元的地址的地址內(nèi) 存 單內(nèi) 存 單元元的內(nèi)容的內(nèi)容int i=3;int j=6;第7頁(yè)/共77頁(yè)第八頁(yè),共77頁(yè)。9量?jī)?nèi)容。例如:例5.1.1中,用語(yǔ)句:couta的值表示方法1:aendl;來(lái)輸出變量a的值。第8頁(yè)/共77頁(yè)第九頁(yè),共77頁(yè)。10用地址來(lái)訪問(wèn)內(nèi)存單元。例如,在不同的函數(shù)之間傳送大量數(shù)據(jù)時(shí),如果不是傳遞變量值,而是只傳遞變量的

3、地址,就會(huì)減小開(kāi)銷,提高效率。如果是動(dòng)態(tài)分配的內(nèi)存單元,則根本就沒(méi)有名稱,這時(shí)只能通過(guò)地址訪問(wèn)。第9頁(yè)/共77頁(yè)第十頁(yè),共77頁(yè)。11都有地址。C+ 規(guī)定:第10頁(yè)/共77頁(yè)第十一頁(yè),共77頁(yè)。12第11頁(yè)/共77頁(yè)第十二頁(yè),共77頁(yè)。13 定義語(yǔ)句中的“*”表示該變量為指針(zhzhn)變量。存儲(chǔ)存儲(chǔ)(cn ch)(cn ch)類型類型 數(shù)據(jù)類型數(shù)據(jù)類型 * *指針變量指針變量第12頁(yè)/共77頁(yè)第十三頁(yè),共77頁(yè)。14第13頁(yè)/共77頁(yè)第十四頁(yè),共77頁(yè)。15在定義指針變量的同時(shí)進(jìn)行初始化賦值,一般格式如下:數(shù)據(jù)類型 *指針名初始地址;第14頁(yè)/共77頁(yè)第十五頁(yè),共77頁(yè)。16例如(lr):

4、先定義:int *p;再用賦值語(yǔ)句:p=&x;第15頁(yè)/共77頁(yè)第十六頁(yè),共77頁(yè)。17 int x;int *p;p=&x;變量的定義一定要在指針定義之前。第16頁(yè)/共77頁(yè)第十七頁(yè),共77頁(yè)。18(ynx) void 的指針,該指針可以被賦予任何類型對(duì)象的地址。例如: void *general; int *point; int i; general=&i; point=( int *) general; 第17頁(yè)/共77頁(yè)第十八頁(yè),共77頁(yè)。19第18頁(yè)/共77頁(yè)第十九頁(yè),共77頁(yè)。202使用指針變量與使用一般變量一樣,一定要先定義后使用,使用前,指針變量一定要有明確的指向,例如,int

5、 *p;,p=&x;明確指向變量x的地址。第19頁(yè)/共77頁(yè)第二十頁(yè),共77頁(yè)。21第20頁(yè)/共77頁(yè)第二十一頁(yè),共77頁(yè)。22操作(cozu)變量,例5.5.1中*p=*p+10;在原來(lái)的值3基礎(chǔ)上加上10,與語(yǔ)句x=x+10;等價(jià)。4用*p輸出值,即輸出值為13。第21頁(yè)/共77頁(yè)第二十二頁(yè),共77頁(yè)。23的內(nèi)容,*在執(zhí)行語(yǔ)句表示指針?biāo)笇?duì)象的內(nèi)容。(2) p=&x; 將變量x的地址賦給指針變量p,一定要先定義x,然后才能將變量x的地址賦給指針變量p,p有明確(mngqu)的指向后才能操作。第22頁(yè)/共77頁(yè)第二十三頁(yè),共77頁(yè)。24輸出輸出*p1、*p2的值的值輸出輸出*p2、*p1的值

6、的值 *p1*p2Y N用指針操作方式從鍵盤獲取輸入兩個(gè)整數(shù)的值用指針操作方式從鍵盤獲取輸入兩個(gè)整數(shù)的值定義兩個(gè)整型變量,及操作它們的兩個(gè)整型指針,定義兩個(gè)整型變量,及操作它們的兩個(gè)整型指針,并把兩個(gè)整型變量的地址分別賦給兩個(gè)整型指針并把兩個(gè)整型變量的地址分別賦給兩個(gè)整型指針第23頁(yè)/共77頁(yè)第二十四頁(yè),共77頁(yè)。25第24頁(yè)/共77頁(yè)第二十五頁(yè),共77頁(yè)。26為:*p1setw(4)*p2ai; / 數(shù)組名和下標(biāo)(xi bio)來(lái)訪問(wèn)數(shù)組第27頁(yè)/共77頁(yè)第二十八頁(yè),共77頁(yè)。29 第28頁(yè)/共77頁(yè)第二十九頁(yè),共77頁(yè)。30第29頁(yè)/共77頁(yè)第三十頁(yè),共77頁(yè)。31第30頁(yè)/共77頁(yè)第三十

7、一頁(yè),共77頁(yè)。32指向下一個(gè)或前一個(gè)數(shù)據(jù)。例如(lr):y=*px+ 相當(dāng)于y=*(px+) *和+優(yōu)先級(jí)相同,自右向左結(jié)合第31頁(yè)/共77頁(yè)第三十二頁(yè),共77頁(yè)。33素的內(nèi)存單元pa-2pa-1pa+1pa+2pa+3*(pa-2)*pa*(pa+1)*(pa+2)*(pa+3)*(pa-1)short *papa第32頁(yè)/共77頁(yè)第三十三頁(yè),共77頁(yè)。34第33頁(yè)/共77頁(yè)第三十四頁(yè),共77頁(yè)。35第34頁(yè)/共77頁(yè)第三十五頁(yè),共77頁(yè)。36 coutp1p2! endl; 第35頁(yè)/共77頁(yè)第三十六頁(yè),共77頁(yè)。37第36頁(yè)/共77頁(yè)第三十七頁(yè),共77頁(yè)。38第37頁(yè)/共77頁(yè)第三十八

8、頁(yè),共77頁(yè)。392此外,指針變量還可以和零之間進(jìn)行等于或不等于的關(guān)系運(yùn)算。例如:p= =0或p!=0。第38頁(yè)/共77頁(yè)第三十九頁(yè),共77頁(yè)。40for(i=0,j=N-1;ij;i+,j-)定義、輸入初始數(shù)組的值定義、輸入初始數(shù)組的值指針指向數(shù)組的首地址指針指向數(shù)組的首地址temp=*(p+i)*(p+i)=*(p+j)*(p+j)=temp輸出交換后數(shù)組的值輸出交換后數(shù)組的值第39頁(yè)/共77頁(yè)第四十頁(yè),共77頁(yè)。41 for(p=a;p*p; 第40頁(yè)/共77頁(yè)第四十一頁(yè),共77頁(yè)。42 p=a; for(i=0,j=10-1;ij;i+,j-) temp=*(p+i); *(p+i)=

9、*(p+j); *(p+j)=temp; for(p=a;pa+10;p+) coutsetw(4)*p; coutendl; return 0; 第41頁(yè)/共77頁(yè)第四十二頁(yè),共77頁(yè)。433利用了兩個(gè)變量i,j并賦初值后,用*(p+i)、*(p+j)分別取出數(shù)組中首尾元素的值進(jìn)行交換,然后使i+、j- -分別再取出數(shù)組中第二個(gè)元素的值和倒數(shù)第二個(gè)元素的值進(jìn)行交換,直到交換完畢,即條件ij 不成立。第42頁(yè)/共77頁(yè)第四十三頁(yè),共77頁(yè)。44要插入的數(shù)8x=11*(t+p)&p=a+p 成立成立 *(t+1)=*t t- t=a+p;指針指向要插入的位置;指針指向要插入的位置 *t=x;插入

10、值;插入值 輸出插入完成后的數(shù)組輸出插入完成后的數(shù)組 第45頁(yè)/共77頁(yè)第四十六頁(yè),共77頁(yè)。47第46頁(yè)/共77頁(yè)第四十七頁(yè),共77頁(yè)。48 第47頁(yè)/共77頁(yè)第四十八頁(yè),共77頁(yè)。49第48頁(yè)/共77頁(yè)第四十九頁(yè),共77頁(yè)。50行同樣的操作,直到不等于,就說(shuō)明字符串末尾已經(jīng)沒(méi)有空格,操作完成,需要給字符串末尾加上結(jié)束標(biāo)志0。第49頁(yè)/共77頁(yè)第五十頁(yè),共77頁(yè)。51定義定義string s1表示字符串,定義表示字符串,定義char型指針變量型指針變量*p操作操作字符串,定義操作中用到的變量字符串,定義操作中用到的變量n, j 輸入含有末尾空格的字符串輸入含有末尾空格的字符串 找到末尾字符:

11、找到末尾字符:n=s1.size( ); j=n-1; 指針變量指針變量*p賦初值:賦初值:p=&s10; 當(dāng)當(dāng) while(*(p+j)= =空格空格) j-; 加字符串結(jié)束標(biāo)志加字符串結(jié)束標(biāo)志“0” 輸出刪除末尾空格后的字符串輸出刪除末尾空格后的字符串第50頁(yè)/共77頁(yè)第五十一頁(yè),共77頁(yè)。52第51頁(yè)/共77頁(yè)第五十二頁(yè),共77頁(yè)。53第52頁(yè)/共77頁(yè)第五十三頁(yè),共77頁(yè)。54n int d,e,f=0,*pa,*pb,*pc;n cout輸入數(shù)組a中元素的個(gè)數(shù):d;第53頁(yè)/共77頁(yè)第五十四頁(yè),共77頁(yè)。55for(pb=b;pb*pb;for(pa=a,pc=c;paa+d;pa+

12、) for(pb=b;pbb+e;pb+)第54頁(yè)/共77頁(yè)第五十五頁(yè),共77頁(yè)。56 coutsetw(3)e;cout輸入(shr)數(shù)組b的e個(gè)元素:endl;for(pb=b;pb*pb;第57頁(yè)/共77頁(yè)第五十八頁(yè),共77頁(yè)。59cout交集c的各個(gè)(gg)元素依次為:endl;for (pc=c;pcc+f;pc+) coutsetw(3)*pc;第58頁(yè)/共77頁(yè)第五十九頁(yè),共77頁(yè)。60void main()int a34=1,2,3,4,5,6,7,8,9,10,11,12第59頁(yè)/共77頁(yè)第六十頁(yè),共77頁(yè)。61第60頁(yè)/共77頁(yè)第六十一頁(yè),共77頁(yè)。62pi=ai;第61頁(yè)

13、/共77頁(yè)第六十二頁(yè),共77頁(yè)。63換成一維數(shù)組來(lái)存儲(chǔ)的,是按行方式存放的。第62頁(yè)/共77頁(yè)第六十三頁(yè),共77頁(yè)。64量“移動(dòng)”來(lái)操作具體的數(shù)組元素。 定義指針數(shù)組使用數(shù)組元素,指針數(shù)組就是數(shù)組中每個(gè)元素是指針,用它來(lái)指向一維數(shù)組。第63頁(yè)/共77頁(yè)第六十四頁(yè),共77頁(yè)。65第64頁(yè)/共77頁(yè)第六十五頁(yè),共77頁(yè)。66for(j=0;j*(pi+j);第65頁(yè)/共77頁(yè)第六十六頁(yè),共77頁(yè)。67第66頁(yè)/共77頁(yè)第六十七頁(yè),共77頁(yè)。68分配。第67頁(yè)/共77頁(yè)第六十八頁(yè),共77頁(yè)。69第68頁(yè)/共77頁(yè)第六十九頁(yè),共77頁(yè)。70第69頁(yè)/共77頁(yè)第七十頁(yè),共77頁(yè)。71第70頁(yè)/共77頁(yè)第七十一頁(yè),共77頁(yè)。72n int &refi=i; /refi是i的別名n例:int *p,i=3;n p=&i; /執(zhí)行語(yǔ)句第71頁(yè)/共77頁(yè)第七十二頁(yè),共77頁(yè)。73ncoutx=xy=yendl; n第72頁(yè)/共

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論