C++程序設(shè)計(jì)試題和答案_第1頁(yè)
C++程序設(shè)計(jì)試題和答案_第2頁(yè)
C++程序設(shè)計(jì)試題和答案_第3頁(yè)
C++程序設(shè)計(jì)試題和答案_第4頁(yè)
C++程序設(shè)計(jì)試題和答案_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、C+播序設(shè)計(jì)試題一、單項(xiàng)選擇題(本大題共20小題.每小題1分.共20分)在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的.請(qǐng)將其代碼填寫(xiě)在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。+源程序文件擴(kuò)展名為(A)A.cppB.hC.1ibD.obj2. 在C+4使用流進(jìn)行輸入輸出.其中專(zhuān)用于從鍵盤(pán)進(jìn)行輸入的流是(B)3. 包含自定義頭文件的預(yù)處理指令是(D)A.#define<>B.#includeC.#defineD.#include""4. 用于標(biāo)識(shí)十六進(jìn)制前綴或后綴是(D)A.元B.后綴L或eC.前綴零D.前綴0x5. 設(shè)存在整型變量intx.則下列句與其它三項(xiàng)含

2、義不同的是(A)*p=&x;&p=x;&p=x;&p=x;6. 在定義類(lèi)成員時(shí).為產(chǎn)生封裝性.則需使用哪個(gè)關(guān)鍵字(D)7. 設(shè)函數(shù)voidswap(int&.int&)將交換兩形參的值.如兩整型變量inta=10;intb=15;則執(zhí)行swap后.a、b值分別為(C)函數(shù)默認(rèn)參數(shù)在函數(shù)原型中說(shuō)明.默認(rèn)參數(shù)必須放在參數(shù)序列的(C)A. 前部B.中部C.后部D.兩端9. 設(shè)存在函數(shù)intmin返回兩參數(shù)中較小值.若求三者中最小值.下列表達(dá)式中錯(cuò)誤的是(B)m=min(min.min);m=min;m=min);m=min(min.16);10. 下列

3、函數(shù)不能和函數(shù)voidprint(char)構(gòu)成重載的是(C)print(int);print;print(char);print;11. 在下列成對(duì)的表達(dá)式中.運(yùn)算結(jié)果類(lèi)型相同的一對(duì)是(D)2和和72和72和212. 內(nèi)聯(lián)函數(shù)的特點(diǎn)是(D)A.減少代碼量.加快訪(fǎng)問(wèn)速度B.減少代碼量.減緩訪(fǎng)問(wèn)速度C.增加代碼量.減緩訪(fǎng)問(wèn)速度D.增加代碼量.加快訪(fǎng)問(wèn)速度13. 類(lèi)的私有成員可在何處被訪(fǎng)問(wèn)(A)A.本類(lèi)的成員函數(shù)中B. 本類(lèi)及子類(lèi)的成員函數(shù)中C. 通過(guò)對(duì)象名在任何位置D. 不可訪(fǎng)問(wèn)14. 類(lèi)的構(gòu)造函數(shù)在以下什么情況下會(huì)被自動(dòng)調(diào)用(B)A. 定義成員函數(shù)時(shí)B. 定義對(duì)象時(shí)C. 定義數(shù)據(jù)成員時(shí)D. 定

4、義友元函數(shù)時(shí)15. 下列關(guān)于析構(gòu)函數(shù)描述正確的是(D)A. 可以重載B.函數(shù)體中必須有delete語(yǔ)句C. 返回類(lèi)型必須是void類(lèi)型D. 不能指定返回類(lèi)型16. 設(shè)有函數(shù)TSum(Ty)returnx+y;.其中T為模板類(lèi)型.則下列語(yǔ)句中對(duì)該函數(shù)錯(cuò)誤的使用是(D);(A.C);("A"."C");17. 下列哪個(gè)編譯指令屬于條件編譯指令(C)A.#includeB.#defineC.#elseD.#pragma18. 關(guān)于類(lèi)的靜態(tài)成員函數(shù)描述錯(cuò)誤的是(A)A.在創(chuàng)建對(duì)象前不存在B.不能說(shuō)明為虛函數(shù)C.不能直接訪(fǎng)問(wèn)非靜態(tài)函數(shù)D.不是對(duì)象的成員19 .如果

