程序設(shè)計(jì)上機(jī)考試題庫(kù)_第1頁(yè)
程序設(shè)計(jì)上機(jī)考試題庫(kù)_第2頁(yè)
程序設(shè)計(jì)上機(jī)考試題庫(kù)_第3頁(yè)
程序設(shè)計(jì)上機(jī)考試題庫(kù)_第4頁(yè)
程序設(shè)計(jì)上機(jī)考試題庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、江西財(cái)經(jīng)大學(xué)1011第一學(xué)期期末考試上機(jī)考試100題 一、第一類題目(20道,每題7分,在word中保留代碼并將輸出結(jié)果窗口保留)1定義盒子Box類,要求具有以下成員:長(zhǎng)、寬、高分別為x,y,z,可設(shè)置盒子形狀;可計(jì)算盒子體積;可計(jì)算盒子的表面積。#include<iostream>using namespace std;class Boxpublic:Box(double x,double y,double z):length(x),width(y),higth(z) void V() cout<<"V="<<length*width*

2、higth<<endl;void area() cout<<"s="<<(length*higth+length*width+width*higth)*2<<endl;private:double length;double width;double higth;int main() Box b(1,2,3); b.V(); b.area(); return 0;2有兩個(gè)長(zhǎng)方柱,其長(zhǎng)、寬、高分別為:(1)30,20,10;(2)12,10,20。分別求他們的體積。編一個(gè)基于對(duì)象的程序,在類中用帶參數(shù)的構(gòu)造函數(shù)。3有兩個(gè)長(zhǎng)方柱,

3、其長(zhǎng)、寬、高分別為:(1)12,20,25;(2)10,30,20。分別求他們的體積。編一個(gè)基于對(duì)象的程序,且定義兩個(gè)構(gòu)造函數(shù),其中一個(gè)有參數(shù),一個(gè)無(wú)參數(shù)。#include<iostream>using namespace std;class Boxpublic: Box()length=10;width=30;higth=20;Box(double x,double y,double z):length(x),width(y),higth(z) void V() cout<<"V="<<length*width*higth<<

4、;endl;private:double length;double width;double higth;int main() Box b1; b1.V(); Box b2(12,20,25); b2.V(); return 0;4聲明一個(gè)類模板,利用它分別實(shí)現(xiàn)兩個(gè)整數(shù)、浮點(diǎn)數(shù)和字符的比較,求出大數(shù)和小數(shù)。5建立一個(gè)對(duì)象數(shù)組,內(nèi)放5個(gè)學(xué)生的數(shù)據(jù)(學(xué)號(hào)、成績(jī)),用指針指向數(shù)組首元素,輸出第1,3,5個(gè)學(xué)生的數(shù)據(jù)。初值自擬。#include<iostream>using namespace std;class studentpublic: student(int n,double g

5、):num(n),grade(g)void show() cout<<"num: "<<num<<endl; cout<<"grade: "<<grade<<endl;private:int num;double grade;int main() student stu5=student(1,90),student(2,98),student(3,93),student(4,24),student(5,23);*student *p=stu;for(int i=0;i<5;i+

6、) if(i%2=0) (p+i)->show(); *return 0;6建立一個(gè)對(duì)象數(shù)組,內(nèi)放5個(gè)學(xué)生的數(shù)據(jù)(學(xué)號(hào)、成績(jī)),設(shè)立一個(gè)函數(shù)max,用指向?qū)ο蟮闹羔樧骱瘮?shù)參數(shù),在max函數(shù)中找出5個(gè)學(xué)生中成績(jī)最高者,并輸出其學(xué)號(hào)。初值自擬。7用new建立一個(gè)動(dòng)態(tài)一維數(shù)組,并初始化int10=1,2,3,4,5,6,7,8,9,10,用指針輸出,最后銷毀數(shù)組所占空間。#include<iostream>using namespace std;int main() int *p=new int 10;for(int i=0;i<10;i+ )*(p+i)=i+1;cout&

