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è),還剩20頁(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)中只有一個(gè)是符合題目要求的,請(qǐng)將其代碼填寫在題后的括號(hào)內(nèi)。錯(cuò)選、多選或未選均無(wú)分。++源程序文件擴(kuò)展名為(A).cppB..hC..1ibD..obj2?在C++中使用流進(jìn)行輸入輸出,其中專用于從鍵盤進(jìn)行輸入的流是(B)包含自定義頭文件的預(yù)處理指令是(D)#define<>B.#includeC.#defineD.#include""用于標(biāo)識(shí)十六進(jìn)制前綴或后綴是(D)元B.后綴L或eC.前綴零D.前綴Ox5?設(shè)存在整型變量intx,則下列句與其它三項(xiàng)含義不同的是(A)*p=&x;&p=x;&p=x;&p=x;在定義類成員時(shí),為產(chǎn)生封裝性,則需使用哪個(gè)關(guān)鍵字(D)設(shè)函數(shù)voidswap(int&,int&)將交換兩形參的值,如兩整型變量inta=10;intb=15;則執(zhí)行swap(a,b)后,a、b值分別為(C)

,10,15,10,15,10,15函數(shù)默認(rèn)參數(shù)在函數(shù)原型中說(shuō)明,默認(rèn)參數(shù)必須放在參數(shù)序列的(C)前部B.中部C?后部D.兩端設(shè)存在函數(shù)intmin(int,int)返回兩參數(shù)中較小值,若求15,26,47三者中最小值,下列表達(dá)式中錯(cuò)誤的是(B)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);10?下列函數(shù)不能和函數(shù)voidprint(char)構(gòu)成重載的是(C)print(int);print(char,char);print(char);print(int,int);在下列成對(duì)的表達(dá)式中,運(yùn)算結(jié)果類型相同的一對(duì)是(D)/2和//和7/2和7/2和/2二、填空題(本大題共二、填空題(本大題共20小題,每小題1分,共20分)內(nèi)聯(lián)函數(shù)的特點(diǎn)是(D)A.減少代碼量,加快訪問(wèn)速度B.減少代碼量,減緩訪問(wèn)速度C.增加代碼量,減緩訪問(wèn)速度D.增加代碼量,加快訪問(wèn)速度類的私有成員可在何處被訪問(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(Tx,Ty){returnx+y;},其中T為模板類型,則下列語(yǔ)句中對(duì)該函數(shù)錯(cuò)誤的使用是(D)(1,2);(‘A'C');(‘A'C');("A","C");下列哪個(gè)編譯指令屬于條件編譯指令(C)A.#includeB.#defineC.#elseD.#pragma關(guān)于類的靜態(tài)成員函數(shù)描述錯(cuò)誤的是(A)在創(chuàng)建對(duì)象前不存在不能說(shuō)明為虛函數(shù)不能直接訪問(wèn)非靜態(tài)函數(shù)不是對(duì)象的成員如果類A被聲明成類B的友元,貝0(D)A.類A的成員即類B的成員B.類B的成員即類A的成員類A的成員函數(shù)不得訪問(wèn)類B的成員類B不一定是類A的友元派生類的對(duì)象可以訪問(wèn)以下那種情況繼承的基類成員(D)私有繼承的私有成員公有繼承的私有成員私有繼承的保護(hù)成員公有繼承的公有成員請(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ǔ)句是complex<float>num,或complex<double>num,若有函數(shù)定義為:intadd(intml=0,intm2=2,intm3=4){returnml+m2+m3;}在主函數(shù)中有ints=add(1)+add(0,l)+add(O,1,2);則執(zhí)行此語(yǔ)句后s的值為1528++中使用inline關(guān)鍵字說(shuō)明函數(shù)為內(nèi)聯(lián)函數(shù)。在源程序中有宏定義:#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ò)程稱為派生在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)接的流是cout執(zhí)行下列代碼cout<<noshowpoint<<;程序輸出結(jié)果是123三、改錯(cuò)題(本大題共5小題,每小題2分,共10分)下面的類定義中有一處錯(cuò)誤,請(qǐng)用下橫線標(biāo)出錯(cuò)誤所在行并給出修改意見(jiàn)#include<>classf{private:floatx,y;public:f(floata,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: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<<<<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:intx,y;public:fl(inta,intb){x=a;y=b;}voidshowderived()voidshowderived()voidshowderived()voidshowderived()voidmain()voidmain()voidprint(){cout<<x<<y<<endl;}};main(){fa;,;();},;f1()調(diào)用時(shí)實(shí)參與形參類型不一致#include<>main(){intx=6;constint*p=x;cout<<*p<<endl;}constint*p=x;變量給指針p賦值必須加上&四、完成程序題(本大題共5小題,每小題4分,共20分)完成下面程序,使其輸出10,并在退出運(yùn)行時(shí)正確釋放分配給指針的存儲(chǔ)空間。#include<iostream>usingnamespacestd;int*a,*p;a=newint(10);P=_a_;cout<<*p<<endl;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;}{cout<<"x="<<get()<<",y="<<y<<endl;}};voidmain(){baseb(3);Derivedd(6,7);();();b=d;();baseb1=b;或base&b1=b;或baseb1(6);();base*pb=&bl;pb—>showbase();();();}輸出結(jié)果如下:x=3x=6,y=7#include<iostream>#include<iostream>voidvoiddisplay(){cout<<"C::display()"<<endl;}x=6x=6x=6x=6,y=7x=6下面程序的運(yùn)行結(jié)果如下:B::display()C::display()在下劃線處填上缺少的部分。源程序如下:#include<iostream>usingnamespacestd;classB{public:virtualvoiddisplay(){cout<<"B::display()"<<endl;}};classC:publicB{public:};voidfun(B*p){p—>display();}voidmain(){Bb,*pb;Cc;pb=&b;fun(pb);pb=&c;fun(pb);}下面程序的運(yùn)行結(jié)果如下:Thisisline1Thisisline2Thisisline3在下劃線處填上缺少的部分。源程序如下#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(!()){(str,100);cout<<str<<endl;();}在下劃線處填上缺少的部分。源程序如下:#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分)請(qǐng)寫出文本文件中的內(nèi)容#include<string>usingnamespacestd;#include<fstream>voidmain(){ofstreammyFile1;("");cout<<"EnterthedatainChineseformat.,2008,May25):"<<endl;stringDate("2008,January1");stringYear=(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給出下面程序的輸出結(jié)果#include<iostream>usingnamespacestd;classSimple{intx,y;public:Simple(){x=y=0;}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(){Simpleobj1(1,2),obj2;(obj1);func(obj1,obj2);();();}x=1,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;voidmain(){intnum=300;int&ref=num;cout

溫馨提示

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