




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——《面向?qū)ο蟪绦蛟O(shè)計(jì)C》試驗(yàn)報(bào)告《面向?qū)ο蟪绦蛟O(shè)計(jì)》試驗(yàn)教學(xué)大綱
試驗(yàn)學(xué)時(shí):32
課程性質(zhì):專業(yè)必修課教材及參考書:
1.《C++語言程序設(shè)計(jì)習(xí)題與試驗(yàn)指導(dǎo)》,鄭莉、傅仕星編著,北京:清華大學(xué)出版社,20232.《C++語言程序設(shè)計(jì)(第三版)》,鄭莉、董淵編著,北京:清華大學(xué)出版社,2023大綱執(zhí)筆人:李曉寧大綱審定人:劉芳、茍仕蓉、左友東
試驗(yàn)個(gè)數(shù):13適用專業(yè):軟件工程
試驗(yàn)學(xué)分:1
一、試驗(yàn)課的性質(zhì)與任務(wù)
本課程試驗(yàn)大綱是面向計(jì)算機(jī)專業(yè)學(xué)生開設(shè)的《C++程序設(shè)計(jì)》試驗(yàn)課計(jì)劃指導(dǎo)大綱,是依據(jù)《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程教學(xué)計(jì)劃指導(dǎo)大綱編制。本課程主要陳述了利用C++進(jìn)行程序設(shè)計(jì)的思想和方法,既有面向過程和面向?qū)ο蟮某绦蛟O(shè)計(jì)的理論知識(shí),又包括極強(qiáng)的實(shí)踐應(yīng)用能力的培養(yǎng)。本試驗(yàn)大綱力求結(jié)合該課程教學(xué)計(jì)劃大綱的相應(yīng)內(nèi)容,由淺入深的指導(dǎo)學(xué)生了解和把握如何利用C++程序設(shè)計(jì)語言進(jìn)行程序設(shè)計(jì),提高學(xué)生的動(dòng)手能力,做到理論和實(shí)踐相結(jié)合,培養(yǎng)學(xué)生理解,分析程序,編寫,調(diào)試程序的能力,使之能把程序設(shè)計(jì)應(yīng)用到今后的專業(yè)學(xué)習(xí)中。
二、試驗(yàn)課程目的與要求
1.試驗(yàn)?zāi)康模?/p>
通過本課程的學(xué)習(xí),使學(xué)生把握面向過程的程序設(shè)計(jì)思想和編程思路,初步把握面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,學(xué)會(huì)調(diào)試程序,能獨(dú)立編寫實(shí)用的小型程序。2.試驗(yàn)要求:
1)學(xué)生應(yīng)當(dāng)自始至終貫徹課程中所介紹的程序設(shè)計(jì)風(fēng)格,養(yǎng)成良好的編程習(xí)慣;2)應(yīng)獨(dú)立完成所布置習(xí)題。為保證盡量在統(tǒng)一安排的上機(jī)時(shí)間內(nèi)編譯運(yùn)行通過程序,學(xué)生應(yīng)事先設(shè)計(jì)好程序。
三、試驗(yàn)項(xiàng)目及內(nèi)容提要
面向?qū)ο蟪绦蛟O(shè)計(jì)試驗(yàn)課程序號(hào)試驗(yàn)項(xiàng)目編號(hào)試驗(yàn)類型試驗(yàn)名稱學(xué)時(shí)必做選做學(xué)分?jǐn)?shù)基本操作驗(yàn)證綜合設(shè)計(jì)內(nèi)容提要面向?qū)ο蟪绦蛟O(shè)計(jì)試驗(yàn)課程序號(hào)試驗(yàn)項(xiàng)目編號(hào)試驗(yàn)類型試驗(yàn)名稱學(xué)時(shí)必做選做學(xué)分?jǐn)?shù)基本操作驗(yàn)證綜合設(shè)計(jì)內(nèi)容提要10十111213四、試驗(yàn)內(nèi)容安排:
試驗(yàn)一VisualC++6.0開發(fā)環(huán)境應(yīng)用入門
(驗(yàn)證性試驗(yàn)2學(xué)時(shí))
1.目的要求:
了解VisualC++6.0的特點(diǎn),熟悉了解VisualC++6.0的開發(fā)環(huán)境,學(xué)習(xí)使用VisualC++6.0編寫標(biāo)準(zhǔn)的C++控制臺(tái)應(yīng)用程序。2.試驗(yàn)內(nèi)容:
123456789一二三函數(shù)的應(yīng)用四類與對(duì)象五C++程序的結(jié)構(gòu)六數(shù)組、指針與字符串七繼承與派生八多態(tài)性九群體類和群體數(shù)據(jù)的組織泛型程序設(shè)計(jì)與C++標(biāo)準(zhǔn)模板庫十流內(nèi)庫與輸入、輸一出十異常處理二十Windows應(yīng)用程三序框架VisualC++開發(fā)環(huán)境入門C++簡單程序設(shè)計(jì)2426246242222√√√√√√√√√√√√√√√√熟悉VC++開發(fā)環(huán)境基本算法結(jié)構(gòu)√函數(shù)設(shè)計(jì)、模板函數(shù)√類的設(shè)計(jì)與使用√√作用域與生存期,靜態(tài)成員三種常見編程元素的使用√派生類的設(shè)計(jì)與使用√運(yùn)算符重載、動(dòng)態(tài)多態(tài)√群體類的設(shè)計(jì)√STL庫的使用√常用輸入輸出方法√異常處理機(jī)制的設(shè)計(jì)VC開發(fā)Windows程序方法使用VisualC++來建立一個(gè)非圖形化的標(biāo)準(zhǔn)C++程序,編譯、運(yùn)行教材中的例3-3,用公式法求解PI的數(shù)值,并嘗試?yán)闷渌椒ㄇ蠼獠@得一致的結(jié)果。
π=16arctan(1/5)-4arctan(1/239)
arctan(x)=x-x3/3+x5/5-x7/7+?求π=?
#includeusingnamespacestd;intmain(){
doublea,b;
doublearctan(doublex);a=16.0*arctan(1/5.0);b=4.o*aarctan(1/239.0);cout1e-15){
f=e/I;
r=(i%4==1)?r+f:r-f;e=e*sqr;I+=2;}
returnr;}
#include#includemain(){ints=1;
floatn=1,t=1,pi=0;while(fabs(t)1e-4){
pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;
printf(\}
1
3.主要儀器設(shè)備及軟件:PC+Windows2000+VC6.0
試驗(yàn)二C++簡單程序設(shè)計(jì)試驗(yàn)(驗(yàn)證性試驗(yàn)4學(xué)時(shí))
1.目的要求:
會(huì)編寫簡單的C++程序;復(fù)習(xí)基本數(shù)據(jù)類型變量和常量的應(yīng)用;復(fù)習(xí)運(yùn)算符與表達(dá)式的應(yīng)用;復(fù)習(xí)結(jié)構(gòu)化程序設(shè)計(jì)基本控制結(jié)構(gòu)的應(yīng)用;復(fù)習(xí)自定義數(shù)據(jù)類型的應(yīng)用;練習(xí)使用簡單的輸入輸出;觀測(cè)頭文件的作用;學(xué)會(huì)使用VC6.0開發(fā)環(huán)境中的debug調(diào)試功能;熟練程序設(shè)計(jì)中的技巧;2.試驗(yàn)內(nèi)容:
1)給定一個(gè)字符變量輸出其二進(jìn)制形式。例如chara=’a’;其二進(jìn)制為00100001。#includeusingnamespacestd;
intmain(){
charch;
intj,k[8]={0};
cout>ch;
for(j=0;j=0;j--){coutusingnamespacestd;
intmain(){charch;intj,k[8]={0};cout>ch;for(j=0;j=0;j--){cout
}
k[j]=k[j]^1;}
cout=0;j--){cout
enumcolor{red=0,yellow,blue,green,black};boolisNum(inti){
intj=0;
for(intk=0;k>kreturnj==3?true:false;}
voidprintResult(inti){
for(intk=0;k>k
caseyellow:printf(\break;caseblue:printf(\break;casegreen:printf(\break;caseblack:printf(\break;default:
printf(\break;}}
printf(\}
voidmain(){
intj=0;
printf(\可能的方案有:\\n\for(inti=0;iusingnamespacestd;
intFibonacci(inti){
if(i==1)return0;else{if(i==2)return1;
elsereturnFibonacci(i-1)+Fibonacci(i-2);}}
intmain(){intn,j,i;cin>>n;
for(i=1;iusingnamespacestd;intMAX1(inta,intb){
if(a>=b)returna;elsereturnb;}
intMAX1(inta,intb,intc){
if(a>=b){if(a=b)returna;elsereturnb;}
doubleMAX1(doublea,doubleb,doublec){
if(a>=b){if(a>a>>b;
cout>a>>b>>c;
cout>i>>j;
cout>i>>j>>k;
coutusingnamespacestd;
voidSHENGC(doublei,doublej){
if(i>i>>j;SHENGC(i,j);}
3.主要儀器設(shè)備及軟件:PC+Windows2000+VC6.0
試驗(yàn)四類與對(duì)象試驗(yàn)(設(shè)計(jì)性試驗(yàn)4學(xué)時(shí))
1.目的要求:
把握類的定義和使用;把握類對(duì)象的聲明;復(fù)習(xí)具有不同訪問屬性的成員的訪問方式;觀測(cè)構(gòu)造函數(shù)和析構(gòu)函數(shù)的執(zhí)行過程;學(xué)習(xí)類組合使用方法;使用VC++的debug調(diào)試功能
觀測(cè)程序流程,跟蹤觀測(cè)類的構(gòu)造函數(shù)、析構(gòu)函數(shù)、成員函數(shù)的執(zhí)行順序。2.試驗(yàn)內(nèi)容:
1)定義一個(gè)CPU類,包含等級(jí)(Rank)、頻率(frequency)、電壓(voltage)等屬性,有兩個(gè)公有成員函數(shù)run、stop。其中,rank為枚舉類型CPU__Rank,定義為enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency為單位是MHz的整型數(shù),voltage為浮點(diǎn)型的電壓值。觀測(cè)構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。
#includeusingnamespacestd;
enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7};classCPU{
public:CPU();~CPU();voidrun(enumCPU_Rankr,intf,doublev);voidstop();private:enumCPU_RankRank;intfrequency;doublevoltage;};
CPU::CPU(){
coutusingnamespacestd;
classCPU{public:CPU(){coutusingnamespacestd;classbody{
public:body(){cout>i>>j;a.set(i,j);a.show();}
4)(選做)設(shè)計(jì)一個(gè)用于人事管理的People(人員)類??紤]到通用性,這里只抽象出所有類型人員都具有的屬性:number(編號(hào))、sex(性別)、birthday(出生日期)、id(身份證號(hào))等等。其中“出生日期〞定義一個(gè)“日期〞類內(nèi)嵌子對(duì)象。用成員函數(shù)實(shí)現(xiàn)對(duì)人員信息錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、類組合。
3.主要儀器設(shè)備及軟件:PC+Windows2000+VC6.0
試驗(yàn)五C++程序的結(jié)構(gòu)試驗(yàn)(設(shè)計(jì)性試驗(yàn)2學(xué)時(shí))
1.目的要求:
觀測(cè)程序運(yùn)行中變量的作用域、生存期和可見性;學(xué)習(xí)類的靜態(tài)成員的使用;學(xué)習(xí)多文件結(jié)構(gòu)在C++程序中的使用。2.試驗(yàn)內(nèi)容:
1)運(yùn)行下面的程序,觀測(cè)變量X、Y的值。(刪除)
//lab5_1.cpp#includevoidfnl();intx=1,y=2;intmain(){coutusingnamespacestd;
classClient{
private:
staticcharSeverName[10];staticintClientnum;public:Client(){cout>SeverName;}voidshow();};
intClient::Clientnum=0;
charClient::SeverName[10]=\//Client.cpp
voidClient::show(){
coutusingnamespacestd;
classbody{
public:body(){cout>body::i;coutbody::i)cout>i>>j;a.set(i,j);a.show();}
4)定義Boat;和Car兩個(gè)類,二者都有weight屬性,定義二者的一個(gè)友元函數(shù)totalWeight(),計(jì)算二者的和。
#includeusingnamespacestd;
classBoat{
public:Boat(){coutweight=i;}
voidCar::set(doublei){
this->weight=i;}
doubleTotalweight(classBoat
m=j.weight+k.weight;
returnm;}
intmain(){
doublej;Boatb;Carc;
cout>j;b.set(j);
cout>j;c.set(j);
cout
usingnamespacestd;
classpoint{
public:point(){cout>p[i][j];}}
voidpoint::show(){inti,j;
for(i=0;iusingnamespacestd;
classzhuz{
public:zhuz(){cout>p[i][j];}}
voidshow(){inti,j;for(i=0;iusingnamespacestd;
classzhuz{
public:zhuz(){cout
/*zhuz(zhuzp=newint[3][3];for(i=0;i>p[i][j];}}
voidshow(){inti,j;for(i=0;iusingnamespacestd;
voidString(char*a,char*b){
char*p;p=a;
while(*p!=NULL)p++;
while(*b!=NULL){*p=*b;p++;b++;}
*p=*b;}
intmain(){
charshuz1[20];charshuz2[20];
cout>shuz1;
cout>shuz2;
String(shuz1,shuz2);
cout#includeusingnamespacestd;
intmain(){
stringshuz1=\
cout>shuz1;
cout>shuz2;shuz1+=shuz2;
cout
usingnamespacestd;
classBody{
public:Body(){cout>k;
Body*people=newBody[k];for(i=0;i>a;people[i].Gethigh(a);cout>b;people[i].Getweight(b);}
cout10)(選做)修改試驗(yàn)4中的選做試驗(yàn)中的people(人員)類。具有的屬性如下:姓名charname[11]、編號(hào)charnumber[7]、性別charsex[3]、生日birthday、身份證號(hào)charid[16]。其中“出生日期〞定義為一個(gè)“日期〞類內(nèi)嵌對(duì)象。用成員函數(shù)實(shí)現(xiàn)對(duì)人員信息的錄入和顯示。要求包括:構(gòu)造函數(shù)和析構(gòu)函數(shù)、拷貝構(gòu)造函數(shù)、內(nèi)嵌構(gòu)造函數(shù)、內(nèi)聯(lián)成員函數(shù)、類組合。在測(cè)試程序中定義people類的對(duì)象數(shù)組,錄入數(shù)據(jù)并顯示,觀測(cè)構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序。
3.主要儀器設(shè)備及軟件:Windows2000+VC6.0
試驗(yàn)七繼承與派生試驗(yàn)
(驗(yàn)證性試驗(yàn)4學(xué)時(shí))
1.目的要求:
學(xué)習(xí)定義和使用類的繼承關(guān)系,定義派生類;熟悉不同繼承方式下對(duì)基類成員的訪問控制;學(xué)習(xí)利用虛基類解決二義性問題。2.試驗(yàn)內(nèi)容:
1)定義一個(gè)基類Animal,有私有整型成員變量age,構(gòu)造其派生類dog,在其成員函數(shù)SetAge(intn)中直接給age賦值,看看會(huì)有什么問題,把a(bǔ)ge改為公有或保護(hù)成員變量,還會(huì)有問題嗎?編程試試看,說明白什么原則?
#includeusingnamespacestd;
classAnimal{
public:Animal(){coutusingnamespacestd;
classBasClass{
public:BasClass(){
coutusingnamespacestd;classvehicle{
public:vehicle(){cout>i>>j;MaxSpeed=i;Weight=j;}voidStop(){cout人員姓名編號(hào)性別出生日期身份證號(hào)函數(shù)日期年月日函數(shù)學(xué)生班號(hào)函數(shù)教師職務(wù)部門函數(shù)研究生專業(yè)導(dǎo)師函數(shù)助教生
圖7-1試驗(yàn)任務(wù)4的類圖
3.主要儀器設(shè)備及軟件:PC+Windows2000+VC6.0
試驗(yàn)八多態(tài)性試驗(yàn)(設(shè)計(jì)性試驗(yàn)2學(xué)時(shí))
1.目的要求:
把握運(yùn)算符重載的方法;學(xué)習(xí)使用虛函數(shù)實(shí)現(xiàn)動(dòng)態(tài)多態(tài)性。2.試驗(yàn)內(nèi)容:
1)定義Point類,有坐標(biāo)_x,_y兩個(gè)成員變量;對(duì)Point類重載“++〞(自增)、“--〞(自減)運(yùn)算符,實(shí)現(xiàn)對(duì)坐標(biāo)的改變。(提醒:注意前++和后++)
#includeusingnamespacestd;classpoint{
public:point(){
cout>i>>j;a.set(i,j);a.show();++a;a.show();--a;a.show();a++;a.show();a--;a.show();}
2)定義一個(gè)車(vehicle)基類,有Run、Stop等虛成員函數(shù),由此派生出自行車(bicycle)類、汽車(motorcar)類,從bicycle到motorcar派生出摩托車(motorcycle)類,它們都有Run、Stop等成員函數(shù),利用基類指針或引用虛函數(shù),觀測(cè)虛函數(shù)的作用,說說多態(tài)的含義,假使不采用虛函數(shù)會(huì)是什么樣的結(jié)果?#includeusingnamespacestd;classvehicle{
public:vehicle(){coutRun();p->Stop();}
intmain(){vehiclea0,*p;bicyclea1;motorcara2;
}
m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 備戰(zhàn)2025高考物理3年高考2年模擬1年原創(chuàng)專題5.8宇宙探測(cè)含解析
- 福建2025年02月福州市鼓樓區(qū)東街街道公開招考1名營商環(huán)境辦(財(cái)政所)工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 跨界融合教育領(lǐng)域營銷團(tuán)隊(duì)的創(chuàng)新教育模式
- 餐飲行業(yè)中的品牌建設(shè)與市場(chǎng)推廣策略研究
- 購物中心的特色定位與市場(chǎng)細(xì)分策略
- 高端商業(yè)空間茶館墻面的裝飾風(fēng)格趨勢(shì)
- 高效時(shí)間管理提升個(gè)人和團(tuán)隊(duì)績效的秘訣
- 河南2025年01月河南省新鄉(xiāng)市市直機(jī)關(guān)(單位)2025年度公開遴選12名公務(wù)員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 河南2025年01月河南省林州市部分市直單位2025年公開選調(diào)10名工作人員筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 跨學(xué)科合作下的超聲科醫(yī)學(xué)教育新模式
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)項(xiàng)目驗(yàn)收技術(shù)方案
- 2024年甘肅天水麥積山石窟藝術(shù)研究所招聘工作人員考試真題
- 人效的指標(biāo)體系及其“落地雙引擎”
- 2025年山東省榮成市屬事業(yè)單位招聘崗位及歷年高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 醫(yī)學(xué)三基知識(shí)考試題庫及答案(護(hù)理+臨床)
- 火星表面材料分析-深度研究
- 《職業(yè)技能等級(jí)評(píng)價(jià)規(guī)范編制指南編制說明》
- 《教育強(qiáng)國建設(shè)規(guī)劃綱要(2024-2035年)》解讀講座
- 《義務(wù)教育語文課程標(biāo)準(zhǔn)》2022年修訂版原版
- 天耀中華合唱簡譜大劇院版
- 新人教版六年級(jí)下冊(cè)科學(xué)全冊(cè)教學(xué)設(shè)計(jì)教案
評(píng)論
0/150
提交評(píng)論