指針程序設計_第1頁
指針程序設計_第2頁
指針程序設計_第3頁
指針程序設計_第4頁
指針程序設計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1實驗學時:4學時2實驗目的1)了解指針的概念,理解指針的本質及特征。2)掌握指針變量的聲明、表示、引用及賦值方法。3)掌握指針變量的常用運算規(guī)則和實際應用。必做實驗【題目5-1】定義和實現(xiàn)一個函數voidswap_int(int*p,int*q),該函數實現(xiàn)兩個整數的交換。在【題目5-1】定義和實現(xiàn)一個函數voidswap_int(int*p,int*q),該函數實現(xiàn)兩個整數的交換。在main函數中構造兩個整型變量,通過調用swap_int函數實現(xiàn)這兩個整型變量的數值交換,并顯示交換前和交換后的數據?!绢}目5-1】代碼及運行結果:-GPPttincludeufiidswapint(int*p

2、,int*q)j-GPPttincludeufiidswapint(int*p,int*q)jvoidnain()inta=19,b=29;printf(Ja=.d,b=.dn,a,b)int*p=&a,*q=&:bi:_5wap_int(psq)printf,兩個整數的交換后的值5“);printfCa=.d,b=.rtnuuldswaplnt(int*p,int*q)*q=tenp;兩個整數的交換后的值二i=26,h=lfiPressar)9keytocontinuetd【題目5-2】設數組score口保存若干學生的某一課程的成績,定義一個函數floataver_score(foat*p,

3、intn),計算該課程的平均成績(形式參數n表示學生個數)。在main函數中構造幾個學生的成績,并用數組表示,通過調用aver_score函數計算其平均成績并顯示?!绢}目5-2】代碼及運行結果:ttincludettdeFineN59FloatauerscoreCFloat*p,intn);uoidmain()inti,n;Floatauer,scoreN,p;p=&scoreB;printF請輸入學生人數二,,J;scanF(d,&n);printF請輸入學生分數:n);For(i=B;in;i+)scanF(f-&scorei);auer=auer_score(p,n);prints,平均

4、成績黑Rnmu。J;Floatauer_ecoreCFloat*p,intn)Floatsum=Q;intj;For(j=B;jn;j+)5um=5um+wp+;returnsum/n;【題目5-3】定義一個函數voidreverse_str(char*p),實現(xiàn)字符串的逆序排列。要求調用函數reverse_str(char*p)時,把一個字符串的地址傳遞給指針p,由指針p對源字符串進行交換,得到逆序排列的字符串。在main函數中構造一個字符串,通過調用字符串。reverse_str函數實現(xiàn)該字符串的逆序排列,并顯示源字符串和逆序排列后的【題目5-3】代碼及運行結果:二#include#inc

5、ludeuoidreuerse_5tr(char*p);ltdefineN59uoidmain()charsN,*p;Ps0;print,請輸入字符串:)get5(5);reuerse_5tr(p);puts;uoidreuerEestr(char*p)intn,i;charx;n=strlen(p);for(i=0;in/2;i+)x=*(p+i);*(p+i)=*(p+n-1-i);*(p+n-1-i)=x;4延伸實驗【題目5-4】編寫函數code(char*p),對以指針傳遞進來的字符串進行簡單加密后顯示,然后在main中設法驗證該加密函數的功能。分析:加密方式可自行設計,例如:字符串中

6、每個字符的ASCII碼加1;或基數位ASCII碼加一,口數位ASCII碼減一等,加密方式在code函數中體現(xiàn),通過標注程序注釋說明你所采用的加密方法main函數給定待加密的字符串,并實施加密,然后輸出加密后的字符串選做:編寫解密函數,在main函數中對已加密字符串進行解密,驗證進行加密解密后,字符串是否與原來內容相同【題目5-4】代碼及運行結果:C:UsersAdmini5trat0rDesktop6_4binDebug6_4.e.nvoidcod=C:UsersAdmini5trat0rDesktop6_4binDebug6_4.e.nvoidcod=(char*口)-chaf二a;int1

