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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

8、頁,共77頁。392此外,指針變量還可以和零之間進行等于或不等于的關(guān)系運算。例如:p= =0或p!=0。第38頁/共77頁第三十九頁,共77頁。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頁/共77頁第四十頁,共77頁。41 for(p=a;p*p; 第40頁/共77頁第四十一頁,共77頁。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頁/共77頁第四十二頁,共77頁。433利用了兩個變量i,j并賦初值后,用*(p+i)、*(p+j)分別取出數(shù)組中首尾元素的值進行交換,然后使i+、j- -分別再取出數(shù)組中第二個元素的值和倒數(shù)第二個元素的值進行交換,直到交換完畢,即條件ij 不成立。第42頁/共77頁第四十三頁,共77頁。44要插入的數(shù)8x=11*(t+p)&p=a+p 成立成立 *(t+1)=*t t- t=a+p;指針指向要插入的位置;指針指向要插入的位置 *t=x;插入

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論