C++面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)手冊(cè)
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)手冊(cè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《C++面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)驗(yàn)指導(dǎo)手冊(cè)(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 C++面向?qū)ο蟪绦蛟O(shè)計(jì) 實(shí)驗(yàn)指導(dǎo)手冊(cè) 班級(jí):_______________ 學(xué)號(hào):_______________ 姓名:_______________ 電子與信息工程學(xué)院計(jì)算機(jī)科學(xué)系 第一部分 上機(jī)實(shí)驗(yàn)的指導(dǎo)思想和要求 一、上機(jī)實(shí)驗(yàn)的目的 學(xué)習(xí)C++程序設(shè)計(jì)不能滿足于“懂得了”,滿足于了解了語(yǔ)法和能看懂書(shū)上的程序,而應(yīng)當(dāng)掌握程序設(shè)計(jì)的全過(guò)程,即能獨(dú)立編寫(xiě)出源程序,獨(dú)立上機(jī)調(diào)試程序,獨(dú)立運(yùn)行程序和分析結(jié)果。設(shè)計(jì)C++的初衷是為方便開(kāi)發(fā)大型程序,雖然在學(xué)校中初學(xué)C++時(shí)還沒(méi)有機(jī)會(huì)接觸到大型程序,更不可能編寫(xiě)出能供實(shí)際應(yīng)用
2、的大型程序,而只能接觸到比較簡(jiǎn)單的程序。但是應(yīng)當(dāng)通過(guò)學(xué)習(xí)C++課程,對(duì)C++有比較全面的、然而是初步的認(rèn)識(shí),為今后進(jìn)一步學(xué)習(xí)和應(yīng)用C++打下良好的基礎(chǔ)。 程序設(shè)計(jì)是一門(mén)實(shí)踐性很強(qiáng)的課程,必須十分重視實(shí)踐環(huán)節(jié)。許多實(shí)際的知識(shí)不是靠聽(tīng)課和看書(shū)學(xué)到手的,而是通過(guò)長(zhǎng)時(shí)間的實(shí)踐積累的。要提倡通過(guò)實(shí)踐去掌握知識(shí)的方法。必須保證有足夠的上機(jī)實(shí)驗(yàn)時(shí)間,學(xué)習(xí)本課程應(yīng)該至少有30 小時(shí)的上機(jī)時(shí)間,最好能做到與授課時(shí)間之比為1:1 。除了學(xué)校規(guī)定的上機(jī)實(shí)驗(yàn)以外,應(yīng)當(dāng)提倡學(xué)生自己課余抽時(shí)間多上機(jī)實(shí)踐。 上機(jī)實(shí)驗(yàn)的目的,絕不僅是為了驗(yàn)證教材和講課的內(nèi)容,或者驗(yàn)證自己所編的程序正確與否。學(xué)習(xí)程序設(shè)計(jì),上機(jī)實(shí)驗(yàn)的目的是
3、: (1)加深對(duì)講授內(nèi)容的理解,尤其是一些語(yǔ)法規(guī)定,光靠課堂講授,既枯燥無(wú)味又難以記住,但它們是很重要的,初學(xué)者的程序出錯(cuò)往往錯(cuò)在語(yǔ)法上。通過(guò)多次上機(jī),就能自然地、熟練地掌握。通過(guò)上機(jī)來(lái)掌握語(yǔ)法規(guī)則是行之有效的方法。 (2)熟悉所用的計(jì)算機(jī)系統(tǒng)的操作方法,也就是了解和熟悉C++程序開(kāi)發(fā)的環(huán)境。一個(gè)程序必須在一定的外部環(huán)境下才能運(yùn)行,所謂“環(huán)境”,就是指所用的計(jì)算機(jī)系統(tǒng)的硬件和軟件條件,或者說(shuō)是工作平臺(tái)。使用者應(yīng)該了解為了運(yùn)行一個(gè)C++程序需要哪些必要的外部條件(例如硬件配置、軟件配置),可以利用哪些系統(tǒng)的功能來(lái)幫助自己開(kāi)發(fā)程序。每一種計(jì)算機(jī)系統(tǒng)的功能和操作方法不完全相同,但只要熟練掌握一兩
4、種計(jì)算機(jī)系統(tǒng)的使用,再遇到其他系統(tǒng)時(shí)便會(huì)觸類旁通,很快地學(xué)會(huì)。 (3)學(xué)會(huì)上機(jī)調(diào)試程序。也就是善于發(fā)現(xiàn)程序中的錯(cuò)誤,并且能很快地排除這些錯(cuò)誤,使程序能正確運(yùn)行。經(jīng)驗(yàn)豐富的人,在編譯連接過(guò)程中出現(xiàn)“出錯(cuò)信息”時(shí),一般能很快地判斷出錯(cuò)誤所在,并改正之。而缺乏經(jīng)驗(yàn)的人即使在明確的“出錯(cuò)提示”下也往往找不出錯(cuò)誤而求助于別人。要真正掌握計(jì)算機(jī)應(yīng)用技術(shù),就不僅應(yīng)當(dāng)了解和熟悉有關(guān)理論和方法,還要求自己動(dòng)手實(shí)現(xiàn)。對(duì)程序設(shè)計(jì)來(lái)說(shuō),則要求會(huì)編程序并上機(jī)調(diào)試通過(guò)。因此調(diào)試程序不僅是得到正確程序的一種手段,而且它本身就是程序設(shè)計(jì)課程的一個(gè)重要的內(nèi)容和基本要求,應(yīng)給予充分的重視。調(diào)試程序固然可以借鑒他人的現(xiàn)成經(jīng)驗(yàn),但
5、更重要的是通過(guò)自己的直接實(shí)踐來(lái)累積經(jīng)驗(yàn),而且有些經(jīng)驗(yàn)是只能“會(huì)意”難以“言傳”。別人的經(jīng)驗(yàn)不能代替自己的經(jīng)驗(yàn)。調(diào)試程序的能力是每個(gè)程序設(shè)計(jì)人員應(yīng)當(dāng)掌握的一項(xiàng)基本功。 因此,在做實(shí)驗(yàn)時(shí)千萬(wàn)不要在程序通過(guò)后就認(rèn)為萬(wàn)事大吉、完成任務(wù)了,而應(yīng)當(dāng)在己通過(guò)的程序基礎(chǔ)上作一些改動(dòng)(例如修改一些參數(shù)、增加程序一些功能、改變某些語(yǔ)句等),再進(jìn)行編譯、連接和運(yùn)行。甚至于“自設(shè)障礙”,即把正確的程序改為有錯(cuò)的(例如語(yǔ)句漏寫(xiě)分號(hào);比較符“= =”錯(cuò)寫(xiě)為賦值號(hào)“=”;使數(shù)組下標(biāo)出界;使整數(shù)溢出等),觀察和分析所出現(xiàn)的情況。這樣的學(xué)習(xí)才會(huì)有真正的收獲,是靈活主動(dòng)的學(xué)習(xí)而不是呆板被動(dòng)的學(xué)習(xí)。 二、上機(jī)實(shí)驗(yàn)前的準(zhǔn)備工作
6、 在上機(jī)實(shí)驗(yàn)前應(yīng)事先做好準(zhǔn)備工作,以提高上機(jī)實(shí)驗(yàn)的效率,準(zhǔn)備工作至少應(yīng)包括: (1)了解所用的計(jì)算機(jī)系統(tǒng)(包括C++編譯系統(tǒng)和工作平臺(tái))的性能和使用方法; (2)復(fù)習(xí)和掌握與本實(shí)驗(yàn)有關(guān)的教學(xué)內(nèi)容; (3)準(zhǔn)備好上機(jī)所需的程序。手編程序應(yīng)書(shū)寫(xiě)整齊,并經(jīng)人工檢查無(wú)誤后才能上機(jī),以提高上機(jī)效率。初學(xué)者切忌不編程序或抄別人程序去上機(jī),應(yīng)從一開(kāi)始就養(yǎng)成嚴(yán)謹(jǐn)?shù)目茖W(xué)作風(fēng); (4)對(duì)運(yùn)行中可能出現(xiàn)的問(wèn)題事先作出估計(jì),對(duì)程序中自己有疑問(wèn)的地方,應(yīng)作出記號(hào),以便在上機(jī)時(shí)給予注意; (5)準(zhǔn)備好調(diào)試和運(yùn)行時(shí)所需的數(shù)據(jù)。 三、上機(jī)實(shí)驗(yàn)的步驟 上機(jī)實(shí)驗(yàn)時(shí)應(yīng)該一人一組,獨(dú)立上機(jī)。上機(jī)過(guò)程中出現(xiàn)的問(wèn)題,除了是
7、系統(tǒng)的問(wèn)題以外,一般應(yīng)自己獨(dú)立處理,不要輕易舉手問(wèn)教師。尤其對(duì)“出錯(cuò)信息”,應(yīng)善于自己分析判斷。這是學(xué)習(xí)調(diào)試程序的良好機(jī)會(huì)。 上機(jī)實(shí)驗(yàn)一般應(yīng)包括以下幾個(gè)步驟: (1)進(jìn)入C++工作環(huán)境(例如Visual C++6.0)。 (2)輸入自己所編好的程序。 (3)檢查一遍已輸入的程序是否有錯(cuò)(包括輸入時(shí)打錯(cuò)的和編程中的錯(cuò)誤),如發(fā)現(xiàn)有錯(cuò),及時(shí)改正。 (4)進(jìn)行編譯和連接。如果在編譯和連接過(guò)程中發(fā)現(xiàn)錯(cuò)誤,屏幕上會(huì)出現(xiàn)“出錯(cuò)信息”,根據(jù)提示找到出錯(cuò)位置和原因,加以改正。再進(jìn)行編譯……,如此反復(fù)直到順利通過(guò)編譯和連接為止。 (5)運(yùn)行程序并分析運(yùn)行結(jié)果是否合理和正確。在運(yùn)行時(shí)要注意當(dāng)輸入不同數(shù)
8、據(jù)時(shí)所得到的結(jié)果是否正確。 (6)輸出程序清單和運(yùn)行結(jié)果。 四、實(shí)驗(yàn)報(bào)告 實(shí)驗(yàn)后,應(yīng)整理出實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告應(yīng)包括以下內(nèi)容: (1)題目; (2)程序清單(計(jì)算機(jī)打印出的程序清單); (3)運(yùn)行結(jié)果(必須是上面程序清單所對(duì)應(yīng)打印輸出的結(jié)果); (4)對(duì)運(yùn)行情況所作的分析以及本次調(diào)試程序所取得的經(jīng)驗(yàn)。如果程序末能通過(guò),應(yīng)分析其原因。 第二部分 關(guān)于程序的調(diào)試和測(cè)試 一、程序錯(cuò)誤的類型 為了幫助各位同學(xué)調(diào)試程序和分析程序,下面簡(jiǎn)單介紹程序出錯(cuò)的種類。 (1)語(yǔ)法錯(cuò)誤 即不符合C++
9、語(yǔ)言的語(yǔ)法規(guī)定,例如將main 錯(cuò)寫(xiě)為naim ,括號(hào)不匹配,語(yǔ)句最后漏了分號(hào)等,這些都會(huì)在編譯時(shí)被發(fā)現(xiàn)并指出。這些都屬于“致命錯(cuò)誤”, 不改正是不能通過(guò)編譯的。對(duì)一些在語(yǔ)法上有輕微毛病但不影響程序運(yùn)行的錯(cuò)誤(如定義了變量但始終未使用),編譯時(shí)會(huì)發(fā)出“警告”,雖然程序能通過(guò)編譯,但不應(yīng)當(dāng)使程序“帶病工作”,應(yīng)該將程序中所有導(dǎo)致“錯(cuò)誤(error)”和“警告(warning)”的因素都消除,再使程序投入運(yùn)行。 (2)邏輯錯(cuò)誤 這是指程序無(wú)語(yǔ)法錯(cuò)誤,也能正常運(yùn)行,但是結(jié)果不對(duì)。例如求s=l+2+3+…+100,有人寫(xiě)出以下語(yǔ)句: for(s=0, i=1; i<100; i++)
10、s=s + i; 語(yǔ)法沒(méi)有錯(cuò),但求出的結(jié)果是l+2+3+…+99之和,而不是l+2+3+…+100之和,原因是少執(zhí)行了一次循環(huán)。這類錯(cuò)誤可能是設(shè)計(jì)算法時(shí)的錯(cuò)誤,也可能是算法正確而在編寫(xiě)程序時(shí)出現(xiàn)疏忽所致。這種錯(cuò)誤計(jì)算機(jī)是無(wú)法檢查出來(lái)的。如果是算法有錯(cuò),則應(yīng)先修改算法,再改程序。如果是算法正確而程序?qū)懙貌粚?duì),則直接修改程序。 (3)運(yùn)行錯(cuò)誤 有時(shí)程序既無(wú)語(yǔ)法錯(cuò)誤,又無(wú)邏輯錯(cuò)誤,但程序不能正常運(yùn)行或結(jié)果不對(duì)。多數(shù)情況是數(shù)據(jù)不對(duì),包括數(shù)據(jù)木身不合適以及數(shù)據(jù)類型不匹配。如有以下程序: int main ( ) { int a, b, c ; cin>>a>>b; c=a/b; co
11、ut< 12、找程序中可能存在的錯(cuò)誤。在測(cè)試時(shí)要設(shè)想到程序運(yùn)行時(shí)的各種情況,測(cè)試在各種情況下的運(yùn)行結(jié)果是否正確。程序測(cè)試是程序調(diào)試的一個(gè)組成部分。
有時(shí)程序在某些情況下能正常運(yùn)行,而在另外一些情況下不能正常運(yùn)行或得不到正確的結(jié)果,因此,一個(gè)程序即使通過(guò)編譯并正常運(yùn)行而且結(jié)果正確,還不能認(rèn)為程序沒(méi)有問(wèn)題了。要考慮是否在任何情況下都能正常運(yùn)行并且得到正確的結(jié)果。測(cè)試的任務(wù)就是要找出那些不能正常運(yùn)行的情況和原因。下而通過(guò)一個(gè)典型的和容易理解的例子來(lái)說(shuō)明測(cè)試的概念。
求一元二次方程ax2+bx+c=0的根。
有人根據(jù)求根公式x1, 2=(-bsqrt(b2-4ac))/2a編寫(xiě)出以下程序:
# includ 13、e < iostream>
# include 14、但是若輸入a,b,c的值為3,2,4 時(shí),屏幕上出現(xiàn)了出錯(cuò)信息,程序停止運(yùn)行,原因是此時(shí)b2-4ac小于0,出現(xiàn)了對(duì)負(fù)數(shù)求平方根的運(yùn)算,故出錯(cuò)。
因此,此程序只適用b2-4ac≥0的情況。我們不能說(shuō)上面的程序是錯(cuò)的,而只能說(shuō)程序?qū)赡艹霈F(xiàn)的情況“考慮不周” ,所以不能保證在任何情況下都是正確的。使用這個(gè)程序必須滿足一定的前提(b2-4ac≥0),這樣,就給使用程序的人帶來(lái)不便。人們?cè)谳斎霐?shù)據(jù)前,必須先算一下,看b2-4ac是否大于或等于0。
一個(gè)程序應(yīng)能適應(yīng)各種不同的情況,并且都能正常運(yùn)行并得到相應(yīng)的結(jié)果。
下面分析一下求方程ax2+bx+c=0的根,有幾種情況:
(1)a≠0時(shí)
① 15、 b2-4ac>0 有兩個(gè)不等的實(shí)根:x1, 2=(-bsqrt(b2-4ac))/2a
② b2-4ac=0 有兩個(gè)相等的實(shí)根:x1= x 2=-b/2a
③ b2-4ac<0 有兩個(gè)不等的共軛復(fù)根:x1, 2=(-bsqrt(b2-4ac)i)/2a
(2)a=0時(shí),方程就變成一元一次的線性方程:bx+c=0
① 當(dāng)b≠0時(shí),x =-c/b
② 當(dāng)b = 0時(shí),方程變?yōu)?x+c=0
當(dāng)c = 0時(shí),x可以為任何值;
當(dāng)c≠0時(shí),x無(wú)解。
綜合起來(lái),共有6種情況:
① a≠0,b2-4ac>0
② a≠0,b2-4ac=0
③ a≠0, b2-4ac<0
④ a 16、=0,b≠0
⑤ a=0,b= 0,c = 0
⑥ a=0,b= 0,c≠0
應(yīng)當(dāng)分別測(cè)試程序在以上6 種情況下的運(yùn)行情況,觀察它們是否符合要求。為此,應(yīng)準(zhǔn)備6 組數(shù)據(jù)。用這6 組數(shù)據(jù)去測(cè)試程序的“健壯性”。在使用上面這個(gè)程序時(shí),顯然只有滿足①②情況的數(shù)據(jù)才能使程序正確運(yùn)行,而輸入滿足③~⑥情況的數(shù)據(jù)時(shí),程序出錯(cuò)。這說(shuō)明程序不“健壯”。為此,應(yīng)當(dāng)修改程序,使之能適應(yīng)以上6 種情況??蓪⒊绦蚋臑椋?
#include 17、1, x2, p, q;
cout<<"input a, b, c:";
cin>>a>>b>>c;
if(a= =0)
if(b= =0)
if(c= =0)
cout<<"It is trivial."< 18、<"x="<<-c/b< 19、< 20、 q=sqrt(-disc)/(2*a);
cout<<"x1="<
21、
x1=-0.33, x2= -1
② input a, b, c: 1 2 1
It has two same real solutions:
x1=x2= -1
③ input a, b, c: 4 2 1
It has two complex solutions:
x1=-0.25+0.43i, x2=-0.25-0.43i
④ input a, b, c: 0 3 4
It has one solutions:
x1=-1.33
⑤ input a, b, c: 0 0 0
It is trivia 22、l.
⑥ input a, b, c: 0 0 5
It is impossible.
經(jīng)過(guò)測(cè)試,可以看到程序?qū)θ魏屋斎氲臄?shù)據(jù)都能正常運(yùn)行并得到正確的結(jié)果。以上是根據(jù)數(shù)學(xué)知識(shí)知道輸入數(shù)據(jù)有6種方案。但在有些情況下,并沒(méi)有現(xiàn)成的數(shù)學(xué)公式作為依據(jù),例如一個(gè)商品管理程序,要求對(duì)各種不同的檢索作出相應(yīng)的反應(yīng)。如果程序包含多條路徑(如由if語(yǔ)句形成的分支),則應(yīng)當(dāng)設(shè)計(jì)多組測(cè)試數(shù)據(jù),使程序中每一條路徑都有機(jī)會(huì)執(zhí)行,觀察其運(yùn)行是否正常。
以上就是程序測(cè)試的初步知識(shí)。測(cè)試的關(guān)鍵是正確地準(zhǔn)備測(cè)試數(shù)據(jù)。如果只準(zhǔn)備4 組測(cè)試數(shù)據(jù),程序都能正常運(yùn)行,仍然不能認(rèn)為此程序己無(wú)問(wèn)題。只有將程序運(yùn)行時(shí)所有的 23、可能情況都作過(guò)測(cè)試,才能作出判斷。
測(cè)試的目的是檢查程序有無(wú)“漏洞”。對(duì)于一個(gè)簡(jiǎn)單的程序,要找出其運(yùn)行時(shí)全部可能執(zhí)行到的路徑,并正確地準(zhǔn)備數(shù)據(jù)并不困難。但是如果需要測(cè)試一個(gè)復(fù)雜的大程序,要找到全部可能的路徑并準(zhǔn)備出所需的測(cè)試數(shù)據(jù)并非易事。例如:有兩個(gè)非嵌套的if語(yǔ)句,每個(gè)if語(yǔ)句有兩個(gè)分支,它們所形成的路徑數(shù)目為22=4。如果一個(gè)程序包含100 個(gè)if語(yǔ)句,則可能的路徑數(shù)目為2100=1.2676511030,要測(cè)試每一條路徑兒乎是不可能的。實(shí)際上進(jìn)行測(cè)試的只是其中一部分(執(zhí)行幾率最高的部分)。因此,經(jīng)過(guò)測(cè)試的程序一般還不能輕易宣布為“沒(méi)有問(wèn)題”,只能說(shuō)“經(jīng)過(guò)測(cè)試的部分無(wú)問(wèn)題”。正如檢查身體 24、一樣,經(jīng)過(guò)內(nèi)科、外科、眼科、五官科……各科例行檢查后,不能宣布被檢查者“沒(méi)有任何病癥”,他有可能有隱蔽的、不易查出的病癥。所以醫(yī)院的診斷書(shū)一般寫(xiě)為“未發(fā)現(xiàn)異?!保荒軐?xiě)“此人身體無(wú)任何問(wèn)題”。
我們應(yīng)當(dāng)了解測(cè)試的目的,學(xué)會(huì)組織測(cè)試數(shù)據(jù),并根據(jù)測(cè)試的結(jié)果修改完善程序。
第三部分 實(shí)驗(yàn)內(nèi)容與安排
實(shí)驗(yàn)一 C++程序的運(yùn)行環(huán)境和運(yùn)行C++程序的方法
1.實(shí)驗(yàn)?zāi)康?
(1)了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。
(2)了解在該系統(tǒng)上如何編輯、編譯、連接 25、和運(yùn)行一個(gè)C++程序。
(3)通過(guò)運(yùn)行簡(jiǎn)單的C++程序,初步了解C++源程序的結(jié)構(gòu)和特點(diǎn)。應(yīng)學(xué)會(huì)在一種以上的編譯環(huán)境下運(yùn)行C++程序,建議學(xué)習(xí)并掌握Visual C++ 6.0的使用方法。
2.實(shí)驗(yàn)內(nèi)容和步驟
(1)檢查所用的計(jì)算機(jī)系統(tǒng)是否己安裝了Visual C++ 6.0編譯系統(tǒng)
(2)在Visual C++ 6.0環(huán)境下編譯和運(yùn)行C++程序
在第一次上機(jī)時(shí),按以下步驟建立和運(yùn)行C++程序:
① 先進(jìn)入Visual C++ 6.0環(huán)境。
② 在自己指定的子目錄中建立一個(gè)名為test.cpp的新文件(此時(shí)尚未向文件輸入內(nèi)容)。
③ 從鍵盤(pán)輸入以下程序(第l章第8題):
in 26、t main ( ) ;
{ int a , b;
c = a + b;
cout>>“a + b =”>> a + b ;
}
④ 選擇Build→Compile test.cpp命令,對(duì)此源程序進(jìn)行編譯。觀察和分析編譯信息。
⑤ 根據(jù)編譯信息指出的錯(cuò)誤,修改程序。再進(jìn)行編譯,如果還有錯(cuò),再重復(fù)此過(guò)程,直到編譯不出錯(cuò)為止。
⑥ 選擇Build→Build test.exe命令,對(duì)程序進(jìn)行連接,如果不出錯(cuò),就會(huì)生成可執(zhí)行程序test.exe 。
⑦ 選擇Build→Execute test.exe 命令,執(zhí)行可執(zhí)行程序test..exe觀察屏幕的變化。在輸出窗口應(yīng)顯示程序運(yùn) 27、行結(jié)果。
⑧ 分析結(jié)果是否正確,如果不正確或認(rèn)為輸出格式不理想,可以修改程序,然后重新執(zhí)行以上④至⑧步驟。
此外,還可利用已有的源程序建立一個(gè)新程序。由于剛才已建立了一個(gè)名為test.cpp 的源程序,可以以它為基礎(chǔ)建立一個(gè)新程序,這樣更方便些。按以下步驟:
① 通過(guò)“資源管理器”或“我的電腦”,按文件路徑找到已有源程序test.cpp。
② 雙擊“test.cpp”圖標(biāo),進(jìn)入Visual C++集成環(huán)境,打開(kāi)test.cpp。
③ 在test.cpp基礎(chǔ)上將源程序修改為以下內(nèi)容(第1章第9題):
# include 28、;
int main ( )
{ int a , b ;
c = add ( a , b )
cout <<" a + b = " < 29、第一個(gè)實(shí)驗(yàn),寫(xiě)得比較詳細(xì)。希望大家能在實(shí)驗(yàn)中多思考,多給自己提問(wèn)題,多設(shè)想幾種可能性。做實(shí)驗(yàn)時(shí)不要滿足于驗(yàn)證書(shū)本知識(shí)。在以后的實(shí)驗(yàn)中,請(qǐng)大家自己設(shè)計(jì)具體的實(shí)驗(yàn)步驟,盡可能自己補(bǔ)充增加一些內(nèi)容,以提高自己的實(shí)踐能力。
實(shí)驗(yàn)二 C++對(duì)C的擴(kuò)充
1.實(shí)驗(yàn)?zāi)康?
(1)了解在面向過(guò)程程序設(shè)計(jì)中C++對(duì)C功能的擴(kuò)充與增強(qiáng),并善于在編寫(xiě)程序過(guò)程中應(yīng)用這些新的功能。
(2)進(jìn)一步熟悉在所用的系統(tǒng)上編輯、編譯、連接和運(yùn)行C++程序的方法。
(3)進(jìn)一步熟悉C++程序的結(jié)構(gòu)和編程方法。
2.實(shí)驗(yàn)內(nèi)容和步驟
要求事先編好解決下面問(wèn)題的程序,然后上機(jī)輸入程序 30、并調(diào)試運(yùn)行。
(1)輸入以下程序,進(jìn)行編譯,觀察編譯情況,如果有錯(cuò)誤,請(qǐng)修改程序,再進(jìn)行編譯,直到?jīng)]有錯(cuò)誤,然后進(jìn)行連接和運(yùn)行,分析運(yùn)行結(jié)果(本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第1章習(xí)題第9題)。
# include 31、);
}
(2)編一個(gè)程序,用來(lái)求2個(gè)或3個(gè)正整數(shù)中的最大數(shù)。
① 用不帶默認(rèn)參數(shù)的函數(shù)實(shí)現(xiàn)。
② 用帶有默認(rèn)參數(shù)的函數(shù)實(shí)現(xiàn)。
(本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第1章習(xí)題第11題)
對(duì)比兩種方法,分析用帶有默認(rèn)參數(shù)的函數(shù)的優(yōu)點(diǎn)和應(yīng)用的場(chǎng)合。總結(jié)如何選擇默認(rèn)參數(shù)的值。請(qǐng)分析本題中默認(rèn)參數(shù)的值應(yīng)該在什么范圍。
(3)輸入兩個(gè)整數(shù),將它們按由大到小的順序輸出(本題是《C++面向?qū)ο蟪绦蛟O(shè)
計(jì)》第1章習(xí)題第12題)。
① 32、 使用指針?lè)椒ā?
② 使用變量的引用。
比較這兩種方法的特點(diǎn)和使用方法。
(4)對(duì)3個(gè)變量按由小到大順序排序,要求使用變量的引用(本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第1章習(xí)題第13題)。
① 使用指針?lè)椒ā?
② 使用變量的引用。
請(qǐng)總結(jié)使用引用時(shí)要注意什么問(wèn)題。
(5)有5個(gè)字符串,要求對(duì)它們按由小到大順序排列,用string方法(本題是《C++ 面向?qū)ο蟪绦蛟O(shè)計(jì)》第1章習(xí)題第16題)。
(6)編一個(gè)程序,用同一個(gè)函數(shù)名對(duì)n個(gè)數(shù)據(jù)進(jìn)行從小到大排序,數(shù)據(jù)類型可以是整型、單精度型、雙精度型(本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第1章習(xí)題第17題和18題)。
① 用重載函數(shù)實(shí)現(xiàn)。
② 33、用函數(shù)模板實(shí)現(xiàn)。
比較這兩種方法各有什么特點(diǎn),什么情況下可以用函數(shù)模板代替重載函數(shù)?什么情況下不可以用函數(shù)模板代替重載函數(shù)?
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第l章。
實(shí)驗(yàn)三 類和對(duì)象(一)
1.實(shí)驗(yàn)?zāi)康?
(1)掌握聲明類的方法,類和類的成員的概念以及定義對(duì)象的方法。
(2)初步掌握用類和對(duì)象編制基于對(duì)象的程序。
(3)學(xué)習(xí)檢查和調(diào)試基于對(duì)象的程序。
2.實(shí)驗(yàn)內(nèi)容
(1)有以下程序:
# include 34、 //定義Time類
{ public: //數(shù)據(jù)成員為公用的
int hour ;
int minute ;
int sec ;
};
int main ( )
{ Time tl ; //定義t1為T(mén)ime類對(duì)象
cin>>tl.hour ; //輸入設(shè)定的時(shí)間
cin>> tl.minute ;
cin>>tl.sec ;
cout< 35、出時(shí)間
return 0;
}
改寫(xiě)程序,要求:
① 將數(shù)據(jù)成員改為私有的;
② 將輸入和輸出的功能改為由成員函數(shù)實(shí)現(xiàn);
③ 在類體內(nèi)定義成員函數(shù)。
然后編譯和運(yùn)行程序。請(qǐng)分析什么成員應(yīng)指定為公用的?什么成員應(yīng)指定為私有的?什么函數(shù)最好放在類中定義?什么函數(shù)最好在類外定義?本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第2章第2題。
(2)分別給出如下的3個(gè)文件:
① 含類定義的頭文件student.h 。
//student.h (這是頭文件,在此文件中進(jìn)行類的聲明)
class Student //類 36、聲明
{ public :
void display ( ) ; //公用成員函數(shù)原型聲明
private :
int num ;
char name[20] ;
char sex ;
} ;
② 包含成員函數(shù)定義的源文件student.cpp。
//student.cpp (在此文件中進(jìn)行函數(shù)的定義)
# include < iostream>
# include “student.h” //不要漏寫(xiě)此行,否則編譯通不過(guò)
void Studen 37、t : : display ( ) //在類外定義display類函數(shù)
{ cout<<”num:”< 38、 //將類聲明頭文件包含進(jìn)來(lái)
int main ( )
{ Student stud ; //定義對(duì)象
stud.display( ); //執(zhí)行stud對(duì)象的display函數(shù)
return 0;
}
請(qǐng)完善該程序,在類中增加一個(gè)對(duì)數(shù)據(jù)成員賦初值的成員函數(shù)set_value。上機(jī)調(diào)試并運(yùn)行。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第2章第4題。
(3)需要求3個(gè)長(zhǎng)方柱的體積,請(qǐng)編一個(gè)基于對(duì)象的程序。數(shù)據(jù)成員包括length(長(zhǎng))、width(寬)、height(高)。要求用 39、成員函數(shù)實(shí)現(xiàn)以下功能:
① 由鍵盤(pán)分別輸入3 個(gè)長(zhǎng)方柱的長(zhǎng)、寬、高;
② 計(jì)算長(zhǎng)方柱的體積;
③ 輸出3個(gè)長(zhǎng)方柱的體積。
請(qǐng)編程序,上機(jī)調(diào)試并運(yùn)行。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第2章第6題。
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第2章。
實(shí)驗(yàn)四 類和對(duì)象(二)
1.實(shí)驗(yàn)?zāi)康?
(1)進(jìn)一步加深對(duì)類和對(duì)象的理解。
(2)掌握類的構(gòu)造函數(shù)和析構(gòu)函數(shù)的概念和使用方法。
(3)掌握對(duì)象數(shù)組、對(duì)象的指針及其使用方法。
(4)掌握友元的概念和使用。
(5)了解類模板 40、的使用方法。
2.實(shí)驗(yàn)內(nèi)容
(1)有以下程序:
# include 41、
Student stud (101, 78.5);
stud. display ( )
stud. change (101, 80.5 ) ;
stud . display( );
}
① 閱讀此程序,分析其執(zhí)行過(guò)程,然后上機(jī)運(yùn)行,對(duì)比輸出結(jié)果。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第3章第6題。
② 修改上面的程序,增加一個(gè)fun函數(shù),改寫(xiě)main函數(shù)。在main函數(shù)中調(diào)用fun函數(shù),在fun函數(shù)中調(diào)用change和display函數(shù)。在fun函數(shù)中使用對(duì)象的引用(Student &)作為形參。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第3章第8題。
(2)商店銷(xiāo)售某一商品,商店每天 42、公布統(tǒng)一的折扣(discount)。同時(shí)允許銷(xiāo)售人員在銷(xiāo)售時(shí)靈活掌握售價(jià)(price),在此基礎(chǔ)上,對(duì)一次購(gòu)10件以上者,還可以享受9.8折優(yōu)惠?,F(xiàn)己知當(dāng)天3個(gè)銷(xiāo)貨員銷(xiāo)售情況為:
銷(xiāo)貨員號(hào)(num) 銷(xiāo)貨件數(shù)(quantity) 銷(xiāo)貨單價(jià)(price )
101 5 23.5
102 12 24.56
103 100 21.5
請(qǐng)編程序,計(jì)算出當(dāng)日此商品的總銷(xiāo)售款sum以及每件商品的平均售價(jià)。要求用靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第3章第9題。
提示:將折扣discount, 43、總銷(xiāo)售款sum和商品銷(xiāo)售總件數(shù)n聲明為靜態(tài)數(shù)據(jù)成員,再定義靜態(tài)成員函數(shù)average(求平均售價(jià))和display(輸出結(jié)果)。
(3)有以下程序(這是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第3章例3.13的程序):
#include 44、
};
class Date
{public:
Date(int, int, int);
friend void Time:: display(Date &);
private:
int month;
int day;
int year;
};
Time:: Time (int h, int m, int s)
{hour=h;
minute=m;
sec=s;
}
void Time:: display(Date 45、&da)
{cout< 46、n 0;
}
請(qǐng)讀者分析和運(yùn)行此程序,注意友元函數(shù)Time : : display 的作用。將程序中的display 函數(shù)不放在Time類中,而作為類外的普通函數(shù),然后分別在Time和Date類中將display聲明為友元函數(shù)。在主函數(shù)中調(diào)用display函數(shù),display函數(shù)分別引用Time和Date兩個(gè)類的對(duì)象的私有數(shù)據(jù),輸出年、月、日和時(shí)、分、秒。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》 第3章第10題。
修改后上機(jī)調(diào)試和運(yùn)行。
(4)有以下使用類模板程序(這是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第3章例3.14的程序):#include 47、std;
template 48、 the Maximum of two inteder numbers."< 49、pare 50、)掌握幾種常用的運(yùn)算符重載的方法。
(3)了解轉(zhuǎn)換構(gòu)造函數(shù)的使用方法。
(4)了解在Visual C++6.0環(huán)境下進(jìn)行運(yùn)算符重載要注意的問(wèn)題。
2.實(shí)驗(yàn)內(nèi)容
事先編寫(xiě)好程序,上機(jī)調(diào)試和運(yùn)行程序,分析結(jié)果。
(1)聲明一個(gè)復(fù)數(shù)類Complex,重載運(yùn)算符“+”,“-”,“*”,“/”,使之能用于復(fù)數(shù)的加、減、乘、除,運(yùn)算符重載函數(shù)作為Complex 類的成員函數(shù)。編程序,分別求兩個(gè)復(fù)數(shù)之和、差、積和商。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第4章第2題。
請(qǐng)思考:你編的程序能否用于一個(gè)整數(shù)與一個(gè)復(fù)數(shù)的算術(shù)運(yùn)算?如4 + ( 5 - 2i )。
(2)聲明一個(gè)復(fù)數(shù)類Complex,重載運(yùn) 51、算符“+”,使之能用于復(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ù))。
運(yùn)行程序,分別求兩個(gè)復(fù)數(shù)之和、整數(shù)和復(fù)數(shù)之和。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》 第4章第3題。
(3)有兩個(gè)矩陣a 和b,均為2行3列,求兩個(gè)矩陣之和。重載運(yùn)算符“+”,使之能用于矩陣相加。如:c = a + b。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第4章第4題。
(4)聲明一個(gè)Teacher(教師)類和一個(gè)Student(學(xué)生)類,二者有一部分?jǐn)?shù)據(jù)成員是相同的,例如num(號(hào)碼),na 52、me(姓名),sex(性別)。編寫(xiě)程序,將一個(gè)Student對(duì)象(學(xué)生)轉(zhuǎn)換為T(mén)eacher(教師)類,只將以上3個(gè)相同的數(shù)據(jù)成員移植過(guò)去??梢栽O(shè)想為:一位學(xué)生大學(xué)畢業(yè)了,留校擔(dān)任教師,他原有的部分?jǐn)?shù)據(jù)對(duì)現(xiàn)在的教師身份來(lái)說(shuō)仍然是有用的,應(yīng)當(dāng)保留并成為其教師的數(shù)據(jù)的一部分。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第4章第7題。
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第4章。
實(shí)驗(yàn)六 繼承與派生
1.實(shí)驗(yàn)?zāi)康?
(1)了解繼承在面向?qū)ο蟪绦蛟O(shè)計(jì)中的重要作用。
(2)進(jìn)一步理解繼承與派生的概念。
(3)掌握通過(guò)繼承派生出一個(gè)新的類的方法。
(4)了解虛基類的作用和用法。 53、
2.實(shí)驗(yàn)內(nèi)容
事先編寫(xiě)好程序,上機(jī)調(diào)試和運(yùn)行程序,分析結(jié)果。
(1)將《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章例5.1的程序片段補(bǔ)充和改寫(xiě)成一個(gè)完整、正確的程序,用公用繼承方式。在程序中應(yīng)包括輸入數(shù)據(jù)的函數(shù),在程序運(yùn)行時(shí)輸入num,name,sex,age,addr的值,程序應(yīng)輸出以上5個(gè)數(shù)據(jù)的值。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章第1題。
(2)將《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章例5.3的程序修改、補(bǔ)充,寫(xiě)成一個(gè)完整、正確的程序,用保護(hù)繼承方式。在程序中應(yīng)包括輸入數(shù)據(jù)的函數(shù)。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章第3題。
(3)修改上面第(2)題的程序,改為用公用繼承方式。上機(jī)調(diào)試程 54、序,使之能正確運(yùn)行并得到正確的結(jié)果。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章第4題。
對(duì)這兩種繼承方式作比較分析,考慮在什么情況下二者不能互相代替。
(4)分別聲明Teacher(教師)類和Cadre(干部)類,采用名重繼承方式由這兩個(gè)類派生出新類Teacher_Cadre(教師兼干部)。要求:
① 在兩個(gè)基類中都包含姓名、年齡、性別、地址、電話等數(shù)據(jù)成員。
② 在Teacher類中還包含數(shù)據(jù)成員title(職稱),在Cadre類中還包含數(shù)據(jù)成員post (職務(wù))。在Teacher_Cadre類中還包含數(shù)據(jù)成員wages(工資)。
③ 對(duì)兩個(gè)基類中的姓名、年齡、性別、地址、電話等數(shù)據(jù)成 55、員用相同的名字,在引用這些數(shù)據(jù)成員時(shí),指定作用域。
④ 在類體中聲明成員函數(shù),在類外定義成員函數(shù)。
⑤ 在派生類Teacher_Cadre的成員函數(shù)show中調(diào)用Teacher類中的display函數(shù),輸出姓名、年齡、性別、職稱、地址、電話,然后再用cout語(yǔ)句輸出職務(wù)與工資。
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第5章。
實(shí)驗(yàn)七 多態(tài)性與虛函數(shù)
1.實(shí)驗(yàn)?zāi)康?
(1)了解多態(tài)性的概念。
(2)了解虛函數(shù)的作用及使用方法。
(3)了解靜態(tài)關(guān)聯(lián)和動(dòng)態(tài)關(guān)聯(lián)的概念和用法。
(4)了解純虛函數(shù)和抽象類的概念和用法。
2.實(shí)驗(yàn)內(nèi)容
事先編寫(xiě)好程序,上機(jī)調(diào)試和運(yùn)行程序, 56、分析結(jié)果。
(1)聲明Point(點(diǎn))類,由Point類派生出Circle(圓)類,再由Circle類派生出Cylinder(圓柱體)類。將類的定義部分分別作為3個(gè)頭文件,對(duì)它們成員函數(shù)的聲明部分分別作為3個(gè)源文件(.cpp文件),在主函數(shù)中用#include命令把它們包含進(jìn)來(lái),形成一個(gè)完整的程序,并上機(jī)運(yùn)行。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第6章第1題。
(2)在《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第6章例6.3的基礎(chǔ)上作以下修改,并作必要的討論。
① 把構(gòu)造函數(shù)修改為帶參數(shù)的函數(shù),在建立對(duì)象時(shí)初始化。
② 先不將析構(gòu)函數(shù)聲明為virtual,在main函數(shù)中另設(shè)一個(gè)指向Circle類對(duì)象的指 57、針變量,使它指向grad1。運(yùn)行程序,分析結(jié)果。
③ 不作第②點(diǎn)的修改而將析構(gòu)函數(shù)聲明為virtual,運(yùn)行程序,分析結(jié)果。
本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第6章第3題。
(3)聲明抽象基類Shape,由它派生出3個(gè)派生類:Circle(圓形)、Rectangle(矩形)、Triangle(三角形),用一個(gè)函數(shù)printArea分別輸出以上三者的面積,3個(gè)圖形的數(shù)據(jù)在定義對(duì)象時(shí)給定。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第6章第4題。
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第6章。
實(shí)驗(yàn)八 輸入輸出流
1.實(shí)驗(yàn)?zāi)康?
(1)深入理解C++的輸入輸出 58、的含義與其實(shí)現(xiàn)方法。
(2)掌握標(biāo)準(zhǔn)輸入輸出流的應(yīng)用,包括格式輸入輸出。
(3)掌握對(duì)文件的輸入輸出操作。
2.實(shí)驗(yàn)內(nèi)容
事先編寫(xiě)好程序,上機(jī)調(diào)試和運(yùn)行程序,分析結(jié)果。
(1)輸入三角形的三邊a , b , c ,計(jì)算三角形的面積的公式是
area= sqrt (s*(s-a)*(s-b)*(s-c)), s= (a+b+c)/2
形成三角形的條件是:a + b > c , b + c > a , c + a > b
編寫(xiě)程序,輸入a , b , c ,檢查a , b , c 是否滿足以上條件,如不滿足,由cerr輸出有關(guān)出錯(cuò)信息。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第7章第1 59、題。
(2)從鍵盤(pán)輸入一批數(shù)值,要求保留3位小數(shù),在輸出時(shí)上下行小數(shù)點(diǎn)對(duì)齊。
① 用控制符控制輸出格式;
② 用流成員函數(shù)控制輸出格式。
本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第7章第2題。
(3)建立兩個(gè)磁盤(pán)文件fl. dat 和f2 . dat ,編程序?qū)崿F(xiàn)以下工作:
① 從鍵盤(pán)輸入20個(gè)整數(shù),分別存放在兩個(gè)磁盤(pán)文件中(每個(gè)文件中放10個(gè)整數(shù));
② 從fl . dat讀入10個(gè)數(shù),然后存放到f2 . dat文件原有數(shù)據(jù)的后面;
③ 從f2 .dat中讀入20個(gè)整數(shù),將它們按從小到大的順序存放到f2 .dat (不保留原來(lái)的數(shù)據(jù))。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第7章第4題。
60、
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第7章。
實(shí)驗(yàn)九 C ++工具
1.實(shí)驗(yàn)?zāi)康?
(1)學(xué)會(huì)使用C++的異常處理機(jī)制進(jìn)行程序的調(diào)試。
(2)學(xué)會(huì)使用命名空間解決名字沖突。
2.實(shí)驗(yàn)內(nèi)容
事先編寫(xiě)好程序,上機(jī)調(diào)試和運(yùn)行程序,分析結(jié)果。
(1)求一元二次方程式ax2+bx+c=0的實(shí)根,如果方程沒(méi)有實(shí)根,則利用異常處理機(jī)制輸出有關(guān)警告信息。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章第1題。
(2)學(xué)校的人事部門(mén)保存了有關(guān)學(xué)生的部分?jǐn)?shù)據(jù)(學(xué)號(hào)、姓名、年齡、住址),教務(wù)部門(mén)也保存了學(xué)生的另外一些數(shù)據(jù)(學(xué)號(hào)、姓名、性別、成績(jī)),兩個(gè)部門(mén)分別編寫(xiě)了本部門(mén)的學(xué)生數(shù)據(jù)管理程序,其中都用了Student作為類名?,F(xiàn)在要求在全校的學(xué)生數(shù)據(jù)管理程序中調(diào)用這兩個(gè)部門(mén)的學(xué)生數(shù)據(jù),分別輸出兩種內(nèi)容的學(xué)生數(shù)據(jù)。要求用ANSI C ++編程,使用命名空間。本題是《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章第3題。
3.預(yù)習(xí)內(nèi)容
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》第8章。
25
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案