7、lt;<*(p+i)<<" "cout<<endl;delete p;return 0;8定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符“+”,使之能用于復(fù)數(shù)的加法運(yùn)算。將運(yùn)算符函數(shù)重載為非成員、非友元的普通函數(shù)。編寫程序,求兩個(gè)復(fù)數(shù)之和。初值自擬。9 定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符“”,“”,使之能用于復(fù)數(shù)的加,減運(yùn)算,運(yùn)算符重載函數(shù)作為Complex類的成員函數(shù)。編程序,分別求出兩個(gè)復(fù)數(shù)之和,差。初值自擬。10 #include<iostream>11 #include<iostream>12 using nam

8、espace std;1314 class Complex15 16 public:17 Complex()real=0;imag=0;18 Complex(double r,double i)real=r;imag=i;19 friend Complex operator+(Complex &c1,Complex &c2);20 friend Complex operator-(Complex &c1,Complex &c2);21 void show()22 23 cout<<real<<"+"<<im

9、ag<<"i"<<endl;24 25 private:26 double real;27 double imag;28 ;29 Complex operator+(Complex &c1,Complex &c2)30 31 return Complex(c1.real+c2.real,c1.imag+c2.imag);32 33 Complex operator-(Complex &c1,Complex &c2)34 35 return Complex(c1.real-c2.real,c1.imag-c2.imag)

10、;36 37 int main()38 39 Complex c1(1,2),c2(2,3),c3;40 c1.show();41 c2.show();42 c3=c1+c2;43 c3.show();44 return 0;45 10定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符 “*”,“/”,使之能用于復(fù)數(shù)的乘,除。運(yùn)算符重載函數(shù)作為Complex類的成員函數(shù)。編程序,分別求出兩個(gè)復(fù)數(shù)之積和商。初值自擬。提示:兩復(fù)數(shù)相乘的計(jì)算公式為:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。兩復(fù)數(shù)相除的計(jì)算公式為:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad

11、) /(c*c+d*d)i。11定義一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符“”,使之能用于復(fù)數(shù)的加法運(yùn)算。參加運(yùn)算的兩個(gè)運(yùn)算量可以都是類對(duì)象,也可以其中有一個(gè)是整數(shù),順序任意。例如:c1+c2,i+c1,c1+i均合法(設(shè)i為整數(shù),c1,c2為復(fù)數(shù))。編程序,分別求兩個(gè)復(fù)數(shù)之和、整數(shù)和復(fù)數(shù)之和。初值自擬。#include<iostream>/using namespace std;using std:cout;using std:endl;class complexpublic:complex()real=0;imag=0;complex(double r,double i)real

12、=r;imag=i;friend complex operator+(complex &c1,complex &c2);friend complex operator+(complex &c1,double i);friend complex operator+(double i,complex &c2);void show()cout<<real<<"+"<<imag<<"i"<<endl;private:double real;double imag;comp

13、lex operator +(complex &c1,complex &c2) return complex(c1.real+c2.real,c1.imag+c2.imag);complex operator +(complex &c1,double i) return complex(c1.real+i,c1.imag);complex operator +(double i,complex &c2) return complex(i+c2.real,c2.imag);int main() complex c1(1,2),c2(2,2),c3,c4,c5; c

14、3=c2+c1; c3.show(); c4=c2+1; c4.show(); c5=2+c2; c5.show(); return 0; 12有兩個(gè)矩陣a和b,均為2行3列。求兩個(gè)矩陣之和。重載運(yùn)算符“+”,使之能用于矩陣相加。如c=a+b。初值自擬。13將運(yùn)算符“”重載為適用于復(fù)數(shù)加法,重載函數(shù)不作為成員函數(shù),而放在類外,作為Complex類的友元函數(shù)。初值自擬。14. 定義一個(gè)字符串類String,用來(lái)存放不定長(zhǎng)的字符串,重載運(yùn)算符“”,用于兩個(gè)字符串的等于比較運(yùn)算。初值自擬。15. 定義一個(gè)字符串類String,用來(lái)存放不定長(zhǎng)的字符串,重載運(yùn)算符"<",用于兩