5、類(lèi)A被聲明成類(lèi)B的友元.則(D)A.類(lèi)A的成員即類(lèi)B的成員B.類(lèi)B的成員即類(lèi)A的成員C.類(lèi)A的成員函數(shù)不得訪(fǎng)問(wèn)類(lèi)B的成員D.類(lèi)B不一定是類(lèi)A的友元20 .派生類(lèi)的對(duì)象可以訪(fǎng)問(wèn)以下那種情況繼承的基類(lèi)成員(D)A.私有繼承的私有成員B.公有繼承的私有成員C.私有繼承的保護(hù)成員D.公有繼承的公有成員二、填空題(本大題共20小題.每小題1分.共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。21 .若使用標(biāo)準(zhǔn)輸出流把整型變量a的值輸出到屏幕上.實(shí)現(xiàn)此操作的C+詡句是cout<<a。+將數(shù)據(jù)從一個(gè)對(duì)象流向另一個(gè)象的流動(dòng)抽象為“流”.從流中獲取數(shù)據(jù)的操作稱(chēng)為提取操作。23 .執(zhí)行下列

6、代碼intb=100cout<<"Hex:"<<hex<<b;程序的輸出結(jié)果是Hex:64。24 .靜態(tài)聯(lián)編所支持的多態(tài)性稱(chēng)為編譯時(shí)或編譯的多態(tài)性。+程序必須有且只有一個(gè)主函數(shù).其函數(shù)名為main。26 .寫(xiě)出聲明一個(gè)復(fù)數(shù)對(duì)象的語(yǔ)句.并使該對(duì)象被初始化為+.此聲明語(yǔ)句是complex<float>num,或complex<double>num,。27 .若有函數(shù)定義為:intadd(intml=m2=m3=4)returnml+m2+m3;在主函數(shù)中有ints=add+add+add;則執(zhí)行此語(yǔ)句后s的值為1528

7、o+中使用inline關(guān)鍵字說(shuō)明函數(shù)為內(nèi)聯(lián)函數(shù)。29 .在源程序中有宏定義:#definePI.則若不想使該宏定義影響到程序的其它地方.可以使用#undefPI刪除該宏定義。30 .類(lèi)和其它數(shù)據(jù)類(lèi)型不同的是.組成這種類(lèi)型的不僅可以有數(shù)據(jù).還可以有對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù)或成員函數(shù)。31 .有下列代碼inta=0;doubleb=0;cin>>a>>b;當(dāng)用鍵盤(pán)輸入時(shí).b=。32 .對(duì)于類(lèi)Point而言.其析構(gòu)函數(shù)的定義原型為Point:Point()或Point()。33 .對(duì)象成員構(gòu)造函數(shù)的調(diào)用順序取決于這些對(duì)象在類(lèi)中說(shuō)明的順序.與它們?cè)诔蓡T初始化列表中給出的順序無(wú)關(guān)。3

8、4 .類(lèi)的簡(jiǎn)單成員函數(shù)是指聲明中不含const、volatile、static關(guān)鍵字的函數(shù)。35 .與操作對(duì)象的數(shù)據(jù)類(lèi)型相互獨(dú)立的算法稱(chēng)為泛型算法。36 .從一個(gè)或多個(gè)以前定義的類(lèi)產(chǎn)生新類(lèi)的過(guò)程稱(chēng)為派生。37 .在vector類(lèi)中向向量尾部插入一個(gè)對(duì)象的方法是pushback(constT&)。+中用于動(dòng)態(tài)創(chuàng)建對(duì)象.并返回該對(duì)象的指針的關(guān)鍵字是newo+的流類(lèi)庫(kù)預(yù)定義的與標(biāo)準(zhǔn)輸出設(shè)備相聯(lián)接的流是cou£。40.執(zhí)行下列代碼cout<<noshowpoint<<程序輸出結(jié)果是123O三、改錯(cuò)題(本大題共5小題.每小題2分.共10分)下面的類(lèi)定義中有一處錯(cuò)

9、誤.請(qǐng)用下橫線(xiàn)標(biāo)出錯(cuò)誤所在行并給出修改意見(jiàn)。41.#include<>classfprivate:float;public:f(floatb)x=a;y=b;floatmax()return(x<y)?x:y;/求最大值;main()fa;cout<<()<<endl;return(x<y)?x:y;該語(yǔ)句求的是最小值.應(yīng)改為return(x>y)?x:y;或return(x<y)?y:x;classtestprivate:intx;public:test(inta)x=a;voidset(inta)x=a;voidget()cout

10、<<x<<endl;main()consttesta(3);(5);();(5);a是常對(duì)象.不能被更新或consttesta(3);去掉const使a不再為常對(duì)象43.#include<>classpointprivate:float;public:f1(floatb)x=a;y=b;point()x=0;y=0;voidgetx()cout<<x<<endl;voidgety()cout<<y<<endl;voidprint(pointa)cout<<<<endlmain()poin

11、ta;print(a);print(pointa)cout<<<<endl;print()不是成員函數(shù)不允許直接調(diào)用或?qū)rivate:floatx,y;改為public:floatx,y;或cour<<<<endl;改為();44.#include<>classfprivate:int;public:fl(intb)x=a;y=b;voidprint()cout<<x<<y<<endl;main()fa;;();,;f1()調(diào)用時(shí)實(shí)參與形參類(lèi)型不一致45.#include<>main(

