C程序設計上機考試題庫_第1頁
C程序設計上機考試題庫_第2頁
C程序設計上機考試題庫_第3頁
C程序設計上機考試題庫_第4頁
C程序設計上機考試題庫_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本文格式為Word版,下載可任意編輯——C程序設計上機考試題庫

很好很強大

江西財經(jīng)大學

10-11第一學期期末考試上機考試100題

一、第一類題目(20道,每題7分,在word中保存代碼并將輸出結(jié)果窗口保存)

1.定義盒子Box類,要求具有以下成員:長、寬、高分別為x,y,z,可設置盒子形狀;可計算盒子體積;可計算盒子的表面積。

2.有兩個長方柱,其長、寬、高分別為:(1)30,20,10;(2)12,10,20。分別求他們的體積。編一個基于對象的程序,在類中用帶參數(shù)的構(gòu)造函數(shù)。

3.有兩個長方柱,其長、寬、高分別為:(1)12,20,25;(2)10,30,20。分別求他們的體積。編一個基于對象的程序,且定義兩個構(gòu)造函數(shù),其中一個有參數(shù),一個無參數(shù)。

4.聲明一個類模板,利用它分別實現(xiàn)兩個整數(shù)、浮點數(shù)和字符的比較,求出大數(shù)和小數(shù)。

5.建立一個對象數(shù)組,內(nèi)放5個學生的數(shù)據(jù)(學號、成績),用指針指向數(shù)組首元素,輸出第1,3,5個學生的數(shù)據(jù)。初值自擬。

6.建立一個對象數(shù)組,內(nèi)放5個學生的數(shù)據(jù)(學號、成績),設立一個函數(shù)max,用指向?qū)ο蟮闹羔樧骱瘮?shù)參數(shù),在max函數(shù)中找出5個學生中成績最高者,并輸出其學號。初值自擬。

7.用new建立一個動態(tài)一維數(shù)組,并初始化int[10]={1,2,3,4,5,6,7,8,9,10},用指針輸出,最終銷毀數(shù)組所占空間。

8.定義一個復數(shù)類Complex,重載運算符“+〞,使之能用于復數(shù)的加法運算。將運算符函數(shù)重載為非成員、非友元的普通函數(shù)。編寫程序,求兩個復數(shù)之和。初值自擬。

9.定義一個復數(shù)類Complex,重載運算符“+〞,“—〞,使之能用于復數(shù)的加,減運算,運算符重載函數(shù)作為Complex類的成員函數(shù)。編程序,分別求出兩個復數(shù)之和,差。初值自擬。

10.定義一個復數(shù)類Complex,重載運算符“*〞,“/〞,使之能用于復數(shù)的乘,除。運算符重載函數(shù)作為Complex類的成員函數(shù)。編程序,分別求出兩個復數(shù)之積和商。初值自擬。提醒:兩復數(shù)相乘的計算公式為:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。兩復數(shù)相除的計算公式為:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i。

11.定義一個復數(shù)類Complex,重載運算符“+〞,使之能用于復數(shù)的加法運算。參與運算的兩個運算量可以都是類對象,也可以其中有一個是整數(shù),順序任意。例如:c1+c2,i+c1,c1+i均合法(設i為整數(shù),c1,c2為復數(shù))。編程序,分別求兩個復數(shù)之和、整數(shù)和復數(shù)之和。初值自擬。

12.有兩個矩陣a和b,均為2行3列。求兩個矩陣之和。重載運算符“+〞,使之能用于矩陣相加。如c=a+b。初值自擬。

13.將運算符“+〞重載為適用于復數(shù)加法,重載函數(shù)不作為成員函數(shù),而放在類外,作為Complex類的友元函數(shù)。初值自擬。

14.定義一個字符串類String,用來存放不定長的字符串,重載運算符“==〞,,用于兩個字符串的等于比較運算。初值自擬。

15.定義一個字符串類String,用來存放不定長的字符串,重載運算符,用于兩個字符串的小于的比較運算。初值自擬。

16.定義一個字符串類String,用來存放不定長的字符串,重載運算符,用于兩個字符串的大于的比較運算。初值自擬。

很好很強大

17.定義一個描述學生基本狀況的類,數(shù)據(jù)成員包括姓名、學號、C++成績、英語和數(shù)學成績,成員函數(shù)包括輸出數(shù)據(jù),求出總成績和平均成績。數(shù)據(jù)自擬。

18.先建立一個Point(點)類,包含數(shù)據(jù)成員x,y(坐標點)。以它為基類,派生出一個Circle(圓)類,增加數(shù)據(jù)成員r(半徑),再以Circle類為直接基類,派生出一個Cylinder(圓柱體)類,在增加數(shù)據(jù)成員h(高)。編寫程序,重載運算符“〞和“〞,使之能夠用于輸出以上類對象。