15、個(gè)字符串的小于的比較運(yùn)算。初值自擬。16定義一個(gè)字符串類String,用來(lái)存放不定長(zhǎng)的字符串,重載運(yùn)算符">",用于兩個(gè)字符串的大于的比較運(yùn)算。初值自擬。17定義一個(gè)描述學(xué)生基本情況的類,數(shù)據(jù)成員包括姓名、學(xué)號(hào)、C+成績(jī)、英語(yǔ)和數(shù)學(xué)成績(jī),成員函數(shù)包括輸出數(shù)據(jù),求出總成績(jī)和平均成績(jī)。數(shù)據(jù)自擬。18先建立一個(gè)Point(點(diǎn))類,包含數(shù)據(jù)成員x,y(坐標(biāo)點(diǎn))。以它為基類,派生出一個(gè)Circle(圓)類,增加數(shù)據(jù)成員r(半徑),再以Circle類為直接基類,派生出一個(gè)Cylinder(圓柱體)類,在增加數(shù)據(jù)成員h(高)。編寫程序,重載運(yùn)算符“<<”和“>&g

16、t;”,使之能夠用于輸出以上類對(duì)象。19寫一個(gè)程序,定義抽象類型Shape,由他派生三個(gè)類:Circle(圓形),Rectangle(矩形),Trapezoid(梯形),用一個(gè)函數(shù)printArea分別輸出三者的面積,3個(gè)圖形的數(shù)據(jù)在定義對(duì)象是給定。20定義一個(gè)人員類Cperson,包括數(shù)據(jù)成員:姓名、編號(hào)、性別和用于輸入輸出的成員函數(shù)。在此基礎(chǔ)上派生出學(xué)生類CStudent(增加成績(jī))和老師類Cteacher(增加教齡),并實(shí)現(xiàn)對(duì)學(xué)生和教師信息的輸入輸出。二、第二類題目(20道,每題9分,請(qǐng)自行設(shè)計(jì)輸出格式)1某商店經(jīng)銷一種貨物,貨物成箱購(gòu)進(jìn),成箱賣出,購(gòu)進(jìn)和賣出時(shí)以重量為單位,各箱的重量不

17、一樣,因此,商店需要記下目前庫(kù)存貨物的總量,要求把商店貨物購(gòu)進(jìn)和賣出的情況模擬出來(lái)。2設(shè)計(jì)一個(gè)Time類,包括三個(gè)私有數(shù)據(jù)成員:hour,minute,sec,用構(gòu)造函數(shù)初始化,內(nèi)設(shè)公用函數(shù)display(Date &d),設(shè)計(jì)一個(gè)Date類,包括三個(gè)私有數(shù)據(jù)成員:month,day,year,也用構(gòu)適函數(shù)初始化;分別定義兩個(gè)帶參數(shù)的對(duì)象t1(12,30,55),d1(3,25,2010),通過(guò)友員成員函數(shù)的應(yīng)用,輸出d1和t1的值。3. 設(shè)計(jì)一個(gè)Time類,包括三個(gè)私有數(shù)據(jù)成員:hour,minute,sec,用構(gòu)造函數(shù)初始化, ,設(shè)計(jì)一個(gè)Date類,包括三個(gè)私有數(shù)據(jù)成員:month

18、,day,year,也用構(gòu)適函數(shù)初始化;設(shè)計(jì)一個(gè)普通函數(shù)display(),將display分別設(shè)置為T ime類和Date類的友元函數(shù),在主函數(shù)中分別定義兩個(gè)帶參數(shù)的對(duì)象t1(12,30,55),d1(3,25,2010), 調(diào)用desplay,輸出年、月、日和時(shí)、分、秒。4可以定義點(diǎn)類(Point),再定義一個(gè)類(Distance)描述兩點(diǎn)之間的距離,其數(shù)據(jù)成員為兩個(gè)點(diǎn)類對(duì)象,兩點(diǎn)之間距離的計(jì)算可設(shè)計(jì)由構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)。5定義點(diǎn)類(Point),再定義一個(gè)函數(shù)(Distance)描述兩點(diǎn)之間的距離,其數(shù)據(jù)成員為兩個(gè)點(diǎn)類對(duì)象,將兩點(diǎn)之間距離函數(shù)聲明為Point類的友元函數(shù)。6實(shí)現(xiàn)重載

