實驗4指針與字符串_第1頁
實驗4指針與字符串_第2頁
實驗4指針與字符串_第3頁
實驗4指針與字符串_第4頁
全文預覽已結束

下載本文檔

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

文檔簡介

1、實驗報告四實驗名稱:指針與字符串 學時安排:課內 1+課外 3實驗類別:綜合性實驗 實驗要求:3 人 1 組 完成人:學號 姓名 一、實驗目的和任務1)掌握數組和指針的概念、字符串的存儲方式;2)掌握動態內存分配的方法;3)掌握利用指針實現字符串處理的方法。二、實驗原理介紹綜合性實驗;通過指針和數組,完成字符串處理。三、實驗設備介紹軟件需求: Visual C+ 6.0硬件需求:建議配置是 Pentium III 450 以上的 CPU 處理器,64MB 以上的內存,200MB 的自由硬盤空間、CD-ROM 驅動器、24 位真彩色顯示卡、彩色顯示器。四、實驗內容1、分別編寫下列字符串處理函數(

2、1)char *strcat1(char *s,const char *ct);將串 ct 接到串 s 的后面,形成一個長串。 【例 6.7】以數組為參數,現用指針為參數。(2)int strlen1(const char * s);求字符串長度的函數,返回串長(不包括串結束符) 。(3)char * reverse (char *);反置字符串 s,即可將“break”成為“kaerb” 。(4)char * strchr( const char *cs,char c);查找字符 c 在串 cs 中第一次出現的位置,返回指向該字符的指針,若沒有出現則返回NULL。#includeusing

3、namespace std;char* strcat1(char* s,const char* ct)char* st=s;while(*s) s+;/*s 作為條件,等效*s!=0while(*s+=*ct+);return st;int strlen1(const char* s)int i=0;while(*s+) i+;return i;char* reverse (char* s)char temp,* temp1=s,* temp2=s;while(*temp2) temp2+;temp2-; /指針移回串尾while(temp2-temp10)/注意此處,從串兩頭的指針同時向中間

4、移動,重合或交錯時停止temp=*temp1;*temp1=*temp2;*temp2=temp;temp1+;temp2-;return s;char* strchr( const char*cs,char c)while(*cs!=c&*cs) cs+;if(*cs=0) cs=NULL; /未找到返回 NALLreturn (char*)cs;int main()char a120=LiMing;char b80=is a student of Southern Medical University;char c40=Southern Medical;char *cp;couta

5、endl;coutbendl;strcat1(a,b);cout字符串連接后:endl;coutaendlendl; /打印字符數組 acout字符串長度為:strlen1(a)endlendl;coutcendlendl;cp=strchr(c,u);if(cp=NULL) cout未找到 uendlendl;else coutcpendlendl; /找到輸出由該字符開始的剩余串cp=strchr(c,a);if(cp=NULL) cout未找到 aendlendl;else coutcpendlendl;coutreverse(c)endlendl;return 0;交作業:雙號)交作業

6、:雙號)命名:實驗三四命名:實驗三四 13200880200010 王浩文王浩文.doc內容:內容:P185 5-3, 5-13 和下面的和下面的 2拷貝運行結果,截屏拷貝運行結果,截屏周日之前上交周日之前上交2、在實驗報告二的基礎上完成:設計一個學生類 Stud,數據成員包括:no(學號)、name(姓名)和deg(成績)和個靜態變量 sum 和 num,分別存放總分和人數;成員函數包括:兩個普通成員函數setdata()和 disp(),分別用于給數據成員賦值和輸出數據成員的值,一個靜態成員函數 avg(),用于計算平均分。在 main()函數中定義一個對象數組用于存儲輸入的學生數據。#i

7、nclude #include #define N 3 class Stud int no; char name10; int deg; ; ; public: void setdata(int n,char na,int d) no=n; deg=d; strcpy(name,na); sum+=d; num+; static double avg() ; void disp() printf( %-5d%-8s%3d ,no,name,deg); ; int Stud:sum=0; int Stud:num=0; void main() Stud stN; int i,n,d; char

8、na10; for(i=0;iN;i+) printf(輸入學號 姓名 成績:); scanf(%d%s%d,&n,na,&d); sti.setdata(n,na,d); printf(輸出數據 ); printf( 學號 姓名 成績 ); for(i=0;iN;i+) sti.disp(); printf( 平均分=%g , ); 3、課后運行課本例題 6-12,理解對象指針的使用。4、課后運行課本例題 6-13,理解訪問對象公有成員的方法。5、課后運行課本例題 6-16,理解動態創建對象的方法。6、課后習題 6-16. 6-17. 6-18C 語言復習五、實驗報告要求1、補充完整第 2 題,在【實驗內

溫馨提示

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

評論

0/150

提交評論