19.寫一個程序,定義抽象類型Shape,由他派生三個類:Circle(圓形),Rectangle(矩形),Trapezoid(梯形),用一個函數(shù)printArea分別輸出三者的面積,3個圖形的數(shù)據(jù)在定義對象是給定。

20.定義一個人員類Cperson,包括數(shù)據(jù)成員:姓名、編號、性別和用于輸入輸出的成員函數(shù)。在此基礎上派生出學生類CStudent(增加成績)和老師類Cteacher(增加教齡),并實現(xiàn)對學生和教師信息的輸入輸出。

二、其次類題目(20道,每題9分,請自行設計輸出格式)

1.某商店經(jīng)銷一種貨物,貨物成箱購進,成箱賣出,購進和賣出時以重量為單位,各箱的重量不一樣,因此,商店需要記錄下來目前庫存貨物的總量,要求把商店貨物購進和賣出的狀況模擬出來。

2.設計一個Time類,包括三個私有數(shù)據(jù)成員:hour,minute,sec,用構(gòu)造函數(shù)初始化,內(nèi)設公用函數(shù)display(Dated),設計一個Date類,包括三個私有數(shù)據(jù)成員:month,day,year,也用構(gòu)適函數(shù)初始化;分別定義兩個帶參數(shù)的對象t1(12,30,55),d1(3,25,2023),通過友員成員函數(shù)的應用,輸出d1和t1的值。

3.設計一個Time類,包括三個私有數(shù)據(jù)成員:hour,minute,sec,用構(gòu)造函數(shù)初始化,,設計一個Date類,包括三個私有數(shù)據(jù)成員:month,day,year,也用構(gòu)適函數(shù)初始化;設計一個普通函數(shù)display(),將display分別設置為Time類和Date類的友元函數(shù),在主函數(shù)中分別定義兩個帶參數(shù)的對象t1(12,30,55),d1(3,25,2023),調(diào)用desplay,輸出年、月、日和時、分、秒。

4.可以定義點類(Point),再定義一個類(Distance)描述兩點之間的距離,其數(shù)據(jù)成員為兩個點類對象,兩點之間距離的計算可設計由構(gòu)造函數(shù)來實現(xiàn)。

5.定義點類(Point),再定義一個函數(shù)(Distance)描述兩點之間的距離,其數(shù)據(jù)成員為兩個點類對象,將兩點之間距離函數(shù)聲明為Point類的友元函數(shù)。

6.實現(xiàn)重載函數(shù)Double(x),返回值為輸人參數(shù)的兩倍;參數(shù)分別為整型、浮點型、雙精度型,返回值類型與參數(shù)一樣。(用類模板實現(xiàn))

7.有一個Time類,包含數(shù)據(jù)成員minute(分)和sec(秒),模擬秒表,每次走一秒,滿60秒進一分鐘,此時秒又從0開始算。要求輸出分和秒的值。初值自擬。

8.聲明一個教師(Teacher)類和一個學生(Student)類,用多重繼承的方式聲明一個研究生(Graduate)派生類。教師類中包括數(shù)據(jù)成員name(姓名),age(年齡),title(職稱)。學生類中包括數(shù)據(jù)成員name(姓名),age(年齡),score(成績)。在定義派生類對象時給出初始化的數(shù)據(jù)(自已定),然后輸出這些數(shù)據(jù)。初值自擬。

9.在上題的基礎上,在Teacher類和Student類之上增加一個共同的基類Person,如下圖所示。作為人員的一些基本數(shù)據(jù)都放在Person中,在Teacher類和Student類中再增加一些必要的數(shù)據(jù)(Student類中增加score,Teacher類中增加職稱title,Graduate類中增加工資wages)。初值自擬。

很好很強大

10.寫一個程序,定義抽象類型Shape,由他派生三個類:Circle(圓形),Rectangle(矩形),Trapezoid(梯形),用一個函數(shù)printArea分別輸出三者的面積,3個圖形的數(shù)據(jù)在定義對象是給定。

11.聲明一個Shape抽象類,在此基礎上派生出Rectangle和Circle類,二者都有GetArea()函數(shù)計算對象的面積,GetPerim()函數(shù)計算對象的周長。

12.分別用成員函數(shù)和友元函數(shù)重載運算符,使對實型的運算符“=〞適用于復數(shù)運算。

13.分別用成員函數(shù)和友元函數(shù)重載運算符,使對實型的運算符“+〞適用于復數(shù)運算。

14.分別用成員函數(shù)和友元函數(shù)重載運算符,使對實型的運算符“*〞適用于復數(shù)運算。提醒:兩復數(shù)相乘的計算公式為:(a+bi)*(c+di)=(ac-bd)+(ad+bc)i。

15.分別用成員函數(shù)和友元函數(shù)重載運算符,使對實型的運算符“/〞適用于復數(shù)運算。提醒:兩復數(shù)相除的計算公式為:(a+bi)/(c+di)=(ac+bd)/(c*c+d*d)+(bc-ad)/(c*c+d*d)i。