19、函數(shù)Double(x),返回值為輸人參數(shù)的兩倍;參數(shù)分別為整型、浮點(diǎn)型、雙精度型,返回值類型與參數(shù)一樣。(用類模板實(shí)現(xiàn))7有一個(gè)Time類,包含數(shù)據(jù)成員minute(分)和sec(秒),模擬秒表,每次走一秒,滿60秒進(jìn)一分鐘,此時(shí)秒又從0開(kāi)始算。要求輸出分和秒的值。初值自擬。8聲明一個(gè)教師(Teacher)類和一個(gè)學(xué)生(Student)類,用多重繼承的方式聲明一個(gè)研究生(Graduate)派生類。教師類中包括數(shù)據(jù)成員name(姓名),age(年齡),title(職稱)。學(xué)生類中包括數(shù)據(jù)成員name(姓名),age(年齡),score(成績(jī))。在定義派生類對(duì)象時(shí)給出初始化的數(shù)據(jù)(自已定),然后輸

20、出這些數(shù)據(jù)。初值自擬。9在上題的基礎(chǔ)上,在Teacher類和Student類之上增加一個(gè)共同的基類Person,如下圖所示。作為人員的一些基本數(shù)據(jù)都放在Person中,在Teacher類和Student類中再增加一些必要的數(shù)據(jù)(Student類中增加score,Teacher類中增加職稱title,Graduate類中增加工資wages)。初值自擬。PersonStudentTeacherGraduate10. 寫一個(gè)程序,定義抽象類型Shape,由他派生三個(gè)類:Circle(圓形),Rectangle(矩形),Trapezoid(梯形),用一個(gè)函數(shù)printArea分別輸出三者的面積,3個(gè)圖

21、形的數(shù)據(jù)在定義對(duì)象是給定。11聲明一個(gè)Shape抽象類,在此基礎(chǔ)上派生出Rectangle和Circle類,二者都有GetArea( )函數(shù)計(jì)算對(duì)象的面積,GetPerim( )函數(shù)計(jì)算對(duì)象的周長(zhǎng)。12分別用成員函數(shù)和友元函數(shù)重載運(yùn)算符,使對(duì)實(shí)型的運(yùn)算符“=”適用于復(fù)數(shù)運(yùn)算。13分別用成員函數(shù)和友元函數(shù)重載運(yùn)算符,使對(duì)實(shí)型的運(yùn)算符“+” 適用于復(fù)數(shù)運(yùn)算。14分別用成員函數(shù)和友元函數(shù)重載運(yùn)算符,使對(duì)實(shí)型的運(yùn)算符“*” 適用于復(fù)數(shù)運(yùn)算。提示:兩復(fù)數(shù)相乘的計(jì)算公式為:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。15分別用成員函數(shù)和友元函數(shù)重載運(yùn)算符,使對(duì)實(shí)型的運(yùn)算符“/” 適用于復(fù)

22、數(shù)運(yùn)算。提示:兩復(fù)數(shù)相除的計(jì)算公式為:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad) /(c*c+d*d)i。16定義一個(gè)國(guó)家基類Country,包含國(guó)名、首都、人口等屬性,派生出省類Province,增加省會(huì)城市、人口數(shù)量屬性。17定義一個(gè)車基類Vehicle,含私有成員speed,weight。派生出自行車類Bicycle,增加high成員;汽車類Car,增加seatnum(座位數(shù))成員。從bicycle和car中派生出摩托車類Motocycle。18把定義平面直角坐標(biāo)系上的一個(gè)點(diǎn)的類Cpoint作為基類,派生出描述一條直線的類Cline,再派生出一個(gè)矩形類

