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

文檔簡(jiǎn)介

3+程序設(shè)計(jì)試題一、單項(xiàng)選擇題(本大題共20小題.每小題1分.共20分)在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的.請(qǐng)將其代碼填寫在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。++源程序文件擴(kuò)展名為(A)A..cppB..hC..1ibD..obj2?在C++中使用流進(jì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.前綴Ox5?設(shè)存在整型變量intx.則下列句與其它三項(xiàng)含義不同的是(A)*p=&x;&p=x;&p=x;&p=x;6?在定義類成員時(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.兩端設(shè)存在函數(shù)intmin返回兩參數(shù)中較小值.若求三者中最小值.下列表達(dá)式中錯(cuò)誤的是(B)m=min(min.min);m=min;m=min);m=min(min.16);下列函數(shù)不能和函數(shù)voidprint(char)構(gòu)成重載的是(C)print(int);print;print(char);print;11?在下列成對(duì)的表達(dá)式中?運(yùn)算結(jié)果類型相同的一對(duì)是(D)/2和//和7/2和7/2和/212.內(nèi)聯(lián)函數(shù)的特點(diǎn)是(D)減少代碼量.加快訪問(wèn)速度B.減少代碼量.減緩訪問(wèn)速度C.增加代碼量.減緩訪問(wèn)速度D.增加代碼量.加快訪問(wèn)速度13?類的私有成員可在何處被訪問(wèn)(A)

本類的成員函數(shù)中本類及子類的成員函數(shù)中通過(guò)對(duì)象名在任何位置不可訪問(wèn)類的構(gòu)造函數(shù)在以下什么情況下會(huì)被自動(dòng)調(diào)用(B)定義成員函數(shù)時(shí)定義對(duì)象時(shí)定義數(shù)據(jù)成員時(shí)定義友元函數(shù)時(shí)下列關(guān)于析構(gòu)函數(shù)描述正確的是(D)A.可以重載B.函數(shù)體中必須有delete語(yǔ)句返回類型必須是void類型不能指定返回類型設(shè)有函數(shù)TSum(Ty){returnx+y;}?其中T為模板類型?則下列語(yǔ)句中對(duì)該函數(shù)錯(cuò)誤的使用是(D);('A'.'C');("A"."C");下列哪個(gè)編譯指令屬于條件編譯指令(C)A.#includeB.#defineC.#elseA.#includeB.#defineC.#elseD.#pragma關(guān)于類的靜態(tài)成員函數(shù)描述錯(cuò)誤的是(A)在創(chuàng)建對(duì)象前不存在不能說(shuō)明為虛函數(shù)不能直接訪問(wèn)非靜態(tài)函數(shù)不是對(duì)象的成員如果類A被聲明成類B的友元.則(D)A.類A的成員即類B的成員B.類B的成員即類A的成員類A的成員函數(shù)不得訪問(wèn)類B的成員類B不一定是類A的友元派生類的對(duì)象可以訪問(wèn)以下那種情況繼承的基類成員(D)私有繼承的私有成員公有繼承的私有成員私有繼承的保護(hù)成員公有繼承的公有成員二、填空題(本大題共20小題.每小題1分.共20分)請(qǐng)?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無(wú)分。若使用標(biāo)準(zhǔn)輸出流把整型變量a的值輸出到屏幕上.實(shí)現(xiàn)此操作的C++語(yǔ)句是cout〈〈a++將數(shù)據(jù)從一個(gè)對(duì)象流向另一個(gè)對(duì)象的流動(dòng)抽象為“流”?從流中獲取數(shù)據(jù)的操作稱為提取操作執(zhí)行下列代碼intb=100;cout<<"Hex:"<<hex<<b;程序的輸出結(jié)果是Hex:64靜態(tài)聯(lián)編所支持的多態(tài)性稱為編譯時(shí)或編譯的多態(tài)性。++程序必須有且只有一個(gè)主函數(shù).其函數(shù)名為main寫出聲明一個(gè)復(fù)數(shù)對(duì)象的語(yǔ)句.并使該對(duì)象被初始化為+.此聲明語(yǔ)句是complexfloat>num,或complex<double>num,若有函數(shù)定義為:intadd(intml=m2=m3=4){returnml+m2+m3;}在主函數(shù)中有ints=add(l)+add+add;則執(zhí)行此語(yǔ)句后s的值為1528++中使用inline關(guān)鍵字說(shuō)明函數(shù)為內(nèi)聯(lián)函數(shù)。29?在源程序中有宏定義:#definePI?則若不想使該宏定義影響到程序的其它地方.可以使用#undefPI刪除該宏定義。類和其它數(shù)據(jù)類型不同的是.組成這種類型的不僅可以有數(shù)據(jù).還可以有對(duì)數(shù)據(jù)進(jìn)行操作的函數(shù)或成員函數(shù)有下列代碼inta=0;doubleb=0;cin>>a>>b;當(dāng)用鍵盤輸入時(shí).b=。對(duì)于類Point而言.其析構(gòu)函數(shù)的定義原型為Point::~Point()或~Point()對(duì)象成員構(gòu)造函數(shù)的調(diào)用順序取決于這些對(duì)象在類中說(shuō)明的順序.與它們?cè)诔蓡T初始化列表中給出的順序無(wú)關(guān)類的簡(jiǎn)單成員函數(shù)是指聲明中不含const、volatile、static關(guān)鍵字的函數(shù)。與操作對(duì)象的數(shù)據(jù)類型相互獨(dú)立的算法稱為泛型算法從一個(gè)或多個(gè)以前定義的類產(chǎn)生新類的過(guò)程稱為派生37.在vector類中向向量尾部插入一個(gè)對(duì)象的方法是push_back(constT&)++中用于動(dòng)態(tài)創(chuàng)建對(duì)象?并返回該對(duì)象的指針的關(guān)鍵字是new++的流類庫(kù)預(yù)定義的與標(biāo)準(zhǔn)輸出設(shè)備相聯(lián)接的流是cout40.執(zhí)行下列代碼cout<<noshowpoint<<;程序輸出結(jié)果是12L三、改錯(cuò)題(本大題共5小題.每小題2分.共10分)下面的類定義中有一處錯(cuò)誤.請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。#include<>classf{private: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;#include<>classtest{private:intx;public:test(inta){x=a;}voidset(inta){x=a;}voidget(){cout<<x<<endl;}}main(){consttesta(3);(5);();}(5);a是常對(duì)象.不能被更新或consttesta(3);去掉const使a不再為常對(duì)象#include<>classpoint{private:float;public:f1(floatb){x=a;y=b;}point(){x=0;y=0;}voidgetx(){cout<<x<<endl;}voidgety(){cout<<y<<endl;}};voidprint(pointa){cout<<<<endl;}main(){pointa;print(a);}print(pointa){cout<<<<endl;}print()不是成員函數(shù)不允許直接調(diào)用或?qū)rivate:floatx,y;改為public:floatx,y;或cour<<<<endl;改為();#include<>classf{private:int;public:fl(intb){x=a;y=b;}voidprint(){cout<<x<<y<<endl;}};main(){fa;();},;f1()調(diào)用時(shí)實(shí)參與形參類型不一致usingnamespacestd;usingnamespacestd;#include<>main(){intx=6;constint*p=x;cout<<*p<<endl;}constint*p=x;變量給指針p賦值必須加上&四、完成程序題(本大題共5小題.每小題4分.共20分)完成下面程序?使其輸出lO.并在退出運(yùn)行時(shí)正確釋放分配給指針的存儲(chǔ)空間。#include<iostream>usingnamespacestd;voidmain(){int*a.*p;a=newint(1O);p=_a_;cout<<*p<<endl;deletep;或deletea:}#include<iostream>classbase{private:intx;public:base(inta){x=a;}intget(){returnx;}voidshowbase(){cout<<"x="<<x<<endl;}};classDerived:publicbase{private:inty;public:Derived(intb):base(a){y=b;}voidshowderived(){cout<<"x="<<get()<<".y="<<y<<endl;}};voidmain(){baseb(3);Derivedd;();();b=d;();basebl=b:或base&bl=b:或basebl(6):();base*pb=&bl;pb—>showbase();();();}輸出結(jié)果如下:x=3x==7x=6x=6x=6x==7x=6下面程序的運(yùn)行結(jié)果如下:B::display()C::display()在下劃線處填上缺少的部分。源程序如下#include<iostream>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);}下面程序的運(yùn)行結(jié)果如下:Thisisline1Thisisline2Thisisline3在下劃線處填上缺少的部分。源程序如下#include<iostream>#include<fstream或"fstream"usingnamespacestd;voidmain(){fstreamfin,fout;("".ios::out);if(!())return;for(inti=0;i<3;i=i+1)fout<<"Thisisline"<<i+1<<endl;();("".ios::in);if(!()){{{{return;charstr[100];while(!()){cout<<str<<endl;}();}在下劃線處填上缺少的部分。源程序如下#include<iostream>usingnamespacestd;template<classT>或template<typenameT>Tfun(Tx){工y;y=x*x-T(5);returny;}voidmain()floata=2;cout<<fun(a);}五、程序分析題(本大題共4小題.每小題5分.共20分)請(qǐng)寫出文本文件中的內(nèi)容#include<iostream>#include<string>usingnamespacestd;#include<fstream>voidmain(){ofstreammyFile1;("");cout<<"EnterthedatainChineseformat..25):"<<endl;stringDate("1");stringYear=;intk=(".");inti=("");stringMonth=(k+;stringDay=(i+;stringNewDate=Day+""+Month+""+Year;{{{{{{myFilel<<"originaldate:"<<Date<<endl;myFile1<<"Converteddate:"<<NewDate<<endl;();}originaldate:2008January1Converteddate:lJanuary2008給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;classSimple{int;public:Simple(){x=y=0;}Simple(intj){x=i;y=j;}voidcopy(Simple&s);voidsetxy(intj){x=i;y=j;}voidprint(){cout<<"x="<<x<<".y="<<y<<endl;}};voidSimple::copy(Simple&s)x=;y=;}voidfunc(Simple&s2){(30,40);}voidmain(){Simpleobj1.obj2;(obj1);func;();();}x=l.y=2x=70.y=80給出下面程序的輸出結(jié)果#include""intmain()inti=17;while(i>=10)if(--i%4==3)continue;elsecout<<"i="<<i--<<endl;}i=16i=14i=12i=10給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;voidmai

溫馨提示

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