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

下載本文檔

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

文檔簡介

C++程序設(shè)計(jì)試題一、單項(xiàng)選擇題(本大題共20小題,每小題1分,共20分)在每小題列出的四個(gè)備選項(xiàng)中只有一個(gè)是符合題目要求的,請將其代碼填寫在題后的括號內(nèi)。錯(cuò)選、多選或未選均無分。++源程序文件擴(kuò)展名為(A)A..cpp B..h C..1ib D..obj在C++(B)包含自定義頭文件的預(yù)處理指令(DA.#define<> B.#includeC.#define D.#include""用于標(biāo)識十六進(jìn)制前綴或后綴(DA.元 B.后綴L或eC.前綴零 D.前綴0x設(shè)存在整型變量intx(A)*p=&x;&p=x; &p=x; &p=x;D)設(shè)函數(shù)voidswap(int&,int&)將交換兩形參的值,如兩整型變量inta=10;intb=15;則執(zhí)行swap(a,b)bC),10 ,15,10 ,15(CA.前部B.中部后部D.兩端設(shè)存在函數(shù)intmin(int,int)15,26,47B)m=min(min(15,26),min(15,47));m=min(15,26,47);m=min(15,min(47,26));m=min(min(47,26),16);下列函數(shù)不能和函數(shù)voidprint(char)(Cprint(int);print(char,char);print(char);print(int,int);D)/2和//和7/2和7/2和/2l2.內(nèi)聯(lián)函數(shù)的特點(diǎn)是(D)A.減少代碼量,加快訪問速度 B.減少代碼量,減緩訪問速度C.增加代碼量,減緩訪問速度 D.增加代碼量,加快訪問速度A)本類的成員函數(shù)中C.通過對象名在任何位置D.不可訪問(BA.定義成員函數(shù)時(shí)B.定義對象時(shí)C.定義數(shù)據(jù)成員時(shí)D.定義友元函數(shù)時(shí)(D)A.可以重載 B.函數(shù)體中必須有delete語C.返回類型必須是void類型D.不能指定返回類型設(shè)有函數(shù)TSum(Ty){return,其中T為模板類型,則下列語句中對該函數(shù)錯(cuò)誤的使用是D)(1,2);;(‘A’,‘C’);("A","C");C)A.#include B.#define C.#else 18.(A)在創(chuàng)建對象前不存在不能說明為虛函數(shù)D.不是對象的成員l9.如果類A被聲明成類B的友元,則(D)A.類A的成員即類B的成員 B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D.類B不一定是類A的友元(DA.私有繼承的私有成員B.公有繼承的私有成員C.私有繼承的保護(hù)成員D.公有繼承的公有成員二、填空題(本大題共20小題,每小題1分,共20分)請?jiān)诿啃☆}的空格中填上正確答案。錯(cuò)填、不填均無分。若使用標(biāo)準(zhǔn)輸出流把整型變量a的值輸出到屏幕上,實(shí)現(xiàn)此操作的C++語句是cout<<a。++將數(shù)據(jù)從一個(gè)對象流向另一個(gè)對象的流動(dòng)抽象為“流”,從流中獲取數(shù)據(jù)的操作稱為提取操作。執(zhí)行下列代碼intb=100;cout<<"Hex:"<<hex<<b;Hex:64編譯時(shí)或編譯的多態(tài)性。++程序必須有且只有一個(gè)主函數(shù),其函數(shù)名為main。+complex<float>num,complex<double>。若有函數(shù)定義為:intadd(intml=0,intm2=2,intm3=4){returnml+m2+m3;}在主函數(shù)中有int則執(zhí)行此語句后s1528。++中使用inline關(guān)鍵字說明函數(shù)為內(nèi)聯(lián)函數(shù)。在源程序中有宏定義PI ,則若不想使該宏定義影響到程序的其它地方,可以使用#undefPI刪除該宏定義。數(shù)或成員函數(shù)。有下列代碼inta=0;doubleb=0;cin>>a>>b。對于類Point而言,其析構(gòu)函數(shù)的定義原型為Point::~Point(或~Point()。無關(guān)。類的簡單成員函數(shù)是指聲明中不含const、volatile、static關(guān)鍵字的函數(shù)。。派生。vector類中向向量尾部插入一個(gè)對象的方法是push_back(const。++中用于動(dòng)態(tài)創(chuàng)建對象,并返回該對象的指針的關(guān)鍵字是new。++的流類庫預(yù)定義的與標(biāo)準(zhǔn)輸出設(shè)備相聯(lián)接的流是cout。40.執(zhí)行下列代碼cout<<noshowpoint<<;123三、改錯(cuò)題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯(cuò)誤,請用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見。41.#include<>classf{private:floatpublic:f(floata,floatb){x=a;y=b;}floatmax(){return(x<y)?x:y;} //求最大值} ;main(f;cout<<()<<endl;}return(x<y)?x:y;return(x>y)?x:y;return(x<y)?y:x;42.#include<>classtest{private:intx;public:test(inta){x=a;}voidset(inta){x=a;}voidget(){cout<<x<<endl;}}main(){consttesta(3);(5);();}(5);a是常對象,不能被更新consttestconsta不再為常對象43.#include<>classpoint{private:floatpublic:f1(floata,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;改為();44.#include<>classf{private:intx,y;public:fl(inta,intb){x=a;y=b;}voidprint(){cout<<x<<y<<endl;}} ;main(){fa;;();},;f1()調(diào)用時(shí)實(shí)參與形參類型不一致45.#include<>main(){intx=6;constint*p=x;cout<<*p<<endl;}constint*p=x;p賦值必須加上&四、完成程序題(本大題共5小題,每小題4分,共20分)完成下面程序,使其輸出l0,并在退出運(yùn)行時(shí)正確釋放分配給指針的存儲(chǔ)空間#include <iostream>usingnamespacestd;voidmain(){int a=newint(10);p=_a_;deletep;或deletea;}#include <iostream>usingnamespacestd;classbase{private:intx;public:base(inta){x=a;}intget(){returnx;}voidshowbase() {cout<<"x="<<x<<endl;}};classDerived:publicbase{private:inty;public:Derived(inta,intb):base(a){y=b;}voidshowderived(){cout<<"x="<<get()<<",y="<<y<<endl;}};voidmain(){baseb(3);Derived();();b=d;();baseb1=b;或base&b1=b;或baseb1(6);();base*pb=&bl;pb—>showbase();();();}輸出結(jié)果如下:x=3x=6x=6x=6x=6,y=7x=6B: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);}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;charwhile(!({(str,100);cout<<str<<endl;}();}在下劃線處填上缺少的部分。源程序如下#include <iostream>usingnamespacestd;template<classT>或template<typenameT>Tfun(Tx){T return}voidmain(){floata=2;cout<<fun(a);}五、程序分析題(本大題共4小題,每小題5分,共20分)#include<iostream>#include <string>usingnamespace#include<fstream>voidmain(){ofstreammyFile1;("");cout<<"EnterthedatainChineseformat. ,2008,MaystringDate("2008,JanuarystringYear=(0,4);intk=(",");inti=("");stringMonth=(k+l,i-k-1);stringDay=(i+1,2);stringNewDate=Day+""+Month+""+Year;myFilel<<"originaldate:"<<Date<<endl;myFile1<<"Converteddate:"<<NewDate<<endl;();}originaldate:2008,January1Converteddate:1January2008#include<iostream>usingnamespacestd;classSimple{intpublic:Simple(inti,intj){x=i;y=j;}voidcopy(Simple&s);voidsetxy(inti,intj){x=i;y=j;}voidprint(){cout<<"x="<<x<<",y="<<y<<endl;}};voidSimple:copy(Simple&s){x=;y=;}voidfunc(Simples1,Simple&s2){(30,40);(70,80);}voidmain(){Simple(obj1);func(obj1,obj2);();();}x=1,y=2x=70,y=80#include""intmain(){inti=17;while(i>=10)if(--i%4==3)continue;elsecout<<"i="<<i--<<endl;}i=16 i=14 i=12 i=10#include<iostream>usingnamespacestd;voidmain(){intnum=300;int&ref=num;cout<<ref;ref=ref-100;cout<<"num=num-50;cout<<"}300200150六、程序設(shè)計(jì)題(本大題共1小題,共10分)定義堆棧類模板)如下二種基本操作:push入棧(2)pop#include<iostream>usingnamespacestd;template<classT,intsize>classStack{Tx[size];intcurrent;public:Stack(){current=0;}....push(. ....pop(. };請寫出兩個(gè)函數(shù)的

溫馨提示

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

最新文檔

評論

0/150

提交評論