23、Crect。要求成員函數(shù)能求出兩點(diǎn)間的距離、矩形的周長(zhǎng)和面積。設(shè)計(jì)一個(gè)完整程序。數(shù)據(jù)自擬。19聲明一個(gè)哺乳動(dòng)物Mammal類,再由此派生出狗Dog類,二者都定義Speak( )成員函數(shù),基類中定義為虛函數(shù)。聲明一個(gè)Dog類的對(duì)象,調(diào)用Speak()函數(shù),觀察運(yùn)行結(jié)果。20定義一個(gè)抽象類Cshape,包含純虛函數(shù)Area(用來(lái)計(jì)算面積)和SetData(用來(lái)重設(shè)形狀大小)。然后派生出三角形Ctriangle類、矩形Crect類、圓Ccircle類,分別求其面積。最后定義一個(gè)CArea類,計(jì)算這幾個(gè)形狀的面積之和,各形狀的數(shù)據(jù)通過(guò)Carea類構(gòu)造函數(shù)或成員函數(shù)來(lái)設(shè)置。編寫一個(gè)完整程序。三、第三類題

24、目(10道,每題11分,請(qǐng)自行設(shè)計(jì)輸出格式)1商店銷售某一商品,商店每天公布統(tǒng)一的折扣(discount)。同時(shí)允許銷售人員在銷售時(shí)靈活掌握售價(jià)(price),在此基礎(chǔ)上,對(duì)一次購(gòu)10件以上者,還可以享受9.8折優(yōu)惠。現(xiàn)已知當(dāng)天3名銷貨員的銷售情況為:銷貨員號(hào)(num) 銷貨件數(shù)(quantity) 銷售單價(jià)(price) 101 5 23.5 102 12 24.56 103 100 21.5請(qǐng)編程序,計(jì)算出當(dāng)日此商品的總銷售款sum,以及每件商品的平均售價(jià)。要求用靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。(提示:將折扣discount、總銷售款sum和商品銷售總件數(shù)n聲明為靜態(tài)數(shù)據(jù)成員,再定義靜態(tài)成員函

25、數(shù)average(求平均售價(jià))和display(輸出結(jié)果)。2請(qǐng)編寫程序,處理一個(gè)復(fù)數(shù)與一個(gè)double數(shù)相加的運(yùn)算,結(jié)果存放在一個(gè)double型的變量d1中,輸出d1的值,再以復(fù)數(shù)形式輸出此值。定義Complex(復(fù)數(shù))類,在成員函數(shù)中包含重載類型轉(zhuǎn)換運(yùn)算符:operator double() return real;。初值自擬。3定義一個(gè)Teacher(教師)類和一個(gè)Student(學(xué)生)類,二者有一部分?jǐn)?shù)據(jù)成員是相同的,例如num(號(hào)碼),name(姓名),sex(性別)。編寫程序,將一個(gè)Student對(duì)象(學(xué)生)轉(zhuǎn)換為Teacher(教師)類,只將以上3個(gè)相同的數(shù)據(jù)成員移植過(guò)去??梢栽O(shè)

26、想為:一位學(xué)生大學(xué)畢業(yè)了,留校擔(dān)任教師,他原有的部分?jǐn)?shù)據(jù)對(duì)現(xiàn)在的教師身份來(lái)說(shuō)仍然是有用的,應(yīng)當(dāng)保留并成為其教師的數(shù)據(jù)的一部分。4有一個(gè)Time類,包含數(shù)據(jù)成員minute(分)和sec(秒),模擬秒表,每次走一秒,滿60秒進(jìn)一分鐘,此時(shí)秒又從0開(kāi)始算。要求輸出分和秒的值,且對(duì)后置自增運(yùn)算符的重載。5定義一個(gè)基類Student(學(xué)生),在定義Student類的公用派生類Graduate(研究生),用指向基類對(duì)象的指針輸出數(shù)據(jù)。為減少程序長(zhǎng)度,在每個(gè)類中只設(shè)很少成員。學(xué)生類只設(shè)num(學(xué)號(hào)),name(姓名)和score(分?jǐn)?shù))3個(gè)數(shù)據(jù)成員,Gradute類只增加一個(gè)數(shù)據(jù)成員pay(工資)。具體初始化數(shù)據(jù)自己設(shè)定。6分別定義Teacher(教師)類和Cadre(干部)類,采用多重繼承方式有這兩個(gè)類派生出新類Teacher_Cadre(教師兼干部)。要求:

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論