版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面向?qū)ο骳+編撰閩江學(xué)院計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心印制ii目 錄實(shí)驗(yàn)一 c+簡(jiǎn)單程序設(shè)計(jì)3一、實(shí)驗(yàn)?zāi)康模?二、實(shí)驗(yàn)設(shè)備:3三、實(shí)驗(yàn)內(nèi)容:3實(shí)驗(yàn)二 函數(shù)7一、實(shí)驗(yàn)?zāi)康模?二、實(shí)驗(yàn)設(shè)備:7三、實(shí)驗(yàn)內(nèi)容:7實(shí)驗(yàn)三 類(lèi)和對(duì)象10一、實(shí)驗(yàn)?zāi)康模?0二、實(shí)驗(yàn)設(shè)備:10三、實(shí)驗(yàn)內(nèi)容:10實(shí)驗(yàn)四 c+程序的結(jié)構(gòu)13一、實(shí)驗(yàn)?zāi)康模?3二、實(shí)驗(yàn)設(shè)備:13三、實(shí)驗(yàn)內(nèi)容:13實(shí)驗(yàn)五 數(shù)組,指針與字符串16一、實(shí)驗(yàn)?zāi)康模?6二、實(shí)驗(yàn)設(shè)備:16三、實(shí)驗(yàn)內(nèi)容:16實(shí)驗(yàn)六 繼承與派生19一、實(shí)驗(yàn)?zāi)康模?9二、實(shí)驗(yàn)設(shè)備:19三、實(shí)驗(yàn)內(nèi)容:19實(shí)驗(yàn)七 多態(tài)性22一、實(shí)驗(yàn)?zāi)康模?2二、實(shí)驗(yàn)設(shè)備:22三、實(shí)驗(yàn)內(nèi)容:22 實(shí)驗(yàn)一 c+簡(jiǎn)單程序
2、設(shè)計(jì)一、實(shí)驗(yàn)?zāi)康模海?)掌握基本數(shù)據(jù)類(lèi)型和表達(dá)式;(2)學(xué)會(huì)數(shù)據(jù)的輸入與輸出,循環(huán)控制條件的判斷與選擇和字定義數(shù)據(jù)類(lèi)型;(3)熟悉c+簡(jiǎn)單程序設(shè)計(jì);二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1.用循環(huán)結(jié)構(gòu)編寫(xiě)程序求自然數(shù)1到10的和; (1) 源程序代碼如下:#includeusing namespace std;void main() int i(1), sum(0); do sum+=i; i+;while(i=10); coutsum=sumendl;(2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:2. 編程實(shí)現(xiàn)
3、:輸入一個(gè)圖形的長(zhǎng)和寬,輸出其面積。 (1) 源程序如下:#include using namespace std;const float pi = 3.1416;void main()int itype;float radius, a, b, area;cout itype;switch(itype)case 1:cout radius;area = pi * radius * radius;cout面積為:areaendl;break;case 2:cout a;cout b;area = a * b; cout面積為:areaendl;break;case 3:cout a;area =
4、 a * a; cout面積為:areaendl;break;default:cout 不是合法的輸入值!endl; (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:3.輸出年份,日期和具體時(shí)間(1)源程序如下:#include #include using namespace std;struct mytimeshort year;short month;short day;short hour;short minute;short second;void main()mytime time1;cout time1.year;cout time1.month;cout time
5、1.day;cout time1.hour;cout time1.minute;cout time1.second;cout 現(xiàn)在是 time1.year 年 time1.month 月 time1.day 日 time1.hour 點(diǎn) time1.minute 分 time1.second 秒 endl;(2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下:(3) 運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié): 通過(guò)這次實(shí)驗(yàn),。實(shí)驗(yàn)二 函數(shù)一、實(shí)驗(yàn)?zāi)康模海?)掌握函數(shù)的定義和調(diào)用;(2)了解函數(shù)調(diào)用的執(zhí)行過(guò)程,遞歸調(diào)用以及函數(shù)的參數(shù)傳遞;二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件
6、三、實(shí)驗(yàn)內(nèi)容:1.編寫(xiě)一個(gè)求x的n次方的函數(shù); (1) 源程序代碼如下:#include using namespace std;double power (double x, int n);void main(void)cout 5 to the power 2 is power(5,2) endl; /函數(shù)調(diào)用作為一個(gè)表達(dá)式出現(xiàn)在輸出語(yǔ)句中。double power (double x, int n)double val = 1.0;while (n-)val *= x;return(val); (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:2. 從鍵盤(pán)中輸入兩個(gè)整數(shù),交換
7、次序后輸出。 (1) 源程序如下:#includeusing namespace std;void swap(int& a, int& b);void main()int x(5), y(10);coutx=x y=yendl;swap(x,y);coutx=x y=yendl;void swap(int& a, int& b)int t;t=a;a=b;b=t; (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié): 通過(guò)這次實(shí)驗(yàn)。實(shí)驗(yàn)三 類(lèi)和對(duì)象一、實(shí)驗(yàn)?zāi)康模海?)了解面向?qū)ο蟮乃枷?,掌握?lèi)和對(duì)象的概念(2)理解構(gòu)造函數(shù),析構(gòu)函數(shù)和拷貝構(gòu)造函數(shù)的應(yīng)用;二、實(shí)驗(yàn)設(shè)備:一臺(tái)
8、pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1.時(shí)鐘類(lèi);(1) 源程序代碼如下:#includeusing namespace std;class clock/時(shí)鐘類(lèi)的聲明public:/外部接口,公有成員函數(shù)void settime(int newh=0, int newm=0, int news=0);void showtime();private:/私有數(shù)據(jù)成員int hour,minute,second;/時(shí)鐘類(lèi)成員函數(shù)的具體實(shí)現(xiàn)void clock:settime(int newh, int newm, int news)hour=newh;
9、minute=newm;second=news;inline void clock:showtime()couthour:minute:secondendl;void main()/主函數(shù) clock myclock;/定義對(duì)象myclockcoutfirst time set and output:endl;myclock.settime();/設(shè)置時(shí)間為默認(rèn)值myclock.showtime();/顯示時(shí)間coutsecond time set and output:endl;myclock.settime(8,30,30);/設(shè)置時(shí)間為:myclock.showtime();/顯示時(shí)間
10、(2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:2.point類(lèi)(1) 源程序代碼如下:#include using namespace std;class point/point 類(lèi)的聲明public:/外部接口point(int xx=0, int yy=0) x=xx;y=yy;/構(gòu)造函數(shù)point(point &p);/拷貝構(gòu)造函數(shù)int getx() return x;int gety() return y;private:/私有數(shù)據(jù)int x,y;/成員函數(shù)的實(shí)現(xiàn)point:point(point &p)x=p.x;y=p.y;cout拷貝構(gòu)造函數(shù)被調(diào)用endl;/形
11、參為point類(lèi)對(duì)象的函數(shù)void fun1(point p)coutp.getx()endl;/返回值為point類(lèi)對(duì)象的函數(shù)point fun2()point a(1,2);return a;/主程序void main()point a(4,5);/第一個(gè)對(duì)象apoint b(a); /情況一,用a初始化b。第一次調(diào)用拷貝構(gòu)造函數(shù)coutb.getx()endl;fun1(b); /情況二,對(duì)象b作為fun1的實(shí)參。第二次調(diào)用拷貝構(gòu)造函數(shù)b=fun2(); /情況三,函數(shù)的返回值是類(lèi)對(duì)象,函數(shù)返回時(shí),調(diào)用拷貝構(gòu)造函數(shù)coutb.getx()endl;(2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下:(3)
12、運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié): 通過(guò)這次實(shí)驗(yàn)。實(shí)驗(yàn)四 c+程序的結(jié)構(gòu)一、實(shí)驗(yàn)?zāi)康模海?)掌握類(lèi)的靜態(tài)函數(shù)成員的定義及使用;(2)掌握共享數(shù)組的保護(hù)以及常數(shù)據(jù)成員的運(yùn)用二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1. 編程實(shí)現(xiàn):利用靜態(tài)的私有數(shù)據(jù)成員countp對(duì)point類(lèi)的對(duì)象個(gè)數(shù)進(jìn)行統(tǒng)計(jì) (1) 源程序代碼如下:#include using namespace std;class point/point類(lèi)定義public:/外部接口point(int xx=0, int yy=0) x=xx;y=yy;countp+;/構(gòu)造函數(shù)
13、point(point &p);/拷貝構(gòu)造函數(shù)point() countp-; int getx() return x;int gety() return y;static void getc() cout object id=countpendl;/靜態(tài)函數(shù)成員private:/私有數(shù)據(jù)成員int x,y;static int countp;/靜態(tài)數(shù)據(jù)成員引用性說(shuō)明;point:point(point &p)x=p.x;y=p.y;countp+;int point:countp=0;/靜態(tài)數(shù)據(jù)成員定義性說(shuō)明/初始化,使用類(lèi)名限定void main()/主函數(shù)實(shí)現(xiàn)point a(4,5);/
14、定義對(duì)象acoutpoint a,a.getx(),a.gety();a.getc();/輸出對(duì)象號(hào),對(duì)象名引用point b(a);/定義對(duì)象bcoutpoint b,b.getx(),b.gety();point:getc();/輸出對(duì)象號(hào),類(lèi)名引用 (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:2. 編程實(shí)現(xiàn):運(yùn)用靜態(tài)數(shù)據(jù)成員作為類(lèi)的成員數(shù)據(jù) (1) 源程序如下:#includeusing namespace std;class apublic:a(int i);void print();const int& r;private:const int a;static co
15、nst int b; /靜態(tài)常數(shù)據(jù)成員;const int a:b=10; /靜態(tài)常數(shù)據(jù)成員在類(lèi)外說(shuō)明和初始化a:a(int i):a(i),r(a) /常數(shù)據(jù)成員只能通過(guò)初始化列表來(lái)獲得初值void a:print() couta:b:rendl;void main()/*建立對(duì)象a和b,并以100和0作為初值,分別調(diào)用構(gòu)造函數(shù),通過(guò)構(gòu)造函數(shù)的初始化列表給對(duì)象的常數(shù)據(jù)成員賦初值*/ a a1(100),a2(0); a1.print(); a2.print(); (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下:(3) 運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié): 通過(guò)這次實(shí)驗(yàn)。實(shí)驗(yàn)五 數(shù)組,指針與字符串一、實(shí)驗(yàn)?zāi)康模海?/p>
16、1)掌握使用數(shù)組名作為函數(shù)參數(shù)的運(yùn)用;(2)掌握如何用指針作為函數(shù)參數(shù)二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1. 編程實(shí)現(xiàn):計(jì)算一個(gè)矩陣每一行元素的和,并將和直接存放在每行的第一個(gè)元素中 (1) 源程序代碼如下:#include using namespace std;void rowsum(int a4, int nrow) /計(jì)算二維數(shù)組a每行元素的值的和,nrow是行數(shù)for (int i = 0; i nrow; i+)for(int j = 1; j 4; j+) ai0 += aij; void main(void)
17、/主函數(shù)int table34 = 1,2,3,4,2,3,4,5,3,4,5,6;/聲明并初始化數(shù)組for (int i = 0; i 3; i+)/輸出數(shù)組元素for (int j = 0; j 4; j+) cout tableij ;cout endl;rowsum(table,3);/調(diào)用子函數(shù),計(jì)算各行和for (int i = 0; i 3; i+)/輸出計(jì)算結(jié)果 cout sum of row i is tablei0 endl;(2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下:(3) 運(yùn)行結(jié)果如下圖所示:2. 編程實(shí)現(xiàn):讀入三個(gè)浮點(diǎn)數(shù),將整數(shù)部分和消暑部分分別輸出 (1) 源程序如下:#inc
18、lude using namespace std;void splitfloat(float x, int *intpart, float *fracpart) /形參intpart,fracpart是指針*intpart=int(x);/取x的整數(shù)部分*fracpart=x-*intpart;/取x的小數(shù)部分void main()int i,n;float x,f;coutenter 3 float point numbers:endl;for(i=0;ix; splitfloat(x,&n,&f);/變量地址作為實(shí)參 coutinteger part=n fraction part=fen
19、dl; (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié): 通過(guò)這次實(shí)驗(yàn),實(shí)驗(yàn)六 繼承與派生一、實(shí)驗(yàn)?zāi)康模海?)理解繼承和派生;(2)掌握類(lèi)型兼容規(guī)則,派生類(lèi)的構(gòu)造和析構(gòu)函數(shù);二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1.基類(lèi)bo以公有方式派生b1類(lèi),b1類(lèi)再作為基類(lèi)以公有方式派生出d1,基類(lèi)b0中定義了 成員函數(shù)display(),在派生類(lèi)中對(duì)這個(gè)成員函數(shù)進(jìn)行隱藏。(1) 源程序代碼如下:#include using namespace std;class b0/基類(lèi)b0聲明public:void disp
20、lay()coutb0:display()endl;/公有成員函數(shù);class b1: public b0/公有派生類(lèi)b1聲明public:void display()coutb1:display()endl;/公有成員函數(shù);class d1: public b1/公有派生類(lèi)d1聲明public:void display()coutd1:display()display();/對(duì)象指針-成員名void main()/主函數(shù)b0 b0;/聲明b0類(lèi)對(duì)象b1 b1;/聲明b1類(lèi)對(duì)象d1 d1;/聲明d1類(lèi)對(duì)象b0 *p;/聲明b0類(lèi)指針p=&b0;/b0類(lèi)指針指向b0類(lèi)對(duì)象fun(p);p=&b1
21、;/b0類(lèi)指針指向b1類(lèi)對(duì)象fun(p);p=&d1;/b0類(lèi)指針指向d1類(lèi)對(duì)象fun(p); (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下: (3) 運(yùn)行結(jié)果如下圖所示:2.在三個(gè)b1,b2和b3其中只有一個(gè)默認(rèn)的構(gòu)造函數(shù),其余兩個(gè)基類(lèi)的成員只是一個(gè)帶有參數(shù)的構(gòu)造函數(shù),派生出類(lèi)c,在類(lèi)c中增三個(gè)私有對(duì)象成員,并在所以基類(lèi)中加入析構(gòu)函數(shù)。(1) 源程序代碼如下:#include using namespace std;class b1/基類(lèi)b1聲明public:b1(int i) coutconstructing b1 iendl;/b1的構(gòu)造函數(shù)b1() coutdestructing b1 endl;/
22、b1的析構(gòu)函數(shù);class b2/基類(lèi)b2聲明public:b2(int j) coutconstructing b2 jendl;/b2的構(gòu)造函數(shù)b2() coutdestructing b2 endl;/b2的析構(gòu)函數(shù);class b3/基類(lèi)b3聲明public:b3()coutconstructing b3 *endl;/b3的構(gòu)造函數(shù)b3() coutdestructing b3 endl;/b3的析構(gòu)函數(shù);class c: public b2, public b1, public b3/派生類(lèi)c聲明public:c(int a, int b, int c, int d):b1(a),
23、memberb2(d),memberb1(c),b2(b)/派生類(lèi)構(gòu)造函數(shù)定義private:b1 memberb1;b2 memberb2;b3 memberb3;void main()c obj(1,2,3,4); (2)對(duì)程序進(jìn)行調(diào)試,結(jié)果如下:(3) 運(yùn)行結(jié)果如下圖所示:四實(shí)驗(yàn)總結(jié):通過(guò)本次實(shí)驗(yàn),實(shí)驗(yàn)七 多態(tài)性一、實(shí)驗(yàn)?zāi)康模海?)掌握面向?qū)ο蟮亩鄳B(tài)性,虛函數(shù)成員,析構(gòu)虛函數(shù)以及抽象類(lèi);(2)學(xué)會(huì)使用虛析構(gòu)函數(shù),實(shí)現(xiàn)多態(tài)。二、實(shí)驗(yàn)設(shè)備:一臺(tái)pc機(jī),microsoft visual studio 2005運(yùn)行軟件三、實(shí)驗(yàn)內(nèi)容:1. 編程實(shí)現(xiàn):虛函數(shù)成員,這個(gè)是由7-4“類(lèi)型兼容性規(guī)則舉例”改進(jìn)的,在基類(lèi)bo中將原來(lái)成員display()申明為虛函數(shù),其他部分都沒(méi)有做任何修改。在使用基類(lèi)類(lèi)型的指針時(shí),它指向哪個(gè)派生類(lèi)的對(duì)象,就可以通過(guò)它訪問(wèn)那個(gè)對(duì)象的同名虛成員函數(shù)。 (1) 源程序代碼如下:#include using namespace std;class b0/基類(lèi)b0
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房產(chǎn)代持二零二五年度合同范本示例3篇
- 2025年度建筑勞務(wù)外包項(xiàng)目合同書(shū)4篇
- 鄭州鐵路職業(yè)技術(shù)學(xué)院《廣播電視采訪與寫(xiě)作二》2023-2024學(xué)年第一學(xué)期期末試卷
- 個(gè)人住房貸款贖回協(xié)助合同(2024年)3篇
- 2025年度醫(yī)院科室承包運(yùn)營(yíng)質(zhì)量保證合同4篇
- 2025版炊事員餐飲衛(wèi)生與食品安全監(jiān)管協(xié)議3篇
- 2025版?zhèn)€人住宅裝修安全責(zé)任及維修保障協(xié)議4篇
- 2025年度購(gòu)物中心門(mén)頭形象升級(jí)改造合同4篇
- 2025年度住宅小區(qū)電動(dòng)自行車(chē)停車(chē)庫(kù)建設(shè)合同2篇
- 個(gè)性化雕塑訂做合同合同2024參考版版B版
- 銷(xiāo)售與銷(xiāo)售目標(biāo)管理制度
- 人教版(2025新版)七年級(jí)下冊(cè)英語(yǔ):寒假課內(nèi)預(yù)習(xí)重點(diǎn)知識(shí)默寫(xiě)練習(xí)
- 高中生物學(xué)科學(xué)推理能力測(cè)試
- GB/T 44423-2024近紅外腦功能康復(fù)評(píng)估設(shè)備通用要求
- 2024-2030年中國(guó)減肥行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資研究報(bào)告
- 運(yùn)動(dòng)技能學(xué)習(xí)
- 2024年中考英語(yǔ)專(zhuān)項(xiàng)復(fù)習(xí):傳統(tǒng)文化的魅力(閱讀理解+完型填空+書(shū)面表達(dá))(含答案)
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫(kù)附帶答案詳解
- 臨沂正祥建材有限公司牛心官莊鐵礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題練習(xí)100題及答案
- 死亡報(bào)告年終分析報(bào)告
評(píng)論
0/150
提交評(píng)論