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è),還剩13頁(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)介

C++程序設(shè)計(jì)試題一、單項(xiàng)選取題(本大題共20小題.每小題1分.共20分)在每小題列出四個(gè)備選項(xiàng)中只有一種是符合題目規(guī)定.請(qǐng)將其代碼填寫(xiě)在題后括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。1.C++源程序文獻(xiàn)擴(kuò)展名為(A)A..cppB..hC..1ibD..obj2.在C++中使用流進(jìn)行輸入輸出.其中專用于從鍵盤(pán)進(jìn)行輸入流是(B)A.cerrB.cinC.coutD.cfile3.包括自定義頭文獻(xiàn)file.h預(yù)解決指令是(D)A.#define<file.h>B.#includefile.hC.#definefile.h4.用于標(biāo)記十六進(jìn)制前綴或后綴是(D)A.元B.后綴L或eD.#include"file.h"C.前綴零D.前綴0x5.設(shè)存在整型變量intx.則下列句與其他三項(xiàng)含義不同是(A)A.int*p=&x;B.int&p=x;C.int&p=x;6.在定義類(lèi)成員時(shí).為產(chǎn)生封裝性.則需使用哪個(gè)核心字(D)B.publishC.protectedD.int&p=x;A.publicD.private7.設(shè)函數(shù)voidswap(int&.int&)將互換兩形參值.如兩整型變量inta=10;intb=15;則執(zhí)行swap(a.b)后.a、b值分別為(C)A.10.10B.10.15D.15.15C.15.108.函數(shù)默認(rèn)參數(shù)在函數(shù)原型中闡明.默認(rèn)參數(shù)必要放在參數(shù)序列(C)A.前部B.中部C.后部D.兩端9.設(shè)存在函數(shù)intmin()返回兩參數(shù)中較小值.若求15.26.47三者中最小值.下列表達(dá)式中錯(cuò)誤是(B)A.intm=min(min(15.26).min(15.47));B.intm=min(15.26.47);C.intm=min(15.min(47.26));D.intm=min(min(47.26).16);10.下列函數(shù)不能和函數(shù)voidprint(char)構(gòu)成重載是(C)A.intprint(int);B.voidprint(char.char);C.intprint(char);D.voidprint();11.在下列成對(duì)表達(dá)式中.運(yùn)算成果類(lèi)型相似一對(duì)是(D)A.7/2和7.0/2.0B.7/2.0和7/2C.7.0/2和7/2D.7.0/2.0和7.0/2l2.內(nèi)聯(lián)函數(shù)特點(diǎn)是(D)A.減少代碼量.加快訪問(wèn)速度B.減少代碼量.減緩訪問(wèn)速度C.增長(zhǎng)代碼量.減緩訪問(wèn)速度D.增長(zhǎng)代碼量.加快訪問(wèn)速度13.類(lèi)私有成員可在何處被訪問(wèn)(A)A.本類(lèi)成員函數(shù)中B.本類(lèi)及子類(lèi)成員函數(shù)中C.通過(guò)對(duì)象名在任何位置D.不可訪問(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.定義友元函數(shù)時(shí)15.下列關(guān)于析構(gòu)函數(shù)描述對(duì)的是(D)A.可以重載B.函數(shù)體中必要有delete語(yǔ)句C.返回類(lèi)型必要是void類(lèi)型D.不能指定返回類(lèi)型16.設(shè)有函數(shù)TSum(Tx.Ty){returnx+y;}.其中T為模板類(lèi)型.則下列語(yǔ)句中對(duì)該函數(shù)錯(cuò)誤使用是(D)A.Sum(1.2);B.Sum();C.Sum(‘A’.‘C’);D.Sum("A"."C");17.下列哪個(gè)編譯指令屬于條件編譯指令(C)A.#includeB.#defineC.#elseD.#pragma18.關(guān)于類(lèi)靜態(tài)成員函數(shù)描述錯(cuò)誤是(A)A.在創(chuàng)立對(duì)象前不存在B.不能闡明為虛函數(shù)C.不能直接訪問(wèn)非靜態(tài)函數(shù)D.不是對(duì)象成員l9.如果類(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ù)不得訪問(wèn)類(lèi)B成員D.類(lèi)B不一定是類(lèi)A友元20.派生類(lèi)對(duì)象可以訪問(wèn)如下那種狀況繼承基類(lèi)成員(D)A.私有繼承私有成員B.公有繼承私有成員C.私有繼承保護(hù)成員D.公有繼承公有成員二、填空題(本大題共20小題.每小題1分.共20分)請(qǐng)?jiān)诿啃☆}空格中填上對(duì)的答案。錯(cuò)填、不填均無(wú)分。21.若使用原則輸出流把整型變量a值輸出到屏幕上.實(shí)現(xiàn)此操作C++語(yǔ)句是cout<<a。22.C++將數(shù)據(jù)從一種對(duì)象流向另一種對(duì)象流動(dòng)抽象為“流”.從流中獲取數(shù)據(jù)操作稱為提取操作。23.執(zhí)行下列代碼intb=100;cout<<"Hex:"<<hex<<b;程序輸出成果是Hex:64。24.靜態(tài)聯(lián)編所支持多態(tài)性稱為編譯時(shí)或編譯多態(tài)性。25.C++程序必要有且只有一種主函數(shù).其函數(shù)名為main。26.寫(xiě)出聲明一種復(fù)數(shù)對(duì)象語(yǔ)句.并使該對(duì)象被初始化為2.2+1.3i.此聲明語(yǔ)句是complex<float>num(2.2,1.3)或complex<double>num(2.2,1.3)。27.若有函數(shù)定義為:intadd(intml=0.intm2=2.intm3=4){returnml+m2+m3;}在主函數(shù)中有ints=add(1)+add(0.1)+add(0.1.2);則執(zhí)行此語(yǔ)句后s值為1528。28.C++中使用inline核心字闡明函數(shù)為內(nèi)聯(lián)函數(shù)。29.在源程序中有宏定義:#definePI3.14.則若不想使該宏定義影響到程序其他地方.可以使用#undefPI刪除該宏定義。30.類(lèi)和其他數(shù)據(jù)類(lèi)型不同是.構(gòu)成這種類(lèi)型不但可以有數(shù)據(jù).還可以有對(duì)數(shù)據(jù)進(jìn)行操作函數(shù)或成員函數(shù)。31.有下列代碼inta=0;doubleb=0;cin>>a>>b;當(dāng)用鍵盤(pán)輸入1.25時(shí).b=0.25。32.對(duì)于類(lèi)Point而言.其析構(gòu)函數(shù)定義原型為Point::~Point()或~Point()。33.對(duì)象成員構(gòu)造函數(shù)調(diào)用順序取決于這些對(duì)象在類(lèi)中闡明順序.與它們?cè)诔蓡T初始化列表中給出順序無(wú)關(guān)。34.類(lèi)簡(jiǎn)樸成員函數(shù)是指聲明中不含const、volatile、static核心字函數(shù)。35.與操作對(duì)象數(shù)據(jù)類(lèi)型互相獨(dú)立算法稱為泛型算法。36.從一種或各種此前定義類(lèi)產(chǎn)生新類(lèi)過(guò)程稱為派生。37.在vector類(lèi)中向向量尾部插入一種對(duì)象辦法是push_back(constT&)。38.C++中用于動(dòng)態(tài)創(chuàng)立對(duì)象.并返回該對(duì)象指針核心字是new。39.C++流類(lèi)庫(kù)預(yù)定義與原則輸出設(shè)備相聯(lián)接流是cout。40.執(zhí)行下列代碼cout<<noshowpoint<<123.0;程序輸出成果是123。三、改錯(cuò)題(本大題共5小題.每小題2分.共10分)下面類(lèi)定義中有一處錯(cuò)誤.請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見(jiàn)。41.#include<iostream.h>classf{private:floatx.y;public:f(floata.floatb){x=a;y=b;}floatmax(){return(x<y)?x:y;}//求最大值};main(){fa();cout<<a.max()<<endl;}return(x<y)?x:y;該語(yǔ)句求是最小值.應(yīng)改為return(x>y)?x:y;或return(x<y)?y:x;42.#include<iostream.h>classtest{private:intx;public:test(inta){x=a;}voidset(inta){x=a;}voidget(){cout<<x<<endl;}}main(){consttesta(3);a.set(5);a.get();}a.set(5);a是常對(duì)象.不能被更新或consttesta(3);去掉const使a不再為常對(duì)象43.#include<iostream.h>classpoint{private:floatx.y;public:f1(floata.floatb){x=a;y=b;}point(){x=0;y=0;}voidgetx(){cout<<x<<endl;}voidgety(){cout<<y<<endl;}};voidprint(pointa){cout<<a.x<<endl;}main(){pointa;a.f1();print(a);}print(pointa){cout<<a.x<<endl;}print()不是成員函數(shù)不容許直接調(diào)用a.x或?qū)rivate:floatx,y;改為public:floatx,y;或cour<<a.x<<endl;改為a.getx();44.#include<iostream.h>classf{private:intx.y;public:fl(b){x=a;y=b;}voidprint(){cout<<x<<y<<endl;}};main(){fa;a.f1();a.print();}a.f1(1.5,1.8);f1()調(diào)用時(shí)實(shí)參加形參類(lèi)型不一致45.#include<iostream.h>main(){intx=6;constint*p=x;cout<<*p<<endl;}constint*p=x;變量給指針p賦值必要加上&四、完畢程序題(本大題共5小題.每小題4分.共20分)46.完畢下面程序.使其輸出l0.并在退出運(yùn)營(yíng)時(shí)對(duì)的釋放分派給指針存儲(chǔ)空間。#include<iostream>usingnamespacestd;voidmain(){int*a.*p;a=newint(10);p=_a_;cout<<*p<<endl;deletep;或deletea;}47.#include<iostream>usingnamespacestd;classbase{private:intx;public:base(inta){x=a;}intget(){returnx;}voidshowbase(){cout<<"x="<<x<<endl;}};classDerived:publicbase{private:inty;public:Derived(b):base(a){y=b;}voidshowderived(){cout<<"x="<<get()<<".y="<<y<<endl;}};voidmain(){baseb(3);Derivedd(6.7);b.showbase();d.showderived();b=d;b.showbase();baseb1=b;或base&b1=b;或baseb1(6);b1.showbase();base*pb=&bl;pb—>showbase();d.showderived();b.showbase();}輸出成果如下:x=3x=6.y=7x=6x=6x=6x=6.y=7x=648.下面程序運(yùn)營(yíng)成果如下:B::display()C::display()在下劃線處填上缺少某些。源程序如下:#include<iostream>usingnamespacestd;classB{public:virtualvoiddisplay(){cout<<"B::display()"<<endl;}};classC:publicB{public:voiddisplay(){cout<<"C::display()"<<endl;}};voidfun(B*p){p—>display();}voidmain(){Bb.*pb;Cc;pb=&b;fun(pb);pb=&c;fun(pb);}49.下面程序運(yùn)營(yíng)成果如下:Thisisline1Thisisline2Thisisline3在下劃線處填上缺少某些。源程序如下:#include<iostream>#include<fstream或”fstream”usingnamespacestd;voidmain(){fstreamfin,fout;fout.open("my.txt".ios::out);if(!fout.is_open())return;for(inti=0;i<3;i=i+1)fout<<"Thisisline"<<i+1<<endl;fout.close();fin.open("my.txt".ios::in);if(!fin.is_open())return;charstr[100];while(!fin.eof()){fin.getline(str.100);cout<<str<<endl;}fin.close();}50.在下劃線處填上缺少某些。源程序如下:#include<iostream>usingnamespacestd;template<classT>或template<typenameT>Tfun(Tx){Ty;y=x*x-T(5);returny;}voidmain(){floata=2;cout<<fun(a);}五、程序分析題(本大題共4小題.每小題5分.共20分)51.請(qǐng)寫(xiě)出myTextl.txt文本文獻(xiàn)中內(nèi)容#include<iostream>#include<string>usingnamespacestd;#include<fstream>voidmain(){ofstreammyFile1;myFilel.open("myTextl.txt");cout<<"EnterthedatainChineseformat(e.g...May25):"<<endl;stringDate(".January1");stringYear=Date.substr(0.4);intk=Date.find(".");inti=Date.find("");stringMonth=Date.substr(k+l.i-k-1);stringDay=Date.substr(i+1.2);stringNewDate=Day+""+Month+""+Year;myFilel<<"originaldate:"<<Date<<endl;myFile1<<"Converteddate:"<<NewDate<<endl;myFilel.close();}originaldate:,January1Converteddate:1January52.給出下面程序輸出成果#include<iostream>usingnamespacestd;classSimple{intx.y;public:Simple(){x=y=0;}Simple(j){x=i;y=j;}voidcopy(Simple&s);voidsetxy(j){x=i;y=j;}voidprint(){cout<<"x="<<x<<".y="<<y<<endl;}};voidSimple::copy(Simple&s){x=s.x;y=s.y;}voidfunc(Simples1.Simple&s2){s1.setxy(30,40);s2.setxy(70.80);}voidmain(){Simpleobj1(1.2).obj2;obj2.copy(obj1);func(obj1.obj2);obj1.print();obj2.print();}x=1,y=2x=70,y=8053.給出下面程序輸出成果#include"iostream.h"intmain(){inti=17;while(i>=10)if(--i%4==3)continue;elsecout<<"i="<<i--<<endl;}i=16i=14i=12i=1054.給出下面程序輸出成果#include<iostream>us

溫馨提示

  • 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)論