7、1.1;115LE-SILp):for(1。:=,:n:=-(請輸入字符串mBCDEEiH加德后的字符串:日加CFEHGProcessreturned0(0 x0)executiontime:S.748sPressarijkeytocortimj.inclEdeincLizdevoidcoo?ch&r*p).:ir.N50intmain()(charstr;N;T*p;p-iEt.r:匚;printf1獺|人宗符愚二);gets(str);?cde(p);口rintf加窸后的字把黑:);puts(str);return;i_考2=,(搜狗拼音輸入法全:ch=*(pi);搜狗拼音輸入法全:*(p

8、i|ch-1;lsach-*口二):*(;j+i|一cji-二:12345#inc_udc#inc_u.de#in-urieveld2od9(char*p);voidF71J(chai:p);#deiincN5int0-:C1231e9c12charMtt歸:T*p;p=:str:1;prin上門”請揄入主符室.:”);g二3(str);code(p);printE(加寰.后的字符晟二);puzs(str);FUX亡I;printf1“解番后的字符.定:Bpu-3(str);return3;Lvoidcods(char*p)匚Hcharch;intnTi;n=sttlen(p);fari-C;

9、in;i)I.Ji(i%2=0)ch=*(p-i);*(p-i)=ch-l;else.zh-x1u-i);*(p-i=ch-l;LvoidFUM(char0L:cha.1:ch;intUj.;n-5trlen(p);for(i=。;i解密后的字符串:JSFBUFN7C?Processreturned0(BxO)executiontine:3.250sPressanykeytocontinu.【題目5-5】編寫函數fun3(char*p),將以指針p傳遞進來的某字符串中的所有*刪除(不得使用C語言提供的字符串函數)。例如,若原字符串為*A*BC*DEF*G*,則處理后的字符串應當是:ABCDEF

10、G。分析:運用兩個指針對字符串的內容進行定位,一個指針變量用來定位寫入位置,一個指針變量用來定位讀取的位置,兩個變量均初始在字符串的開始位置確定寫入位置,若讀取位置的字符為*,則將讀取位置后移若讀取位置為其他字符,則把該字符復制給寫入位置,而后把兩個指針變量分別后移【題目5-5】代碼及運行結果:Hnclu.de#in.clu.deLnclu.devoidfjn3chai*p);defineR5cI用師282950intEEnisinOchar5I用師282950intEEnisinOchar5rxp;p務0;pHntf門適輸入定符盤:i;75ts(p);to3(p);returnC;voidf

11、jn3:char*p)Eiintn.irj=O;char*q=n:n=三二rl埼rjp;;for(i=C;in;i-t-+iif!=*)k(q+】+i=K:p7;C:UsersAdministratorDesktop6_5.請輸入字符三:*廊遙BODEF*Gx*處理W的字符串浦BCDEFGProcessreturned0(0 x9)executiontime:27?;G2Pressanykeytocontinue.接狗本音輸入法全:Hq+j廠.printf至理后的字符里.:”);pi:ts(q);分析:運用兩個指針對字符串的分別指向字符串的首和尾比較首位指針所指向的內容,若相等則首指針向后移動,尾指針向前移動,直到首位指針交換,比較結束在比較過程中,若發(fā)現(xiàn)有首尾不同的情況,則說明字符串為非回文字符串,否則則是回文字符串【題目5-6】代碼及運行結果:HTCIC入IIHICIIIiiL.小1314151617IS152C21222;242E26272E2Q3(313233343Ei:icludeinclude4includeveldzan(charkp);#&已:Ein已N53int(maln()charsM-f口=口;printf(丐言,輸入定符、炭.:T,);ges;fmi(p):r

溫馨提示

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

評論

0/150

提交評論