12、)intx=6;constint*p=x;cout<<*p<<endl;constint*p=x;變量給指針p賦值必須加上&四、完成程序題(本大題共5小題.每小題4分.共20分)46 .完成下面程序.使其輸出10.并在退出運(yùn)行時(shí)正確釋放分配給指針的存儲(chǔ)空間。#inc1ude<iostream>usingnamespacestd;voidmain()int*a.*p;a=newint(10);p=_a_jcout<<*p<<endl;deletep;或deletea;47 .#include<iostream>pri

13、vate:intx;public:base(inta)x=a;intget()returnx;voidshowbase()cout<<"x="<<x<<endl;classDerived:publicbaseprivate:inty;public:Derived(intb):base(a)y=b;voidshowderived()cout<<"x="<<get()<<".y="<<y<<endl;;voidmain()baseb(3);De

14、rivedd;();();b=d;();baseb1=b;或base&b1=b;或baseb1(6);();base*pb=&bl;pb>showbase();();();輸出結(jié)果如下:x=3x=7x=6x=6x=6x=7x=648 .下面程序的運(yùn)行結(jié)果如下:B:display。C:display。在下劃線(xiàn)處填上缺少的部分。源程序如下:#include<iostream>publicvirtualvoiddisplay()cout<<"B:display()"<<endl;classC:publicBpublic:v

15、oiddisplay()cout<<"C:display()"<<endl;;voidfun(B*p)p>display();voidmain()Bb.*pb;Cc;pb=&b;fun(pb);pb=&c;fun(pb)49 .下面程序的運(yùn)行結(jié)果如下:ThisislinelThisisline2Thisisline3在下劃線(xiàn)處填上缺少的部分。源程序如下:#include<iostream>#include<fstream或"fstream”usingnamespacestd;voidmain()fst

16、reamfin,fout;("".ios:out);if(!()return;for(inti=0;i<3;i=i+1)fout<<"Thisisline"<<i+1<<endl();("".ios:in);if(!()returncharstr100;while(!();cout<<str<<endl;();50 .在下劃線(xiàn)處填上缺少的部分。源程序如下:#include<iostream>usingnamespacestd;template<clas

17、sT>或template<typenameT>Tfun(Tx)匚y;y=x*x-T(5);returny;voidmain()floata=2cout<<fun(a);五、程序分析題(本大題共4小題.每小題5分.共20分)51 .請(qǐng)寫(xiě)出文本文件中的內(nèi)容#include<iostream>#include<string>usingnamespacestd;#include<fstream>voidmain()ofstreammyFile1;("");cout<<"Enterthedatai

18、nChineseformat.25):"<<endl;stringDate("1")stringYear=;intk=(".");inti=("");stringMonth=(k+stringDay=(i+stringNewDate=Day+""+Month+""+YearmyFilel<<"originaldate"<<Date<<endl;myFile1<<"Converteddate:&qu

19、ot;<<NewDate<<endl;();originaldate:2008,January1Converteddate:1January200852 .給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;classSimpleint;public:Simple()x=y=0;Simple(intj)x=i;y=j;voidcopy(Simple&s);voidsetxy(intj)x=i;y=j;voidprint()cout<<"x="<<x<<&

20、quot;.y="<<y<<endl;;voidSimple:copy(Simple&s)x=;y=;voidfunc(Simple&s2)(30,40);;voidmain()Simpleobj1.obj2;(objl);func;();();x=1,y=2x=70,y=8053 .給出下面程序的輸出結(jié)果#include""intmain()inti=17while(i>=10)if(-i%4=3)continue;elsecout<<"i="<<i-<<endl;i=16i=14i=12i=1054 .給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;voidmain()intnum=300;int&ref=num;cout<<ref;ref=ref-100;cout&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論