版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C+程序設(shè)計案例教程部分習(xí)題答案程序設(shè)計案例教程部分習(xí)題答案習(xí)題一習(xí)題一1 運行結(jié)果:enter i j:9 8 (從鍵盤輸入 9 和 8)i=9,j=8i+j=17i-j=1i*j=722 運行結(jié)果:56 34(從鍵盤輸入)max(56,34)=563 錯誤:(1) 沒有包含頭文件;(2)main()函數(shù)沒有返回值4 錯誤:(1) 缺少語句:using namespace std; (2) main()函數(shù)沒有返回值;(3)變量 a 沒有聲明;(4)語句:coutb=bendl;嚴(yán)格來說應(yīng)該為:coutb=bendl;5 錯誤:(1) 缺少語句:using namespace std; (2
2、) main()函數(shù)應(yīng)該包含 return 語句;(3)COUT 不應(yīng)該大寫;(4)變量 j 沒有初始化6 運行結(jié)果:您好!在哪兒呢?在沈陽.一會兒見!習(xí)題二習(xí)題二一、程序閱讀一、程序閱讀1 運行結(jié)果:Enter a b:15 8(從鍵盤輸入 15 和 8)d=-72 運行結(jié)果:A=8CH+2=mD-5.8=2.73 運行結(jié)果:0,11,0注意此題書中有錯誤:將最后一行語句改為:return 0;4 運行結(jié)果:325 運行結(jié)果:3,746 運行結(jié)果:13898$7 運行結(jié)果:9878 運行結(jié)果:79111315ok!9 運行結(jié)果:7531-110.運行結(jié)果:10二、編程題二、編程題1程序如下:
3、#includeusing namespace std;int main()double a,b,c,d,e,sum,avg;cinabcde;sum=a+b+c+d+e;avg=sum/5;coutsum=sumendl;coutavg=avgendl;return 0;2程序如下:#includeusing namespace std;int main()int a,b,x,y;cinab;x=(a+b)*(a+b);y=a*a+2*a*b+b*b;if (x=y) coutyesendl;else coutnoendl;return 0;3程序如下:#include using name
4、space std;int main()char a100, *p;couta;cout= a; -p)putchar(*p);coutendl;return 0;4程序如下:#includeusing namespace std;int main()int n,sum=0;for (n=1;n=100;n=n+2)sum=sum+n;coutsum=sumendl;return 0;5程序如下:#includeusing namespace std;int main()int a,b,num1,num2,temp;coutplease input two numbersnum1num2;if
5、 (num1)temp=num1;num1=num2;num2=temp;a=num1;b=num2;while (b!=0)temp=a%b;a=b;b=temp;cout最大公約數(shù)=aendl;cout最小公倍數(shù)=num1*num2/aendl;return 0;6 程序如下:#include using namespace std;int main()int n,a;int result = 0;coutn;for (int i = n; i = 1; i-)a=0;for (int j=1;j=i;j+)a+=j;result += a;cout最終結(jié)果為: resultendl;re
6、turn 0;7 程序如下:#includeusing namespace std;int main()int n,t,number=15;double a=2,b=1,s=0;for (n=1;n=number;n+)s=s+a/b;t=a;a=a+b;b=t;coutsum is:sendl;return 0;8 程序如下:#include using namespace std;int main()double e=1;double jc=1;int i=1;while(1/jc=1e-6)e=e+1/jc;i+;jc=jc*i;coute=eendl;return 0;習(xí)題三習(xí)題三一、
7、填空題1 x2 p=new int(10)3 10、194 new、delete5 b9、b1二、選擇題1D2. D3. B4. B5. B6A三、程序閱讀1運行結(jié)果:1111211331146411510105116152015611721353521712運行結(jié)果:intone:5rsomeref:5intone:7rsomeref:73運行結(jié)果:BCDEFGHIJKLMNOPQRSTDEFGHIJKLMNOPQRSTTTRRSTPPQRSTNNOPQRST4運行結(jié)果:9191930 1 2 3 15 16 17 18 1919 18 17 16 155運行結(jié)果:2四、編程題1程序如下:#
8、include using namespace std;int main()int array10;int i,max,min;for(i=0;iarrayi;max=array0;min=array0;for(i=1;imax)max=arrayi;if(arrayimin)min=arrayi;coutThe largest number is maxendl;coutThe smallest number is minendl;return 0;2程序如下:#includeusing namespace std;int main()int a35=0;int b54=0;int c34=
9、0;int i,j,k;cout請輸入一個 3 行 5 列的矩陣:endl;for(i=0;i3;i+)for(j=0;jaij;cout請輸入一個 5 行 4 列的矩陣:endl;for(i=0;i5;i+)for(j=0;jbij;for(i=0;i3;i+)for(j=0;j4;j+)cij=0;for(k=0;k5;k+)cij+=ajk*bkj;cout矩陣的乘積:endl;for(i=0;i3;i+)for(j=0;j4;j+)coutcij ;coutendl;return 0;3程序如下:#include using namespace std;void alter(float
10、 &x,float &y)float m,n;m=x;n=y;x=m*n;y=m+n;int main()float a,b;coutPlease input two numbers:ab;alter(a,b);coutAfter changed:endl;couta,bendl;return 0;習(xí)題四習(xí)題四一、填空題1參數(shù)傳遞、執(zhí)行函數(shù)體、返回調(diào)用位置2常量、const3Fun(5,100)4inline5程序域、文件域、函數(shù)域和塊域二、選擇題1.A2. D3. C4. C5. D6.A7.A8.A9.D10.A三、程序閱讀1運行結(jié)果:a=3 b=22運行結(jié)果:x=50,y
11、=303運行結(jié)果:b=16.0988input a=2 (從鍵盤輸入 2)F(a)=-0.14運行結(jié)果:Sum of 4powers of integers from 1 to 6=22755運行結(jié)果:6,6,66運行結(jié)果:107運行結(jié)果:In Mainx=5,y=1,n=1In Funx=6,y=14,n=4In Mainx=5,y=1,n=4四、編程題1程序如下:#includeusing namespace std;int main()int idec;int ibase;char strdr20, t;int i, idr, p=0;cout請輸入一個進制數(shù)及要轉(zhuǎn)換的進制數(shù):ideci
12、base;while(idec!=0)idr=idec % ibase;if(idr=10) strdrp+=idr-10+65;else strdrp+=idr+48;idec/=ibase;for(i=0; ip/2; i+)t=strdri;strdri=strdrp-i-1;strdrp-i-1=t;strdrp=0;coutstrdrendl;return 0;2程序如下:#includeusing namespace std;int main()int num,i=0,temp,flag=0;cinnum;while(1) temp=num%10;if(temp%2=0)flag+
13、;break;num/=10;if(num=0)break;if(flag)coutNOendl;elsecoutYESendl;return 0;3程序如下:#include #include using namespace std;int main()int n,i;double sum=0;coutPlease input a number(1,2,3,4 or 5):n;for(i=1;i=20;i+)sum+=pow(n,i);coutsumendl;return 0;4程序如下:#include using namespace std;int main()int num,digit
14、;coutnum;cout整數(shù) num 的逆序數(shù)為: ;dodigit=num%10;coutdigit;num/=10;while(num);coutendl;return 0;5程序如下:#includeusing namespace std;#include int main()const int N=5;char aN100=0;char t100=0;int i,j;for(i=0;iai;for(i=0;ii;j-)if(strcmp(aj,aj-1)0)strcpy(t,aj);strcpy(aj,aj-1);strcpy(aj-1,t);for(i=0;iN;i+)coutai
15、endl;return 0;習(xí)題五習(xí)題五一、填空題1數(shù)據(jù)成員、成員函數(shù)2private、protected、public3private、public4自動、創(chuàng)建并初始化對象5構(gòu)造函數(shù)6析構(gòu)函數(shù)7友元函數(shù)8堆對象9this、正在被成員函數(shù)操作的對象1010、10二、選擇題1D2. C3. D4.A5.C6. C7. C8. C9A10. C11. B12. B13. C14.A15. D三、程序閱讀1有四處錯誤:(1)int i=0;數(shù)據(jù)成員在類的定義中不能直接初始化(2)void Sample();構(gòu)造函數(shù)沒有返回值類型;(3)Sample(int value);析構(gòu)函數(shù)無參數(shù);(4)析構(gòu)函
16、數(shù)不能重載。2有四處錯誤:(1)Sample(int a=0,b=1);參數(shù) b 沒有說明類型;(2)disp();沒有給出返回值類型;(3)void Sample(int a);析構(gòu)函數(shù)不能有返回值類型,也不能有參數(shù);(4)Sample:Sample(int a=0,int b=1)默認(rèn)值重復(fù)定義,只需在函數(shù)說明中給出即可。3有二處錯誤:(1)Sample(int a)X=a;常數(shù)據(jù)成員只能用初始化列表的形式進行初始化;(2)a.Print();常對象只能調(diào)用常成員函數(shù)。4無錯誤,運行結(jié)果如下:Const:X=10X=205運行結(jié)果:2,510,206運行結(jié)果:22347運行結(jié)果:38運行結(jié)
17、果:E2-C16-四、編程題1程序如下:#include using namespace std;class Datepublic:void SetDate(int y,int m,int d)year=y;month=m;day=d;intAddDay()return day+;void Display()coutday/month/yearendl;private:int year,month,day;int main()Date today,tomorrow;today.SetDate(2010,7,20);today.AddDay();tomorrow=today;tomorrow.D
18、isplay();return 0;2程序如下:#include using namespace std;class Rectanglepublic:Rectangle(double a=1,double b=1)length=a;width=b;void SetValue(double m,double n)length=m;width=n;double Perimeter()return 2*(length+width);double Area()return length*width;private:double length,width;int main()Rectangle r;r.
19、SetValue(10,20);coutr.Perimeter()endl;coutr.Area()endl;return 0;3程序如下:#include using namespace std;class Timepublic:Time();Time(int h,int m);void SetTime(int h1,int m1)hour=h1;minute=m1;friend void GetTime12(Time & t);friend void GetTime24(Time & t);private:int hour,minute;Time:Time()hour=0;
20、minute=0;Time:Time(int h,int m)hour=h;minute=m;void GetTime12(Time & t)bool pm;int hours;if(t.hour12)hours=t.hour-12;pm=true;elsehours=t.hour;pm=false;if (pm)coutTime is hours:t.minutePMendl;elsecoutTime is hours:t.minuteAMendl;void GetTime24(Time & t)coutTime is t.hour:t.minuteendl;int main
21、()Time t1,t2;t2.SetTime(16,20);GetTime12(t1);GetTime24(t1);GetTime12(t2);GetTime24(t2);return 0;4程序如下:#include #include using namespace std;class Studentpublic:Student();void GetName(string n);void GetGender(char g);void GetAge(int a);void Display()coutName:nameendl;coutGender:genderendl;coutAge:age
22、endl;private:string name;char gender;int age;void Student:GetName(string n)name=n;void Student:GetGender(char g)gender=g;void Student:GetAge(int a)age=a;int main()Student s;string sname;char sgender;int sage;coutPlease input name:sname;s.GetName(sname);coutPlease input gender:sgender;s.GetGender(sge
23、nder);coutPlease input age:sage;s.GetAge(sage);s.Display();return 0;5程序如下:#include using namespace std;class Studentpublic:Student()score=0;Student(double s)score=s;totalscore+=score;count+;static double TotalSum()return totalscore;static double Average()return totalscore/count;private:double score;
24、static double totalscore;static int count;double Student:totalscore=0;int Student:count=0;int main()Student s5=Student(98),Student(76),Student(80),Student(88),Student(68);coutThe total score is Student:TotalSum()endl;coutThe average score isStudent:Average()endl;return 0;6程序如下:#include #include usin
25、g namespace std;class Bookpublic:Book()Book(string bn,string an,int sale)bookname=bn;author=an;salecount=sale;void SetBook(string b,string a,int s)bookname=b;author=a;salecount=s;void Print()coutBook:booknameendl;coutAuthor:authorendl;coutSale acount:salecountendl;private:string bookname,author;int
26、salecount;int main()Book b4=Book(C+,Mary,100),Book(Java,John,56);b2.SetBook(English,Susie,450);b3.SetBook(Datastructure,Joe,45);for(int i=0;i4;i+)bi.Print();return 0;習(xí)題六習(xí)題六一、填空題1公有繼承、保護繼承、私有繼承2基類、派生類3單繼承、多繼承4代碼重用5公有的、私有的6基類、子對象、新增成員7 : : 、同名覆蓋8派生、基、構(gòu)造、賦值二、選擇題1C2. C3. C4. D5.A6. C7. B8. D三、程序閱讀1. 運行結(jié)
27、果:constructing base classconstructing sub classdestructing sub classdestructing base class2運行結(jié)果:constructing base classn=1constructing base classn=3constructing sub classm=2destructing sub classdestructing base classdestructing base class3運行結(jié)果:10,204運行結(jié)果:215錯誤語句:b.i=4;私有繼承的派生對象不對直接訪問基類的公有成員,因為基類的公有成
28、員在派生類中變成私有屬性,不能被對象直接訪問??梢酝ㄟ^增加成員函數(shù),由成員函數(shù)來訪問。6錯誤語句:c.i=3;訪問出現(xiàn)二義性,因為基類 A 和 B 中均有公有的數(shù)據(jù)成員 i,在派生類中都可以通過對象 c 來訪問,但是這種訪問形式系統(tǒng)無法辨認(rèn)是基類 A 的成員還是基類 B 的成員。可以通過作用域運算符來訪問:c.A:i=3;或 c.B:i=3;的形式進行。7運行結(jié)果:Aconstructing ,data not evaluatedAconstructing ,data not evaluatedB constructing ,data not evaluatedAconstructing ,d
29、ata evaluatedAconstructing ,data not evaluatedB constructing ,AevaluatedAconstructing ,data evaluatedAconstructing ,data not evaluatedB constructing ,data evaluatedB destructingAdestructingAdestructingB destructingAdestructingAdestructingB destructingAdestructingAdestructing四、請參閱教材進行理解,答案略。五、編程題1程序如
30、下:#include #include using namespace std;class Studentpublic:Student()Student(string n,int no,int a,string m)name=n;id=no;age=a;major=m;void Display()coutName:nameendl;coutID:idendl;coutAge:ageendl;coutMajor:majorendl;private:string name;int id,age;string major;class Master:public Studentpublic:Maste
31、r(stringname1,intid1,intage1,stringmajor1,stringadvisor1):Student(name1,id1,age1,major1)advisor=advisor1;void Display()Student:Display();coutAdvisor:advisorendl;private:string advisor;int main()Master person(Mia,1001,22,Computer Science,Prof. Smith);person.Display();return 0;2程序如下:#include #include
32、using namespace std;class Vehiclepublic:Vehicle(int wh,double we)wheels=wh;weight=we;int GetWheels()return wheels;double GetWeight()return weight;void Display()coutWheels:wheelsendl;coutWeight:weightendl;private:int wheels;double weight;class Car:public Vehiclepublic:Car(int wh,double we,int pa):Veh
33、icle(wh,we)passenger_load=pa;int GetPassenger()return passenger_load;void Display()coutThe car is:endl;Vehicle:Display();coutPassenger load:passenger_loadendl;private:int passenger_load;class Truck:public Vehiclepublic:Truck(int wh,double we,int pa,double load):Vehicle(wh,we)passenger_load=pa;payloa
34、d=load;int GetPassenger()return passenger_load;double GetPayload()return payload;void Display()coutThe truck is:endl;Vehicle:Display();coutPassenger load:passenger_loadendl;coutPay load:payloadendl;private:int passenger_load;double payload;int main()Car c(4,2,5);Truck t(6,5,3,10);c.Display();t.Displ
35、ay();return 0;3程序如下:#include #include using namespace std;class Studentpublic:Student()Student(string n,int no)name=n;id=no;void Display()coutName:nameendl;coutID:idendl;private:string name;int id;class Teacherpublic:Teacher()Teacher(string u)unit=u;void Display()coutUnit:unitendl;private:string nam
36、e,unit;classAssistant:public Student,public Teacherpublic:Assistant(string n,int i,string u,string c):Student(n,i),Teacher(u)course=c;void Display()Student:Display();Teacher:Display();coutCourse:courseendl;private:string course;int main()Assistant person(Mia,1001,Computer Science,C+ Programming);per
37、son.Display();return 0;4程序如下:#include #include using namespace std;const double pi=3.14;class Circlepublic:Circle(double a)r = a;double Area()return pi * r * r;private:double r;class Tablepublic:Table(double h,string c)height=h;color=c;void Display()coutHeight:heightendl;coutColor:colorendl;private:
38、double height;string color;class Roundtable:public Circle,public Tablepublic:Roundtable(double r,double h,string c):Circle(r),Table(h,c)void Display()Table:Display();coutArea:Area()endl;int main()Roundtable t(0.8,0.6,Yellow);t.Display();return 0;5程序如下:#include #include using namespace std;class Pers
39、onpublic:Person()Person(string n,int a)name=n;age=a;void Display()coutName:nameendl;coutAge:ageendl;private:string name;int age;class Leader:virtual public Personpublic:Leader()Leader(string n,int a,string po,string u):Person(n,a)position=po;unit=u;void Display()Person:Display();coutPosition:positio
40、nendl;coutUnit:unitendl;private:string position,unit;class Engineer:virtual public Personpublic:Engineer()Engineer(string n,int a,string t,string m):Person(n,a)title=t;major=m;void Display()Person:Display();coutTitle:titleendl;coutMajor:majorendl;private:string title,major;class Chairman:public Lead
41、er,public Engineerpublic:Chairman()Chairman(stringn,inta,stringpo,stringu,stringt,stringm):Person(n,a),Leader(n,a,po,u),Engineer(n,a,t,m)void Display()Leader:Display();Engineer:Display();int main()Chairman vip(John,45,Dean,IT Department,Proessor,IT Management);vip.Display();return 0;習(xí)題七習(xí)題七一、填空題1重載多態(tài)
42、、強制多態(tài)、包含多態(tài)、類型參數(shù)化多類2成員函數(shù)、友元函數(shù)3編譯時多態(tài)、運行時多態(tài)4靜態(tài)聯(lián)編、動態(tài)聯(lián)編、靜態(tài)聯(lián)編、動態(tài)聯(lián)編5純虛函數(shù)、抽象類的對象、抽象類指針、抽象類引用6virtual7名字、返回值、參數(shù)、virtual、重載二、選擇題三、程序閱讀1運行結(jié)果:Virtual function Fun in classAVirtual function Fun in class BVirtual function Fun in classAVirtual function Fun in class BVirtual function Fun in class B2運行結(jié)果:A:Fun calle
43、d.B:Fun called.3錯誤語句:pb-Fun();派生類對象不能直接訪問私有成員函數(shù),可以將該成員函數(shù)改為共有屬性。4錯誤語句:Aa;不能創(chuàng)建抽象類對象,可以通過定義抽象類指針或引用來訪問。5運行結(jié)果:In B Print.In C print.四、請參閱教材進行理解,答案略。五、編程題1程序如下:#include #include using namespace std;class Vehiclepublic:Vehicle(int wh,double we)wheels=wh;weight=we;int GetWheels()return wheels;double GetWei
44、ght()return weight;virtual void Display()coutWheels:wheelsendl;coutWeight:weightendl;private:int wheels;double weight;class Car:public Vehiclepublic:Car(int wh,double we,int pa):Vehicle(wh,we)passenger_load=pa;int GetPassenger()return passenger_load;void Display()coutThe car is:endl;Vehicle:Display();coutPassenger load:passenger_loadendl;private:int passenger_load;class Truck:public Vehiclepublic:Truck(int wh,double we,int pa,double load):Vehicle(wh,we)passenger_load=pa;pay
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年湖北省宜昌市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年河南省洛陽市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年云南省麗江市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 鳳慶縣政協(xié)十二五規(guī)劃調(diào)研報告
- 遼寧省遼陽市(2024年-2025年小學(xué)六年級語文)部編版小升初真題(上學(xué)期)試卷及答案
- 2025年油罐計量系統(tǒng)項目立項申請報告模范
- 2025年差容式力平衡傳感器項目規(guī)劃申請報告模范
- 2025年電力計量儀表項目申請報告
- 廣西北海市(2024年-2025年小學(xué)六年級語文)部編版階段練習(xí)(下學(xué)期)試卷及答案
- 上海名校一模全真模擬卷01-新高考英語一輪總復(fù)習(xí)(上海專用)(解析版)
- 《病毒》教學(xué)設(shè)計
- 路面基層允許彎沉值計算+彎沉系數(shù)圖+允許彎沉值計算公式
- 連鑄意外事故處理
- 國家開放大學(xué)(中央廣播電視大學(xué))報名登記表【模板】
- 新職業(yè)英語1-基礎(chǔ)篇-Unit 3(課堂PPT)
- 公司各部門協(xié)作情況互評表滿意度調(diào)查表
- 第二章水準(zhǔn)測量PPT課件
- 長輸管道原油輸送基本知識
- 完美世界的材料
- 藻類名稱(漢拉對照)
- 勞資專管員任命書
評論
0/150
提交評論