16.定義一個國家基類Country,包含國名、首都、人口等屬性,派生出省類Province,增加省會城市、人口數(shù)量屬性。

17.定義一個車基類Vehicle,含私有成員speed,weight。派生出自行車類Bicycle,增加high成員;汽車類Car,增加seatnum(座位數(shù))成員。從bicycle和car中派生出摩托車類Motocycle。

18.把定義平面直角坐標系上的一個點的類Cpoint作為基類,派生出描述一條直線的類Cline,再派生出一個矩形類Crect。要求成員函數(shù)能求出兩點間的距離、矩形的周長和面積。設計一個完整程序。數(shù)據(jù)自擬。

19.聲明一個哺乳動物Mammal類,再由此派生出狗Dog類,二者都定義Speak()成員函數(shù),基類中定義為虛函數(shù)。聲明一個Dog類的對象,調(diào)用Speak()函數(shù),觀測運行結(jié)果。

20.定義一個抽象類Cshape,包含純虛函數(shù)Area(用來計算面積)和SetData(用來重設形

很好很強大

狀大小)。然后派生出三角形Ctriangle類、矩形Crect類、圓Ccircle類,分別求其面積。最終定義一個CArea類,計算這幾個形狀的面積之和,各形狀的數(shù)據(jù)通過Carea類構(gòu)造函數(shù)或成員函數(shù)來設置。編寫一個完整程序。

三、第三類題目(10道,每題11分,請自行設計輸出格式)

1.商店銷售某一商品,商店每天公布統(tǒng)一的折扣(discount)。同時允許銷售人員在銷售時靈活把握售價(price),在此基礎上,對一次購10件以上者,還可以享受9.8折優(yōu)惠。現(xiàn)已知當天3名銷貨員的銷售狀況為:

銷貨員號(num)銷貨件數(shù)(quantity)銷售單價(price)101523.5

1021224.56

10310021.5

請編程序,計算出當日此商品的總銷售款sum,以及每件商品的平均售價。要求用靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。(提醒:將折扣discount、總銷售款sum和商品銷售總件數(shù)n聲明為靜態(tài)數(shù)據(jù)成員,再定義靜態(tài)成員函數(shù)average(求平均售價)和display(輸出結(jié)果)。

2.請編寫程序,處理一個復數(shù)與一個double數(shù)相加的運算,結(jié)果存放在一個double型的變量d1中,輸出d1的值,再以復數(shù)形式輸出此值。定義Complex(復數(shù))類,在成員函數(shù)中包含重載類型轉(zhuǎn)換運算符:operatordouble(){returnreal;}。初值自擬。

3.定義一個Teacher(教師)類和一個Student(學生)類,二者有一部分數(shù)據(jù)成員是一致的,例如num(號碼),name(姓名),sex(性別)。編寫程序,將一個Student對象(學生)轉(zhuǎn)換為Teacher(教師)類,只將以上3個一致的數(shù)據(jù)成員移植過去??梢栽O想為:一位學生大學畢業(yè)了,留校擔任教師,他原有的部分數(shù)據(jù)對現(xiàn)在的教師身份來說依舊是有用的,應當保存并成為其教師的數(shù)據(jù)的一部分。

4.有一個Time類,包含數(shù)據(jù)成員minute(分)和sec(秒),模擬秒表,每次走一秒,滿60秒進一分鐘,此時秒又從0開始算。要求輸出分和秒的值,且對后置自增運算符的重載。

5.定義一個基類Student(學生),在定義Student類的公用派生類Graduate(研究生),用指向基類對象的指針輸出數(shù)據(jù)。為減少程序長度,在每個類中只設很少成員。學生類只設num(學號),name(姓名)和score(分數(shù))3個數(shù)據(jù)成員,Gradute類只增加一個數(shù)據(jù)成員pay(工資)。具體初始化數(shù)據(jù)自己設定。

6.分別定義Teacher(教師)類和Cadre(干部)類,采用多重繼承方式有這兩個類派生出新類Teacher_Cadre(教師兼干部)。要求:

(1)、在兩個基類中的包含姓名、年齡、性別、地址、電話、等數(shù)據(jù)成員。

(2)、在Teacher類中包含數(shù)據(jù)成員title(職稱),在Cadre類中還包含數(shù)據(jù)成員post(職務),在Teacher_Cadre類中還包含數(shù)據(jù)成員wages(工資)。

(3)、對兩個基類中的姓名、年齡、性別、職稱、地址、電話等數(shù)據(jù)成員用一致的名字,在引用數(shù)據(jù)成員時制定作用域。

(4)、在類中聲明成員函數(shù),在類外定義成員函數(shù)。

很好很強大

(5)、在派生類Teacher_cadre的成員函數(shù)show中調(diào)用Teacher類中的display函數(shù)。輸出姓名,年齡,性別,職稱,地址,電話,然后再用cout語句輸出

溫馨提示

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

評論

0/150

提交評論